[Home] [Help]
PACKAGE BODY: APPS.ZX_JL_EXTRACT_PKG
Source
1 PACKAGE BODY ZX_JL_EXTRACT_PKG AS
2 /* $Header: zxriextrajlppvtb.pls 120.38.12010000.2 2008/11/12 12:44:55 spasala ship $ */
3
4
5 -----------------------------------------
6 --Private Type
7
8 -----------------------------------------
9 --
10
11 TYPE GDF_RA_CUST_TRX_ATT19_TBL IS TABLE OF
12 ZX_REP_TRX_JX_EXT_T.GDF_RA_CUST_TRX_ATT19%TYPE INDEX BY BINARY_INTEGER;
13
14 TYPE DOCUMENT_SUB_TYPE_MNG_TBL IS TABLE OF
15 ZX_REP_TRX_JX_EXT_T.DOCUMENT_SUB_TYPE_MNG%TYPE INDEX BY BINARY_INTEGER;
16
17 TYPE NUMERIC1_TBL IS TABLE OF
18 ZX_REP_TRX_JX_EXT_T.NUMERIC1%TYPE INDEX BY BINARY_INTEGER;
19
20 TYPE NUMERIC2_TBL IS TABLE OF
21 ZX_REP_TRX_JX_EXT_T.NUMERIC2%TYPE INDEX BY BINARY_INTEGER;
22
23 TYPE NUMERIC3_TBL IS TABLE OF
24 ZX_REP_TRX_JX_EXT_T.NUMERIC3%TYPE INDEX BY BINARY_INTEGER;
25
26 TYPE NUMERIC4_TBL IS TABLE OF
27 ZX_REP_TRX_JX_EXT_T.NUMERIC4%TYPE INDEX BY BINARY_INTEGER;
28
29 TYPE NUMERIC5_TBL IS TABLE OF
30 ZX_REP_TRX_JX_EXT_T.NUMERIC5%TYPE INDEX BY BINARY_INTEGER;
31
32 TYPE NUMERIC6_TBL IS TABLE OF
33 ZX_REP_TRX_JX_EXT_T.NUMERIC6%TYPE INDEX BY BINARY_INTEGER;
34
35 TYPE NUMERIC7_TBL IS TABLE OF
36 ZX_REP_TRX_JX_EXT_T.NUMERIC7%TYPE INDEX BY BINARY_INTEGER;
37
38 TYPE NUMERIC8_TBL IS TABLE OF
39 ZX_REP_TRX_JX_EXT_T.NUMERIC8%TYPE INDEX BY BINARY_INTEGER;
40
41 TYPE NUMERIC9_TBL IS TABLE OF
42 ZX_REP_TRX_JX_EXT_T.NUMERIC9%TYPE INDEX BY BINARY_INTEGER;
43
44 TYPE NUMERIC10_TBL IS TABLE OF
45 ZX_REP_TRX_JX_EXT_T.NUMERIC10%TYPE INDEX BY BINARY_INTEGER;
46
47 TYPE NUMERIC11_TBL IS TABLE OF
48 ZX_REP_TRX_JX_EXT_T.NUMERIC11%TYPE INDEX BY BINARY_INTEGER;
49
50 TYPE NUMERIC12_TBL IS TABLE OF
51 ZX_REP_TRX_JX_EXT_T.NUMERIC12%TYPE INDEX BY BINARY_INTEGER;
52
53 TYPE NUMERIC13_TBL IS TABLE OF
54 ZX_REP_TRX_JX_EXT_T.NUMERIC13%TYPE INDEX BY BINARY_INTEGER;
55
56 TYPE NUMERIC14_TBL IS TABLE OF
57 ZX_REP_TRX_JX_EXT_T.NUMERIC14%TYPE INDEX BY BINARY_INTEGER;
58
59 TYPE NUMERIC15_TBL IS TABLE OF
60 ZX_REP_TRX_JX_EXT_T.NUMERIC15%TYPE INDEX BY BINARY_INTEGER;
61
62 TYPE NUMERIC16_TBL IS TABLE OF
63 ZX_REP_TRX_JX_EXT_T.NUMERIC1%TYPE INDEX BY BINARY_INTEGER;
64
65 TYPE ATTRIBUTE1_TBL IS TABLE OF
66 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE1%TYPE INDEX BY BINARY_INTEGER;
67
68 TYPE ATTRIBUTE2_TBL IS TABLE OF
69 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE2%TYPE INDEX BY BINARY_INTEGER;
70
71 TYPE ATTRIBUTE3_TBL IS TABLE OF
72 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE3%TYPE INDEX BY BINARY_INTEGER;
73
74 TYPE ATTRIBUTE4_TBL IS TABLE OF
75 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE4%TYPE INDEX BY BINARY_INTEGER;
76
77 TYPE ATTRIBUTE5_TBL IS TABLE OF
78 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE5%TYPE INDEX BY BINARY_INTEGER;
79
80 TYPE ATTRIBUTE6_TBL IS TABLE OF
81 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE6%TYPE INDEX BY BINARY_INTEGER;
82
83 TYPE ATTRIBUTE7_TBL IS TABLE OF
84 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE7%TYPE INDEX BY BINARY_INTEGER;
85
86 TYPE ATTRIBUTE8_TBL IS TABLE OF
87 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE8%TYPE INDEX BY BINARY_INTEGER;
88
89 TYPE ATTRIBUTE9_TBL IS TABLE OF
90 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE9%TYPE INDEX BY BINARY_INTEGER;
91
92 TYPE ATTRIBUTE10_TBL IS TABLE OF
93 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE10%TYPE INDEX BY BINARY_INTEGER;
94
95 TYPE ATTRIBUTE11_TBL IS TABLE OF
96 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE11%TYPE INDEX BY BINARY_INTEGER;
97
98 TYPE ATTRIBUTE12_TBL IS TABLE OF
99 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE12%TYPE INDEX BY BINARY_INTEGER;
100
101 TYPE ATTRIBUTE13_TBL IS TABLE OF
102 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE13%TYPE INDEX BY BINARY_INTEGER;
103
104 TYPE ATTRIBUTE14_TBL IS TABLE OF
105 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE14%TYPE INDEX BY BINARY_INTEGER;
106
107 TYPE ATTRIBUTE15_TBL IS TABLE OF
108 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE15%TYPE INDEX BY BINARY_INTEGER;
109
110 TYPE ATTRIBUTE16_TBL IS TABLE OF
111 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE16%TYPE INDEX BY BINARY_INTEGER;
112
113 TYPE ATTRIBUTE17_TBL IS TABLE OF
114 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE17%TYPE INDEX BY BINARY_INTEGER;
115
116 TYPE ATTRIBUTE18_TBL IS TABLE OF
117 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE18%TYPE INDEX BY BINARY_INTEGER;
118
119 TYPE ATTRIBUTE19_TBL IS TABLE OF
120 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE19%TYPE INDEX BY BINARY_INTEGER;
121
122 TYPE ATTRIBUTE20_TBL IS TABLE OF
123 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE20%TYPE INDEX BY BINARY_INTEGER;
124
125 TYPE ATTRIBUTE21_TBL IS TABLE OF
126 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE21%TYPE INDEX BY BINARY_INTEGER;
127
128 TYPE ATTRIBUTE22_TBL IS TABLE OF
129 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE22%TYPE INDEX BY BINARY_INTEGER;
130
131 TYPE ATTRIBUTE23_TBL IS TABLE OF
132 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE23%TYPE INDEX BY BINARY_INTEGER;
133
134 TYPE ATTRIBUTE25_TBL IS TABLE OF
135 ZX_REP_TRX_JX_EXT_T.ATTRIBUTE23%TYPE INDEX BY BINARY_INTEGER;
136
137 TYPE GDF_RA_BATCH_SOURCES_ATT7_TBL IS TABLE OF
138 ZX_REP_TRX_JX_EXT_T.GDF_RA_BATCH_SOURCES_ATT7%TYPE INDEX BY BINARY_INTEGER;
139
140 TYPE GDF_AP_INV_ATT11_TBL IS TABLE OF
141 ZX_REP_TRX_JX_EXT_T.GDF_AP_INVOICES_ATT11%TYPE INDEX BY BINARY_INTEGER;
142
143 TYPE GDF_AP_INV_ATT12_TBL IS TABLE OF
144 ZX_REP_TRX_JX_EXT_T.GDF_AP_INVOICES_ATT12%TYPE INDEX BY BINARY_INTEGER;
145 -----------------------------------------
146 --Private Methods Declarations
147 -----------------------------------------
148 l_err_msg VARCHAR2(120);
149
150 PROCEDURE initialize_variables (
151 p_count IN NUMBER);
152
153 PROCEDURE GET_VAT_AMOUNT
154 (
155 P_VAT_TAX IN VARCHAR2 DEFAULT NULL,
156 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
157 P_REPORT_NAME IN VARCHAR2,
158 P_REQUEST_ID IN NUMBER,
159 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
160 P_DETAIL_TAX_LINE_ID IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
161 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
162 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
163 X_VAT_AMT_TBL OUT NOCOPY NUMERIC9_TBL
164 );
165
166 PROCEDURE GET_TAXABLE_AMOUNT
167 (
168 P_VAT_TAX IN VARCHAR2 DEFAULT NULL,
169 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
170 P_REPORT_NAME IN VARCHAR2,
171 P_REQUEST_ID IN NUMBER,
172 P_DETAIL_TAX_LINE_ID IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
173 P_TRX_LINE_ID IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
174 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
175 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
176 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
177 X_TAXABLE_AMT_TBL OUT NOCOPY NUMERIC10_TBL
178 );
179
180 PROCEDURE GET_NON_TAXABLE_AMOUNT
181 (
182 P_NON_TAXAB_TAX IN VARCHAR2 DEFAULT NULL,
183 P_VAT_TAX IN VARCHAR2 DEFAULT NULL,
184 P_VAT_ADDIT_TAX IN VARCHAR2 DEFAULT NULL,
185 P_VAT_PERCEP_TAX IN VARCHAR2 DEFAULT NULL,
186 P_REPORT_NAME IN VARCHAR2,
187 p_REQUEST_ID IN NUMBER,
188 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
189 P_DETAIL_TAX_LINE_ID IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
190 P_TRX_LINE_ID IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
191 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
192 X_NON_TAXABLE_AMT_TBL OUT NOCOPY NUMERIC8_TBL
193 );
194
195 PROCEDURE GET_VAT_EXEMPT_AMOUNT
196 (
197 P_VAT_TAX IN VARCHAR2 DEFAULT NULL,
198 P_VAT_ADDIT_TAX IN VARCHAR2 DEFAULT NULL,
199 P_VAT_PERCEP_TAX IN VARCHAR2 DEFAULT NULL,
200 P_REPORT_NAME IN VARCHAR2,
201 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
202 P_REQUEST_ID IN NUMBER,
203 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
204 P_TRX_LINE_ID_TBL IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
205 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
206 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
207 X_VAT_EXEMPT_AMT_TBL OUT NOCOPY NUMERIC2_TBL
208 );
209
210 PROCEDURE GET_VAT_ADDITIONAL_AMOUNT
211 (
212 P_VAT_ADDIT_TAX IN VARCHAR2 DEFAULT NULL,
213 P_REPORT_NAME IN VARCHAR2,
214 p_REQUEST_ID IN NUMBER,
215 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
216 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.TAX_RATE_ID_TBL,
217 X_VAT_ADDITIONAL_AMT_TBL OUT NOCOPY NUMERIC7_TBL
218 );
219
220 PROCEDURE GET_NOT_REGISTERED_TAX_AMOUNT
221 (
222 P_REPORT_NAME IN VARCHAR2 DEFAULT NULL,
223 P_VAT_ADDIT_TAX IN VARCHAR2 DEFAULT NULL,
224 P_VAT_NOT_CATEG_TAX IN VARCHAR2 DEFAULT NULL,
225 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
226 P_REQUEST_ID IN NUMBER,
227 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
228 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
229 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
230 X_NOT_REG_TAX_AMT_TBL OUT NOCOPY NUMERIC1_TBL
231 );
232
233 PROCEDURE GET_VAT_PERCEPTION_AMOUNT
234 (
235 P_VAT_PERC_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
236 P_VAT_PERC_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
237 P_VAT_PERC_TAX IN VARCHAR2 DEFAULT NULL,
238 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
239 P_REPORT_NAME IN VARCHAR2,
240 p_REQUEST_ID IN NUMBER,
241 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
242 P_TRX_LINE_ID_TBL IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
243 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
244 X_VAT_PERCEPTION_AMT_TBL OUT NOCOPY NUMERIC3_TBL
245 );
246
247 PROCEDURE GET_OTHER_FED_PERC_AMOUNT
248 (
249 P_FED_PERC_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
250 P_FED_PERC_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
251 P_VAT_PERC_TAX IN VARCHAR2 DEFAULT NULL,
252 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
253 P_REPORT_NAME IN VARCHAR2,
254 p_REQUEST_ID IN NUMBER,
255 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
256 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
257 X_OTHER_FED_PERC_AMT_TBL OUT NOCOPY NUMERIC7_TBL
258 );
259
260
261 PROCEDURE GET_PROVINCIAL_PERC_AMOUNT
262 (
263 P_PROV_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
264 P_PROV_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
265 P_PROV_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
266 P_REPORT_NAME IN VARCHAR2,
267 p_REQUEST_ID IN NUMBER,
268 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
269 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.TAX_RATE_ID_TBL,
270 X_PROVINCIAL_PERC_AMT_TBL OUT NOCOPY NUMERIC4_TBL
271 );
272
273 PROCEDURE GET_MUNICIPAL_PERC_AMOUNT
274 (
275 P_MUN_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
276 P_MUN_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
277 P_MUN_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
278 P_REPORT_NAME IN VARCHAR2,
279 p_REQUEST_ID IN NUMBER,
280 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
281 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.TAX_RATE_ID_TBL,
282 X_MUNICIPAL_PERC_AMT_TBL OUT NOCOPY NUMERIC5_TBL
283 );
284
285 PROCEDURE GET_EXCISE_TAX_AMOUNT
286 (
287 P_EXC_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
288 P_EXC_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
289 P_EXC_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
290 P_REPORT_NAME IN VARCHAR2,
291 p_REQUEST_ID IN NUMBER,
292 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
293 X_EXCISE_AMT_TBL OUT NOCOPY NUMERIC6_TBL
294 );
295
296 PROCEDURE GET_OTHER_TAX_AMOUNT
297 (
298 P_REPORT_NAME IN VARCHAR2,
299 p_REQUEST_ID IN NUMBER,
300 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
301 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
302 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
303 X_OTHER_TAX_AMT_TBL OUT NOCOPY NUMERIC7_TBL
304 );
305
306 PROCEDURE GET_COUNTED_SUM_DOC
307 (
308 P_REPORT_NAME IN VARCHAR2,
309 P_REQUEST_ID IN NUMBER,
310 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
311 X_CL_NUM_OF_DOC_TBL OUT NOCOPY NUMERIC3_TBL,
312 X_CL_TOTAL_EXEMPT_TBL OUT NOCOPY NUMERIC4_TBL,
313 X_CL_TOTAL_EFFECTIVE_TBL OUT NOCOPY NUMERIC5_TBL,
314 X_CL_TOTAL_VAT_TAX_TBL OUT NOCOPY NUMERIC6_TBL,
315 X_CL_TOTAL_OTHER_TAX_TBL OUT NOCOPY NUMERIC11_TBL
316 );
317
318 PROCEDURE GET_CUSTOMER_CONDITION_CODE
319 (
320 P_VAT_PERCEP_TAX IN VARCHAR2,
321 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
322 P_INTERNAL_ORG_ID_TBL IN ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL,
323 P_REQUEST_ID IN NUMBER,
324 X_CUST_CONDITION_CODE_TBL OUT NOCOPY ATTRIBUTE7_TBL
325 );
326
327 PROCEDURE GET_VAT_REG_STAT_CODE
328 (
329 P_VAT_TAX IN VARCHAR2,
330 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
331 P_INTERNAL_ORG_ID_TBL IN ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL,
332 P_REQUEST_ID IN NUMBER,
333 X_VAT_REG_STAT_CODE_TBL OUT NOCOPY ATTRIBUTE8_TBL
334 );
335
336 FUNCTION GET_TAX_AUTHORITY_CODE
337 (
338 P_VAT_TAX IN ZX_REP_TRX_DETAIL_T.TAX%TYPE,
339 P_ORG_ID IN NUMBER
340 )
341 return ZX_REP_TRX_JX_EXT_T.ATTRIBUTE10%TYPE;
342
343 PROCEDURE GET_FISCAL_PRINTER
344 (
345 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
346 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
347 P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
348 P_BILL_FROM_SITE_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
349 X_FISCAL_PRINTER_TBL OUT NOCOPY ATTRIBUTE20_TBL
350 );
351
352 PROCEDURE GET_FISCAL_PRINTER_AR
353 (
354 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
355 P_BATCH_SOURCE_ID_TBL IN ZX_EXTRACT_PKG.BATCH_SOURCE_ID_TBL,
356 X_FISCAL_PRINTER_TBL OUT NOCOPY GDF_RA_BATCH_SOURCES_ATT7_TBL
357 );
358
359 PROCEDURE GET_CAI_NUM
360 (
361 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
362 P_REPORT_NAME IN VARCHAR2,
363 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
364 P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
365 P_BILL_FROM_SITE_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
366 X_CAI_NUMBER_TBL OUT NOCOPY ATTRIBUTE19_TBL,
367 X_CAI_DUE_DATE_TBL OUT NOCOPY ATTRIBUTE23_TBL
368 );
369
370 PROCEDURE GET_CAI_NUM_AR
371 (
372 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
373 P_REPORT_NAME IN VARCHAR2,
374 X_CAI_NUMBER_TBL OUT NOCOPY ATTRIBUTE19_TBL,
375 X_CAI_DUE_DATE_TBL OUT NOCOPY ATTRIBUTE23_TBL
376 );
377
378 PROCEDURE GET_TAX_AUTH_CATEG
379 (
380 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
381 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
382 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.tax_rate_id_tbl,
383 X_TAX_AUTH_CATEG_TBL OUT NOCOPY ATTRIBUTE10_TBL
384 ) ;
385 PROCEDURE PROV_JURISDICTION_CODE
386 (
387 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
388 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
389 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.tax_rate_id_tbl,
390 X_PROV_JURIS_CODE_TBL OUT NOCOPY ATTRIBUTE1_TBL
391 ) ;
392 PROCEDURE MUN_JURISDICTION_CODE
393 (
394 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
395 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
396 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.tax_rate_id_tbl,
397 X_MUN_JURIS_CODE_TBL OUT NOCOPY ATTRIBUTE3_TBL
398 ) ;
399
400 PROCEDURE GET_TAXPAYERID_TYPE
401 (
402 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
403 --P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
404 --P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
405 P_BILL_FROM_TP_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
406 X_TAXPAYERID_TYPE_TBL OUT NOCOPY ATTRIBUTE21_TBL,
407 X_REG_STATUS_CODE_TBL OUT NOCOPY ATTRIBUTE22_TBL
408 );
409
410 PROCEDURE GET_DGI_TAX_REGIME_CODE
411 (
412 P_VAT_PERCEP_TAX IN VARCHAR2,
413 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
414 P_TRX_LINE_ID_TBL IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
415 P_INTERNAL_ORG_ID_TBL IN ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL,
416 P_REQUEST_ID IN NUMBER,
417 X_DGI_TAX_REGIME_CODE_TBL OUT NOCOPY ATTRIBUTE25_TBL
418 );
419
420 PROCEDURE GET_DGI_CODE
421 (
422 P_TRX_NUMBER_TBL IN ZX_EXTRACT_PKG.TRX_NUMBER_TBL,
423 P_TRX_CATEGORY_TBL IN ZX_EXTRACT_PKG.TRX_TYPE_ID_TBL,
424 P_ORG_ID_TBL IN ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL,
425 X_DGI_CODE_TBL OUT NOCOPY ATTRIBUTE11_TBL
426 );
427 PROCEDURE GET_DGI_DOC_TYPE
428 (
429 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
430 X_DGI_DOC_TYPE_TBL OUT NOCOPY ATTRIBUTE1_TBL,
431 X_GDF_AP_INV_ATT11_TBL OUT NOCOPY GDF_AP_INV_ATT11_TBL,
432 X_GDF_AP_INV_ATT12_TBL OUT NOCOPY GDF_AP_INV_ATT12_TBL
433 );
434
435 PROCEDURE DGI_TRX_CODE
436 (
437 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
438 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
439 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.TAX_RATE_ID_TBL,
440 X_DGI_TRX_CODE_TBL OUT NOCOPY ATTRIBUTE4_TBL
441 );
442
443 PROCEDURE UPDATE_DGI_CURR_CODE
444 (
445 P_REQUEST_ID IN NUMBER
446 );
447
448 PROCEDURE GET_LOOKUP_INFO
449 (
450 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
451 X_JLCL_AP_DOC_TYPE_MEANING_TBL OUT NOCOPY DOCUMENT_SUB_TYPE_MNG_TBL,
452 X_ORDER_BY_DOC_TYPE_TBL OUT NOCOPY ATTRIBUTE14_TBL
453 );
454
455 PROCEDURE GET_REC_COUNT
456 (
457 P_VAT_TAX IN ZX_REP_TRX_DETAIL_T.TAX%TYPE,
458 P_TAX_REGIME IN ZX_REP_TRX_DETAIL_T.TAX_REGIME_CODE%TYPE,
459 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
460 P_REQUEST_ID IN NUMBER,
461 X_REC_COUNT_TBL OUT NOCOPY NUMERIC11_TBL
462 );
463
464 PROCEDURE GET_VAT_NONVAT_RATE_COUNT
465 (
466 P_VAT_TAX IN ZX_REP_TRX_DETAIL_T.TAX%TYPE,
467 P_VAT_NON_TAX IN ZX_REP_TRX_DETAIL_T.TAX%TYPE,
468 P_TAX_REGIME IN ZX_REP_TRX_DETAIL_T.TAX_REGIME_CODE%TYPE,
469 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
470 P_REQUEST_ID IN NUMBER,
471 X_RATE_COUNT_TBL OUT NOCOPY NUMERIC13_TBL
472 );
473
474 PROCEDURE GET_TOTAL_DOCUMENT_AMOUNT
475 (
476 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
477 P_EXCHANGE_RATE_TBL IN ZX_EXTRACT_PKG.CURRENCY_CONVERSION_RATE_TBL,
478 P_REPORT_NAME IN VARCHAR2,
479 X_TOTAL_DOC_AMT_TBL OUT NOCOPY NUMERIC12_TBL
480 );
481
482 PROCEDURE GET_TOTAL_DOC_TAXABLE_AMOUNT
483 (
484 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
485 P_REQUEST_ID IN NUMBER,
486 X_TOTAL_DOC_TAXAB_AMT_TBL OUT NOCOPY NUMERIC8_TBL
487 );
488
489 -- Declare global varibles for FND log messages
490
491 g_current_runtime_level NUMBER;
492 g_level_statement CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
493 g_level_procedure CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
494 g_level_event CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
495 g_level_unexpected CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
496 g_error_buffer VARCHAR2(100);
497
498
499 -- Public APIs
500
501 PROCEDURE FILTER_JL_AP_TAX_LINES
502 IS
503 BEGIN
504
505 null;
506
507 END FILTER_JL_AP_TAX_LINES;
508
509 PROCEDURE FILTER_JL_AR_TAX_LINES
510 (P_TRL_GLOBAL_VARIABLES_REC IN ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE
511 ) IS
512 BEGIN
513
514 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
515
516 IF (g_level_procedure >= g_current_runtime_level ) THEN
517 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.FILTER_JL_AR_TAX_LINES.BEGIN',
518 'ZX_JL_EXTRACT_PKG.FILTER_JL_AR_TAX_LINES(+)');
519 END IF;
520
521 IF ( g_level_statement>= g_current_runtime_level ) THEN
522 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.FILTER_JL_AR_TAX_LINES',
523 'P_TRL_GLOBAL_VARIABLES_REC.REPORT_NAME : '||P_TRL_GLOBAL_VARIABLES_REC.REPORT_NAME );
524 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.FILTER_JL_AR_TAX_LINES',
525 'P_TRL_GLOBAL_VARIABLES_REC.VAT_PERCEPTION_TAX : '||P_TRL_GLOBAL_VARIABLES_REC.VAT_PERCEPTION_TAX );
526 END IF;
527
528 IF P_TRL_GLOBAL_VARIABLES_REC.REPORT_NAME = 'JLARTPFF' THEN
529
530 DELETE from ZX_REP_TRX_DETAIL_T DET
531 WHERE DET.REQUEST_ID = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
532 AND DET.TAX <> P_TRL_GLOBAL_VARIABLES_REC.VAT_PERCEPTION_TAX;
533 /* DELETE from ZX_REP_TRX_DETAIL_T DET
534 WHERE DET.REQUEST_ID = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID and
535 NOT EXISTS
536 (SELECT 1
537 FROM jl_zz_ar_tx_categ_all catg,
538 jl_zz_ar_tx_att_cls_all attcls,
539 jl_zz_ar_tx_att_val_all val
540 WHERE attcls.tax_attribute_value = val.tax_attribute_value
541 AND attcls.tax_category_id = val.tax_category_id
542 AND attcls.tax_attribute_name = val.tax_attribute_name
543 AND val.tax_attribute_type = 'TRANSACTION_ATTRIBUTE'
544 -- nipatel we should add join to attcls.TAX_ATTRIBUTE_TYPE, attcls.TAX_ATTR_CLASS_TYPE,
545 -- attcls.TAX_ATTR_CLASS_CODE for proper use of index
546 AND attcls.tax_category_id = catg.tax_category_id
547 AND catg.org_id = det.internal_organization_id
548 AND catg.org_id = attcls.org_id
549 AND catg.org_id = val.org_id
550 AND attcls.tax_attr_class_code = det.TRX_BUSINESS_CATEGORY
551 AND det.tax = P_TRL_GLOBAL_VARIABLES_REC.VAT_PERCEPTION_TAX);
552 */
553 IF ( g_level_statement>= g_current_runtime_level ) THEN
554 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.FILTER_JL_AR_TAX_LINES',
555 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
556 END IF;
557 END IF;
558
559 IF (g_level_procedure >= g_current_runtime_level ) THEN
560 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.FILTER_JL_AR_TAX_LINES.BEGIN',
561 'ZX_JL_EXTRACT_PKG.FILTER_JL_AR_TAX_LINES(-)');
562 END IF;
563
564
565 END FILTER_JL_AR_TAX_LINES;
566
567 /*===========================================================================+
568 | PROCEDURE |
569 | POPULATE_JL_AP |
570 | Type : Private |
571 | Pre-req : None |
572 | Function : |
573 | This procedure extract tax amount for various tax types |
574 | from zx_rep_trx_jx_ext_t table to meet the requirement in |
575 | the flat file |
576 | |
577 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
578 | |
579 | Parameters : |
580 | IN : P_MUN_TAX_TYPE_FROM IN VARCHAR2 Optional |
581 | P_MUN_TAX_TYPE_TO IN VARCHAR2 Optional |
582 | P_PROV_TAX_TYPE_FROM IN VARCHAR2 Optional |
583 | P_PROV_TAX_TYPE_TO IN VARCHAR2 Optional |
584 | P_EXC_TAX_TYPE_FROM IN VARCHAR2 Optional |
585 | P_EXC_TAX_TYPE_TO IN VARCHAR2 Optional |
586 | P_NON_TAXAB_TAX_TYPE IN VARCHAR2 Optional |
587 | P_VAT_PERC_TAX_TYPE_FROM IN VARCHAR2 Optional |
588 | P_VAT_PERC_TAX_TYPE_TO IN VARCHAR2 Optional |
589 | P_VAT_TAX_TYPE IN VARCHAR2 Optional |
590 | P_REPORT_NAME IN VARCHAR2 Required |
591 | |
592 | MODIFICATION HISTORY |
593 | 07-Nov-03 Hidetaka Kojima created |
594 | 17-Feb-04 Hidekoji Modified Parameters |
595 | |
596 +===========================================================================*/
597
598 PROCEDURE POPULATE_JL_AP(
599 P_TRL_GLOBAL_VARIABLES_REC IN ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE
600 )
601 IS
602
603 P_REQUEST_ID NUMBER;
604 P_REPORT_NAME VARCHAR2(30);
605 P_TRANSACTION_LETTER_FROM VARCHAR2(30);
606 P_TRANSACTION_LETTER_TO VARCHAR2(30);
607 P_EXCLUDING_TRX_LETTER VARCHAR2(30);
608 P_MUN_TAX_TYPE_FROM VARCHAR2(30);
609 P_MUN_TAX_TYPE_TO VARCHAR2(30);
610 P_PROV_TAX_TYPE_FROM VARCHAR2(30);
611 P_PROV_TAX_TYPE_TO VARCHAR2(30);
612 P_EXC_TAX_TYPE_FROM VARCHAR2(30);
613 P_EXC_TAX_TYPE_TO VARCHAR2(30);
614 P_NON_TAXAB_TAX_TYPE VARCHAR2(30);
615 P_VAT_PERC_TAX_TYPE_FROM VARCHAR2(30);
616 P_VAT_PERC_TAX_TYPE_TO VARCHAR2(30);
617 P_FED_PERC_TAX_TYPE_FROM VARCHAR2(30);
618 P_FED_PERC_TAX_TYPE_TO VARCHAR2(30);
619 P_VAT_TAX_TYPE VARCHAR2(30);
620 P_TAX_TYPE_CODE_LOW VARCHAR2(30);
621 P_TAX_TYPE_CODE_HIGH VARCHAR2(30);
622 P_TAX_TYPE_CODE VARCHAR2(30);
623 P_VAT_ADDIT_TAX_TYPE VARCHAR2(30);
624
625 l_err_msg VARCHAR2(120);
626
627 l_detail_tax_line_id_tbl ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL;
628 l_trx_line_id_tbl ZX_EXTRACT_PKG.TRX_LINE_ID_TBL;
629 l_trx_id_tbl ZX_EXTRACT_PKG.TRX_ID_TBL;
630 l_tax_rate_tbl ZX_EXTRACT_PKG.TAX_RATE_TBL;
631 l_tax_rate_id_tbl ZX_EXTRACT_PKG.TAX_RATE_ID_TBL;
632 l_document_sub_type_tbl ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL;
633 l_exchange_rate_tbl ZX_EXTRACT_PKG.CURRENCY_CONVERSION_RATE_TBL;
634 l_trx_currency_code_tbl ZX_EXTRACT_PKG.TRX_CURRENCY_CODE_TBL;
635 l_vat_exempt_amt_tbl NUMERIC2_TBL;
636 l_vat_perc_amt_tbl NUMERIC3_TBL;
637 l_other_fed_perc_amt_tbl NUMERIC7_TBL;
638 l_prov_perc_amt_tbl NUMERIC4_TBL;
639 l_munic_perc_amt_tbl NUMERIC5_TBL;
640 l_excise_amt_tbl NUMERIC6_TBL;
641 l_non_taxable_amt_tbl NUMERIC8_TBL;
642 l_other_tax_amt_tbl NUMERIC7_TBL;
643 l_vat_amt_tbl NUMERIC9_TBL;
644 l_dgi_doc_type_tbl ATTRIBUTE1_TBL;
645 l_tax_auth_categ_tbl ATTRIBUTE10_TBL;
646 l_gdf_ap_inv_att11_tbl GDF_AP_INV_ATT11_TBL;
647 l_gdf_ap_inv_att12_tbl GDF_AP_INV_ATT12_TBL;
648 l_dgi_trx_code_tbl ATTRIBUTE4_TBL;
649 l_taxable_amt_tbl NUMERIC10_TBL;
650 l_total_doc_amt_tbl NUMERIC12_TBL;
651 l_total_doc_taxab_amt_tbl NUMERIC8_TBL;
652
653 l_cl_num_of_doc_tbl NUMERIC3_TBL;
654 l_cl_total_exempt_tbl NUMERIC4_TBL;
655 l_cl_total_effective_tbl NUMERIC5_TBL;
656 l_cl_total_vat_tax_tbl NUMERIC6_TBL;
657 l_cl_total_other_tax_tbl NUMERIC11_TBL;
658
659 l_order_by_doc_type_tbl ATTRIBUTE14_TBL;
660 l_cai_number_tbl ATTRIBUTE19_TBL;
661 l_cai_due_date_tbl ATTRIBUTE23_TBL;
662 l_fiscal_printer_tbl ATTRIBUTE20_TBL;
663 l_taxpayerid_type_tbl ATTRIBUTE21_TBL;
664 l_reg_status_code_tbl ATTRIBUTE22_TBL;
665 l_jlcl_ap_doc_type_mng_tbl DOCUMENT_SUB_TYPE_MNG_TBL;
666
667 l_tax_regime_code_tbl ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL;
668 l_bill_from_site_prof_id_tbl ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL;
669 --l_shipping_tp_address_id_tbl ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL;
670 --l_billing_tp_address_id_tbl ZX_EXTRACT_PKG.BILLING_TP_ADDRESS_ID_TBL;
671 l_bill_from_site_id_tbl ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL;
672 l_bill_from_tp_id_tbl ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL;
673
674 BEGIN
675
676 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
677
678 IF (g_level_procedure >= g_current_runtime_level ) THEN
679 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP.BEGIN',
680 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP(+)');
681 END IF;
682
683
684 P_REQUEST_ID := P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID;
685 P_REPORT_NAME := P_TRL_GLOBAL_VARIABLES_REC.REPORT_NAME;
686 P_TRANSACTION_LETTER_FROM := P_TRL_GLOBAL_VARIABLES_REC.TRX_LETTER_LOW;
687 P_TRANSACTION_LETTER_TO := P_TRL_GLOBAL_VARIABLES_REC.TRX_LETTER_HIGH;
688 P_EXCLUDING_TRX_LETTER := P_TRL_GLOBAL_VARIABLES_REC.EXCLUDING_TRX_LETTER;
689 P_MUN_TAX_TYPE_FROM := P_TRL_GLOBAL_VARIABLES_REC.MUNICIPAL_TAX_TYPE_CODE_LOW;
690 P_MUN_TAX_TYPE_TO := P_TRL_GLOBAL_VARIABLES_REC.MUNICIPAL_TAX_TYPE_CODE_HIGH;
691 P_PROV_TAX_TYPE_FROM := P_TRL_GLOBAL_VARIABLES_REC.PROV_TAX_TYPE_CODE_LOW;
692 P_PROV_TAX_TYPE_TO := P_TRL_GLOBAL_VARIABLES_REC.PROV_TAX_TYPE_CODE_HIGH;
693 P_EXC_TAX_TYPE_FROM := P_TRL_GLOBAL_VARIABLES_REC.EXCISE_TAX_TYPE_CODE_LOW;
694 P_EXC_TAX_TYPE_TO := P_TRL_GLOBAL_VARIABLES_REC.EXCISE_TAX_TYPE_CODE_HIGH;
695 P_NON_TAXAB_TAX_TYPE := P_TRL_GLOBAL_VARIABLES_REC.NON_TAXABLE_TAX_TYPE_CODE;
696 P_VAT_PERC_TAX_TYPE_FROM := P_TRL_GLOBAL_VARIABLES_REC.PER_TAX_TYPE_CODE_LOW;
697 P_VAT_PERC_TAX_TYPE_TO := P_TRL_GLOBAL_VARIABLES_REC.PER_TAX_TYPE_CODE_HIGH;
698 P_FED_PERC_TAX_TYPE_FROM := P_TRL_GLOBAL_VARIABLES_REC.FED_PER_TAX_TYPE_CODE_LOW;
699 P_FED_PERC_TAX_TYPE_TO := P_TRL_GLOBAL_VARIABLES_REC.FED_PER_TAX_TYPE_CODE_HIGH;
700 P_TAX_TYPE_CODE_LOW := P_TRL_GLOBAL_VARIABLES_REC.TAX_TYPE_CODE_LOW;
701 P_TAX_TYPE_CODE_HIGH := P_TRL_GLOBAL_VARIABLES_REC.TAX_TYPE_CODE_HIGH;
702 P_VAT_TAX_TYPE := P_TRL_GLOBAL_VARIABLES_REC.VAT_TAX_TYPE_CODE;
703 P_VAT_ADDIT_TAX_TYPE := P_TRL_GLOBAL_VARIABLES_REC.VAT_ADDITIONAL_TAX;
704
705 --added debug messages
706
707 IF ( g_level_statement>= g_current_runtime_level ) THEN
708 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP','P_REPORT_NAME : '||P_REPORT_NAME);
709 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_TRANSACTION_LETTER_FROM :'|| P_TRANSACTION_LETTER_FROM);
710 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_TRANSACTION_LETTER_TO :'|| P_TRANSACTION_LETTER_TO );
711 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_EXCLUDING_TRX_LETTER :'|| P_EXCLUDING_TRX_LETTER );
712 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_MUN_TAX_TYPE_FROM :'|| P_MUN_TAX_TYPE_FROM );
713 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_MUN_TAX_TYPE_TO :'|| P_MUN_TAX_TYPE_TO );
714 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_PROV_TAX_TYPE_FROM :'|| P_PROV_TAX_TYPE_FROM );
715 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_PROV_TAX_TYPE_TO :'|| P_PROV_TAX_TYPE_TO );
716 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_EXC_TAX_TYPE_FROM :'|| P_EXC_TAX_TYPE_FROM );
717 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_EXC_TAX_TYPE_TO :'|| P_EXC_TAX_TYPE_TO );
718 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_NON_TAXAB_TAX_TYPE :'|| P_NON_TAXAB_TAX_TYPE );
719 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_VAT_PERC_TAX_TYPE_FROM :'|| P_VAT_PERC_TAX_TYPE_FROM );
720 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_VAT_PERC_TAX_TYPE_TO :'|| P_VAT_PERC_TAX_TYPE_TO );
721 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_FED_PERC_TAX_TYPE_FROM :'|| P_FED_PERC_TAX_TYPE_FROM );
722 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_FED_PERC_TAX_TYPE_TO :'|| P_FED_PERC_TAX_TYPE_TO );
723 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_TAX_TYPE_CODE_LOW :'|| P_TAX_TYPE_CODE_LOW );
724 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_TAX_TYPE_CODE_HIGH :'|| P_TAX_TYPE_CODE_HIGH );
725 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_VAT_TAX_TYPE :'|| P_VAT_TAX_TYPE );
726 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',' P_VAT_ADDIT_TAX_TYPE :'|| P_VAT_ADDIT_TAX_TYPE );
727 END IF;
728
729 IF P_REPORT_NAME = 'JLARPCFF' THEN
730
731
732 BEGIN
733
734 -- ------------------------------------------------ --
735 -- Get filtered tax lines --
736 -- in this case, you need to group the lines by trx --
737 -- ------------------------------------------------ --
738 IF (g_level_procedure >= g_current_runtime_level ) THEN
739 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
740 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP : Filter '||P_REPORT_NAME);
741 END IF;
742
743 P_TAX_TYPE_CODE := NVL(P_TAX_TYPE_CODE_LOW,P_TAX_TYPE_CODE_HIGH);
744
745 SELECT min(itf.detail_tax_line_id),
746 itf.trx_id,
747 null,
748 null
749 BULK COLLECT INTO l_detail_tax_line_id_tbl,
750 l_trx_id_tbl,
751 l_tax_rate_tbl,
752 l_document_sub_type_tbl
753 FROM zx_rep_trx_detail_t itf,
754 ap_invoices apinv
755 WHERE itf.request_id = p_request_id
756 AND itf.trx_id = apinv.invoice_id
757 AND itf.tax_type_code = P_TAX_TYPE_CODE
758 AND apinv.global_attribute12 >= P_TRANSACTION_LETTER_FROM
759 AND apinv.global_attribute12 <= P_TRANSACTION_LETTER_TO
760 GROUP BY itf.trx_id;
761
762 IF (g_level_procedure >= g_current_runtime_level ) THEN
763 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
764 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP : Bulk Collect Filtered rows '||to_char(l_trx_id_tbl.count));
765 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
766 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP : '||P_VAT_TAX_TYPE||P_TRANSACTION_LETTER_FROM||P_TRANSACTION_LETTER_TO);
767 END IF;
768
769
770 IF ( g_level_statement>= g_current_runtime_level ) THEN
771 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
772 'Before Call to GET_VAT_AMOUNT ');
773 END IF;
774
775 -- Get Vat Amount --
776
777 GET_VAT_AMOUNT(P_TAX_TYPE_CODE,
778 NULL,
779 P_REPORT_NAME,
780 P_REQUEST_ID,
781 l_trx_id_tbl,
782 l_detail_tax_line_id_tbl,
783 l_tax_rate_tbl,
784 l_document_sub_type_tbl,
785 l_vat_amt_tbl);
786
787 GET_DGI_DOC_TYPE(l_trx_id_tbl,
788 l_dgi_doc_type_tbl,
789 l_gdf_ap_inv_att11_tbl,
790 l_gdf_ap_inv_att12_tbl
791 );
792
793
794 -- Insert lines into JX EXT Table with Calculated amount --
795
796 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
797
798 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
799 detail_tax_line_id,
800 numeric9,
801 gdf_ap_invoices_att13,
802 created_by,
803 creation_date,
804 last_updated_by,
805 last_update_date,
806 last_update_login)
807 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
808 l_detail_tax_line_id_tbl(i),
809 l_vat_amt_tbl(i),
810 l_dgi_doc_type_tbl(i),
811 fnd_global.user_id,
812 sysdate,
813 fnd_global.user_id,
814 sysdate,
815 fnd_global.login_id);
816
817 IF ( g_level_statement>= g_current_runtime_level ) THEN
818 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
819 'After insertion into zx_rep_trx_jx_ext_t ');
820 END IF;
821
822 -- Delete Unwanted lines from Detail ITF
823
824 DELETE from zx_rep_trx_detail_t itf
825 WHERE itf.request_id = p_request_id
826 AND NOT EXISTS ( SELECT 1
827 FROM zx_rep_trx_jx_ext_t ext
828 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
829
830 IF ( g_level_statement>= g_current_runtime_level ) THEN
831 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
832 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
833 END IF;
834
835
836 EXCEPTION
837 WHEN OTHERS THEN
838 IF ( g_level_statement>= g_current_runtime_level ) THEN
839 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
840 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
841 END IF;
842
843 END;
844
845
846 ELSIF P_REPORT_NAME = 'ZXARPVBR' THEN
847
848 BEGIN
849
850 -- ------------------------------------------------ --
851 -- Get filtered tax lines --
852 -- in this case, you need to group the lines by trx --
853 -- ------------------------------------------------ --
854
855 SELECT min(itf.detail_tax_line_id),
856 itf.trx_line_id,
857 itf.trx_id,
858 itf.tax_rate,
859 null
860 BULK COLLECT INTO l_detail_tax_line_id_tbl,
861 l_trx_line_id_tbl,
862 l_trx_id_tbl,
863 l_tax_rate_tbl,
864 l_document_sub_type_tbl
865 FROM zx_rep_trx_detail_t itf,
866 ap_invoices_all apinv --Bug 5415028
867 WHERE itf.request_id = P_REQUEST_ID
868 AND itf.tax_type_code = P_VAT_TAX_TYPE
869 -- OR itf.tax_rate = 0)
870 --itf.tax_type_code = 'Exempt')
871 AND itf.trx_id = apinv.invoice_id
872 AND apinv.global_attribute12 <> NVL(P_EXCLUDING_TRX_LETTER,'$') --Bug 5415028
873 AND nvl(itf.reverse_flag,'N') <> 'Y'
874 GROUP BY itf.tax_rate,
875 itf.trx_line_id,
876 itf.trx_id;
877
878 IF ( g_level_statement>= g_current_runtime_level ) THEN
879 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
880 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
881 END IF;
882
883 IF ( g_level_statement>= g_current_runtime_level ) THEN
884 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_DOC_TYPE',
885 'Before Call to GET_DGI_DOC_TYPE');
886 END IF;
887 GET_DGI_DOC_TYPE(l_trx_id_tbl,
888 l_dgi_doc_type_tbl,
889 l_gdf_ap_inv_att11_tbl,
890 l_gdf_ap_inv_att12_tbl
891 );
892
893 IF ( g_level_statement>= g_current_runtime_level ) THEN
894 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
895 'Before Call to GET_VAT_AMOUNT');
896 END IF;
897
898 -- Get Vat amount
899 GET_VAT_AMOUNT(P_VAT_TAX_TYPE,
900 NULL,
901 P_REPORT_NAME,
902 P_REQUEST_ID,
903 l_trx_id_tbl,
904 l_detail_tax_line_id_tbl,
905 l_tax_rate_tbl,
906 l_document_sub_type_tbl,
907 l_vat_amt_tbl);
908
909 IF ( g_level_statement>= g_current_runtime_level ) THEN
910 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
911 'Before Call to GET_TAXABLE_AMOUNT');
912 END IF;
913
914 -- Get Taxable Amount
915 GET_TAXABLE_AMOUNT(P_VAT_TAX_TYPE,
916 NULL,
917 P_REPORT_NAME,
918 P_REQUEST_ID,
919 l_detail_tax_line_id_tbl,
920 l_trx_line_id_tbl,
921 l_trx_id_tbl,
922 l_tax_rate_tbl,
923 l_document_sub_type_tbl,
924 l_taxable_amt_tbl);
925
926 IF ( g_level_statement>= g_current_runtime_level ) THEN
927 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
928 'Before Call to GET_NON_TAXABLE_AMOUNT');
929 END IF;
930 -- Get Non Taxable Amount
931 GET_NON_TAXABLE_AMOUNT(P_NON_TAXAB_TAX_TYPE,
932 P_VAT_TAX_TYPE,
933 P_VAT_ADDIT_TAX_TYPE,
934 null, --P_VAT_PERCEP_TAX_TYPE,
935 P_REPORT_NAME,
936 p_REQUEST_ID,
937 l_trx_id_tbl,
938 l_detail_tax_line_id_tbl,
939 l_trx_line_id_tbl,
940 l_tax_rate_tbl,
941 l_non_taxable_amt_tbl);
942
943
944 IF ( g_level_statement>= g_current_runtime_level ) THEN
945 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
946 'Before Call to GET_VAT_EXEMPT_AMOUNT');
947 END IF;
948
949 -- Get Vat Exempt Amount
950 GET_VAT_EXEMPT_AMOUNT(P_VAT_TAX_TYPE,
951 P_VAT_ADDIT_TAX_TYPE,
952 NULL, --P_VAT_PERCEP_TAX_TYPE,
953 P_REPORT_NAME,
954 NULL, -- P_TAX_REGIME
955 P_REQUEST_ID,
956 l_trx_id_tbl,
957 l_trx_line_id_tbl,
958 l_tax_rate_tbl,
959 l_document_sub_type_tbl,
960 l_vat_exempt_amt_tbl);
961
962 IF ( g_level_statement>= g_current_runtime_level ) THEN
963 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
964 'Before Call to GET_VAT_PERCEPTION_AMOUNT');
965 END IF;
966
967 -- Get Vat Perception Amount
968 GET_VAT_PERCEPTION_AMOUNT(P_VAT_PERC_TAX_TYPE_FROM,
969 P_VAT_PERC_TAX_TYPE_TO,
970 NULL, -- P_VAT_PERC_TAX,
971 NULL, -- P_TAX_REGIME
972 P_REPORT_NAME,
973 p_REQUEST_ID,
974 l_trx_id_tbl,
975 l_trx_line_id_tbl,
976 l_tax_rate_tbl,
977 l_vat_perc_amt_tbl);
978
979 -- Insert lines into JX EXT Table with Calculated amount --
980
981 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
982
983 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
984 detail_tax_line_id,
985 numeric9,
986 numeric10,
987 numeric8,
988 numeric2,
989 numeric3,
990 numeric12,
991 gdf_ap_invoices_att11,
992 gdf_ap_invoices_att12,
993 created_by,
994 creation_date,
995 last_updated_by,
996 last_update_date,
997 last_update_login,
998 request_id)
999 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
1000 l_detail_tax_line_id_tbl(i),
1001 l_vat_amt_tbl(i),
1002 l_taxable_amt_tbl(i),
1003 l_non_taxable_amt_tbl(i),
1004 l_vat_exempt_amt_tbl(i),
1005 l_vat_perc_amt_tbl(i),
1006 nvl(l_non_taxable_amt_tbl(i),0)+nvl(l_vat_perc_amt_tbl(i),0)
1007 +nvl(l_taxable_amt_tbl(i),0)+nvl(l_vat_amt_tbl(i),0), --Bug 5415028
1008 l_gdf_ap_inv_att11_tbl(i),
1009 l_gdf_ap_inv_att12_tbl(i),
1010 fnd_global.user_id,
1011 sysdate,
1012 fnd_global.user_id,
1013 sysdate,
1014 fnd_global.login_id,
1015 p_request_id);
1016
1017 IF ( g_level_statement>= g_current_runtime_level ) THEN
1018 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1019 'After insertion into zx_rep_trx_jx_ext_t ');
1020 END IF;
1021
1022 -- Delete Unwanted lines from Detail ITF
1023
1024 DELETE from zx_rep_trx_detail_t itf
1025 WHERE itf.request_id = p_request_id
1026 AND NOT EXISTS ( SELECT 1
1027 FROM zx_rep_trx_jx_ext_t ext
1028 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
1029
1030 IF ( g_level_statement>= g_current_runtime_level ) THEN
1031 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JA_EXTRACT_PKG.POPULATE_JL_AP',
1032 'Deleted Count : '||to_char(SQL%ROWCOUNT) );
1033 END IF;
1034
1035 IF ( g_level_statement>= g_current_runtime_level ) THEN
1036 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1037 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
1038 END IF;
1039
1040 EXCEPTION
1041
1042
1043 WHEN OTHERS THEN
1044 IF ( g_level_statement>= g_current_runtime_level ) THEN
1045 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1046 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
1047 END IF;
1048
1049 END;
1050
1051
1052 ELSIF P_REPORT_NAME = 'JLARPPFF' THEN
1053
1054 BEGIN
1055 IF (g_level_procedure >= g_current_runtime_level ) THEN
1056 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1057 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP : Filter '||P_REPORT_NAME);
1058 END IF;
1059 -- ------------------------------------------------ --
1060 -- Get filtered tax lines --
1061 -- ------------------------------------------------ --
1062
1063 SELECT detail_tax_line_id,
1064 trx_line_id,
1065 trx_id,
1066 currency_conversion_rate,
1067 -- trx_currency_code,
1068 tax_rate,
1069 tax_rate_id,
1070 document_sub_type,
1071 tax_regime_code,
1072 bill_from_site_tax_prof_id,
1073 -- shipping_tp_address_id,
1074 -- billing_tp_address_id
1075 bill_from_site_id,
1076 bill_from_party_id
1077 BULK COLLECT INTO l_detail_tax_line_id_tbl,
1078 l_trx_line_id_tbl,
1079 l_trx_id_tbl,
1080 l_exchange_rate_tbl,
1081 --l_trx_currency_code_tbl,
1082 l_tax_rate_tbl,
1083 l_tax_rate_id_tbl,
1084 l_document_sub_type_tbl,
1085 l_tax_regime_code_tbl,
1086 l_bill_from_site_prof_id_tbl,
1087 l_bill_from_site_id_tbl,
1088 l_bill_from_tp_id_tbl
1089 FROM
1090 ( SELECT min(itf1.detail_tax_line_id) detail_tax_line_id,
1091 itf1.trx_line_id,
1092 itf1.trx_id,
1093 null currency_conversion_rate,
1094 -- itf1.trx_currency_code,
1095 itf1.tax_rate,
1096 itf1.tax_rate_id,
1097 null document_sub_type,
1098 itf1.tax_regime_code,
1099 itf1.bill_from_site_tax_prof_id,
1100 NVL(itf1.shipping_tp_address_id,
1101 itf1.billing_tp_address_id) bill_from_site_id,
1102 NVL(itf1.billing_trading_partner_id,
1103 itf1.shipping_trading_partner_id) bill_from_party_id
1104 FROM zx_rep_trx_detail_t itf1,
1105 ap_invoices apinv
1106 WHERE itf1.request_id = P_REQUEST_ID
1107 AND apinv.invoice_id = itf1.trx_id
1108 -- AND itf1.posted_flag = 'Y'
1109 AND itf1.tax_type_code = P_VAT_TAX_TYPE
1110 AND apinv.global_attribute12 <> NVL(p_excluding_trx_letter, '$')
1111 GROUP BY itf1.trx_id,
1112 itf1.trx_line_id,
1113 itf1.tax_rate,
1114 itf1.tax_rate_id,
1115 -- itf1.trx_currency_code,
1116 itf1.tax_regime_code,
1117 itf1.bill_from_site_tax_prof_id,
1118 itf1.shipping_tp_address_id,
1119 itf1.billing_tp_address_id,
1120 itf1.billing_trading_partner_id,
1121 itf1.shipping_trading_partner_id)
1122 UNION
1123 ( SELECT min(itf1.detail_tax_line_id) detail_tax_line_id,
1124 itf1.trx_line_id,
1125 itf1.trx_id,
1126 null currency_conversion_rate,
1127 -- itf1.trx_currency_code,
1128 itf1.tax_rate,
1129 itf1.tax_rate_id,
1130 null document_sub_type,
1131 itf1.tax_regime_code,
1132 itf1.bill_from_site_tax_prof_id,
1133 NVL(itf1.shipping_tp_address_id,
1134 itf1.billing_tp_address_id) bill_from_site_id,
1135 NVL(itf1.billing_trading_partner_id,
1136 itf1.shipping_trading_partner_id) bill_from_party_id
1137 FROM zx_rep_trx_detail_t itf1,
1138 ap_invoices apinv
1139 WHERE itf1.request_id = P_REQUEST_ID
1140 AND apinv.invoice_id = itf1.trx_id
1141 -- AND itf1.posted_flag = 'Y'
1142 AND itf1.tax_type_code = 'Exempt'
1143 AND apinv.global_attribute12 <> NVL(p_excluding_trx_letter, '$')
1144 GROUP BY itf1.trx_id,
1145 itf1.trx_line_id,
1146 itf1.tax_rate,
1147 itf1.tax_rate_id,
1148 -- itf1.trx_currency_code,
1149 itf1.tax_regime_code,
1150 itf1.bill_from_site_tax_prof_id,
1151 itf1.shipping_tp_address_id,
1152 itf1.billing_tp_address_id,
1153 itf1.billing_trading_partner_id,
1154 itf1.shipping_trading_partner_id)
1155 UNION
1156 ( SELECT min(itf1.detail_tax_line_id) detail_tax_line_id,
1157 itf1.trx_line_id,
1158 itf1.trx_id,
1159 null currency_conversion_rate,
1160 -- itf1.trx_currency_code,
1161 NULL tax_rate,
1162 itf1.tax_rate_id,
1163 --null tax_rate_id,
1164 null document_sub_type,
1165 itf1.tax_regime_code,
1166 itf1.bill_from_site_tax_prof_id,
1167 NVL(itf1.shipping_tp_address_id,
1168 itf1.billing_tp_address_id) bill_from_site_id,
1169 NVL(itf1.billing_trading_partner_id,
1170 itf1.shipping_trading_partner_id) bill_from_party_id
1171 FROM zx_rep_trx_detail_t itf1,
1172 ap_invoices apinv
1173 WHERE itf1.request_id = P_REQUEST_ID
1174 AND apinv.invoice_id = itf1.trx_id
1175 -- AND itf1.posted_flag = 'Y'
1176 AND itf1.tax_type_code = P_NON_TAXAB_TAX_TYPE
1177 AND apinv.global_attribute12 <> NVL(p_excluding_trx_letter, '$')
1178 GROUP BY itf1.trx_id,
1179 itf1.trx_line_id,
1180 -- itf1.tax_rate,
1181 itf1.tax_rate_id,
1182 -- itf1.trx_currency_code,
1183 itf1.tax_regime_code,
1184 itf1.bill_from_site_tax_prof_id,
1185 itf1.shipping_tp_address_id,
1186 itf1.billing_tp_address_id,
1187 itf1.billing_trading_partner_id,
1188 itf1.shipping_trading_partner_id);
1189 /* UNION
1190 SELECT min(itf2.detail_tax_line_id) detail_tax_line_id,
1191 itf2.trx_id,
1192 null currency_conversion_rate,
1193 null tax_rate,
1194 null tax_rate_id,
1195 null document_sub_type
1196 FROM zx_rep_trx_detail_t itf2,
1197 ap_invoices apinv2
1198 WHERE itf2.request_id = P_REQUEST_ID
1199 AND apinv2.invoice_id = itf2.trx_id
1200 AND itf2.tax_type_code = P_NON_TAXAB_TAX_TYPE
1201 GROUP BY itf2.trx_id
1202 );*/
1203
1204 IF (g_level_procedure >= g_current_runtime_level ) THEN
1205 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1206 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP : Bulk Collect Filtered rows '||to_char(l_trx_id_tbl.count));
1207 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1208 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP : '||P_VAT_TAX_TYPE);
1209 END IF;
1210
1211 IF ( g_level_statement>= g_current_runtime_level ) THEN
1212 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1213 'Before Call to GET_VAT_AMOUNT');
1214 END IF;
1215
1216 --GET_DGI_DOC_TYPE(l_trx_id_tbl,
1217 -- l_dgi_doc_type_tbl);
1218
1219 GET_DGI_DOC_TYPE(l_trx_id_tbl,
1220 l_dgi_doc_type_tbl,
1221 l_gdf_ap_inv_att11_tbl,
1222 l_gdf_ap_inv_att12_tbl
1223 );
1224 DGI_TRX_CODE ( l_trx_id_tbl,
1225 l_tax_regime_code_tbl,
1226 l_tax_rate_id_tbl,
1227 l_dgi_trx_code_tbl);
1228
1229
1230 GET_TAXPAYERID_TYPE(l_trx_id_tbl,
1231 -- l_tax_regime_code_tbl,
1232 -- l_bill_from_site_prof_id_tbl,
1233 l_bill_from_tp_id_tbl,
1234 l_taxpayerid_type_tbl,
1235 l_reg_status_code_tbl);
1236
1237 -- get CAI Number
1238 GET_CAI_NUM
1239 ( l_trx_id_tbl,
1240 p_report_name,
1241 l_tax_regime_code_tbl,
1242 l_bill_from_site_prof_id_tbl,
1243 l_bill_from_site_id_tbl,
1244 l_cai_number_tbl,
1245 l_cai_due_date_tbl);
1246
1247 -- get Fiscal Printer
1248 GET_FISCAL_PRINTER
1249 ( l_trx_id_tbl,
1250 l_tax_regime_code_tbl,
1251 l_bill_from_site_prof_id_tbl,
1252 l_bill_from_site_id_tbl,
1253 l_fiscal_printer_tbl);
1254
1255
1256 -- Get Vat Amount
1257 GET_VAT_AMOUNT(P_VAT_TAX_TYPE,
1258 NULL,
1259 P_REPORT_NAME,
1260 P_REQUEST_ID,
1261 l_trx_id_tbl,
1262 l_detail_tax_line_id_tbl,
1263 l_tax_rate_tbl,
1264 l_document_sub_type_tbl,
1265 l_vat_amt_tbl);
1266
1267 IF ( g_level_statement>= g_current_runtime_level ) THEN
1268 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1269 'Before Call to GET_TAXABLE_AMOUNT');
1270 END IF;
1271
1272 -- Get Taxable Amount
1273 GET_TAXABLE_AMOUNT(P_VAT_TAX_TYPE,
1274 NULL,
1275 P_REPORT_NAME,
1276 P_REQUEST_ID,
1277 l_detail_tax_line_id_tbl,
1278 l_trx_line_id_tbl,
1279 l_trx_id_tbl,
1280 l_tax_rate_tbl,
1281 l_document_sub_type_tbl,
1282 l_taxable_amt_tbl);
1283
1284 IF ( g_level_statement>= g_current_runtime_level ) THEN
1285 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1286 'Before Call to GET_NON_TAXABLE_AMOUNT');
1287 END IF;
1288 -- Get Non Taxable Amount
1289 GET_NON_TAXABLE_AMOUNT(P_NON_TAXAB_TAX_TYPE,
1290 P_VAT_TAX_TYPE,
1291 P_VAT_ADDIT_TAX_TYPE,
1292 NULL, --P_VAT_PERCEP_TAX_TYPE,
1293 P_REPORT_NAME,
1294 p_REQUEST_ID,
1295 l_trx_id_tbl,
1296 l_detail_tax_line_id_tbl,
1297 l_trx_line_id_tbl,
1298 l_tax_rate_tbl,
1299 l_non_taxable_amt_tbl);
1300
1301 IF ( g_level_statement>= g_current_runtime_level ) THEN
1302 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1303 'Before Call to GET_VAT_EXEMPT_AMOUNT');
1304 END IF;
1305 -- Get Vat Exempt Amount
1306 GET_VAT_EXEMPT_AMOUNT(P_VAT_TAX_TYPE,
1307 NULL, -- P_VAT_ADDIT_TAX
1308 NULL, -- P_VAT_PERCEP_TAX
1309 P_REPORT_NAME,
1310 NULL, -- P_TAX_REGIME
1311 P_REQUEST_ID,
1312 l_trx_id_tbl,
1313 l_trx_line_id_tbl,
1314 l_tax_rate_tbl,
1315 l_document_sub_type_tbl,
1316 l_vat_exempt_amt_tbl);
1317
1318 IF ( g_level_statement>= g_current_runtime_level ) THEN
1319 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1320 'Before Call to GET_VAT_PERCEPTION_AMOUNT');
1321 END IF;
1322 -- Get Vat Perception Amount
1323 GET_VAT_PERCEPTION_AMOUNT(P_VAT_PERC_TAX_TYPE_FROM,
1324 P_VAT_PERC_TAX_TYPE_TO,
1325 NULL, -- P_VAT_PERC_TAX,
1326 NULL, -- P_TAX_REGIME,
1327 P_REPORT_NAME,
1328 P_REQUEST_ID,
1329 l_trx_id_tbl,
1330 l_trx_line_id_tbl,
1331 l_tax_rate_tbl,
1332 l_vat_perc_amt_tbl);
1333
1334 IF ( g_level_statement>= g_current_runtime_level ) THEN
1335 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1336 'Before Call to GET_OTHER_FED_PERC_AMOUNT');
1337 END IF;
1338 -- Get Other Federal Perception Amount
1339 GET_OTHER_FED_PERC_AMOUNT(P_FED_PERC_TAX_TYPE_FROM,
1340 P_FED_PERC_TAX_TYPE_TO,
1341 NULL, -- P_VAT_PERC_TAX,
1342 NULL, -- P_TAX_REGIME,
1343 P_REPORT_NAME,
1344 P_REQUEST_ID,
1345 l_trx_id_tbl,
1346 l_tax_rate_tbl,
1347 l_other_fed_perc_amt_tbl);
1348
1349 IF ( g_level_statement>= g_current_runtime_level ) THEN
1350 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1351 'Before Call to GET_PROVINCIAL_PERC_AMOUNT');
1352 END IF;
1353 -- Get Provincial Amount
1354 GET_PROVINCIAL_PERC_AMOUNT(P_PROV_TAX_TYPE_FROM,
1355 P_PROV_TAX_TYPE_TO,
1356 NULL, -- P_PROV_TAX_REGIME
1357 P_REPORT_NAME,
1358 P_REQUEST_ID,
1359 l_trx_id_tbl,
1360 l_tax_rate_id_tbl,
1361 l_prov_perc_amt_tbl);
1362
1363 IF ( g_level_statement>= g_current_runtime_level ) THEN
1364 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1365 'Before Call to GET_MUNICIPAL_PERC_AMOUNT');
1366 END IF;
1367 -- Get Municipal Perception Amount
1368 GET_MUNICIPAL_PERC_AMOUNT(P_MUN_TAX_TYPE_FROM,
1369 P_MUN_TAX_TYPE_TO,
1370 NULL, -- P_MUN_TAX_REGIME
1371 P_REPORT_NAME,
1372 P_REQUEST_ID,
1373 l_trx_id_tbl,
1374 l_tax_rate_id_tbl,
1375 l_munic_perc_amt_tbl);
1376
1377 IF ( g_level_statement>= g_current_runtime_level ) THEN
1378 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1379 'Before Call to GET_EXCISE_TAX_AMOUNT');
1380 END IF;
1381 -- Get Excise Tax Amount
1382 GET_EXCISE_TAX_AMOUNT(P_EXC_TAX_TYPE_FROM,
1383 P_EXC_TAX_TYPE_TO,
1384 NULL, --P_EXC_TAX_REGIME,
1385 P_REPORT_NAME,
1386 P_REQUEST_ID,
1387 l_trx_id_tbl,
1388 l_excise_amt_tbl);
1389
1390 IF ( g_level_statement>= g_current_runtime_level ) THEN
1391 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1392 'Before Call to GET_TOTAL_DOCUMENT_AMOUNT');
1393 END IF;
1394 -- Get Total Document Amount
1395 GET_TOTAL_DOCUMENT_AMOUNT(l_trx_id_tbl,
1396 l_exchange_rate_tbl,
1397 P_REPORT_NAME,
1398 l_total_doc_amt_tbl);
1399
1400 -- Insert lines into JX EXT Table with Calculated amount --
1401
1402 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
1403
1404 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
1405 detail_tax_line_id,
1406 numeric9,
1407 numeric10,
1408 numeric8,
1409 numeric2,
1410 numeric3,
1411 numeric7,
1412 numeric4,
1413 numeric5,
1414 numeric6,
1415 numeric12,
1416 attribute4,
1417 attribute19,
1418 attribute23,
1419 attribute20,
1420 gdf_ap_invoices_att13,
1421 attribute21,
1422 attribute22,
1423 created_by,
1424 creation_date,
1425 last_updated_by,
1426 last_update_date,
1427 last_update_login,
1428 request_id)
1429 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
1430 l_detail_tax_line_id_tbl(i),
1431 l_vat_amt_tbl(i),
1432 l_taxable_amt_tbl(i),
1433 l_non_taxable_amt_tbl(i),
1434 l_vat_exempt_amt_tbl(i),
1435 l_vat_perc_amt_tbl(i),
1436 l_other_fed_perc_amt_tbl(i),
1437 l_prov_perc_amt_tbl(i),
1438 l_munic_perc_amt_tbl(i),
1439 l_excise_amt_tbl(i),
1440 l_total_doc_amt_tbl(i),
1441 l_dgi_trx_code_tbl(i),
1442 l_cai_number_tbl(i),
1443 l_cai_due_date_tbl(i),
1444 l_fiscal_printer_tbl(i),
1445 l_dgi_doc_type_tbl(i),
1446 l_taxpayerid_type_tbl(i),
1447 l_reg_status_code_tbl(i),
1448 fnd_global.user_id,
1449 sysdate,
1450 fnd_global.user_id,
1451 sysdate,
1452 fnd_global.login_id,
1453 p_request_id);
1454
1455 IF ( g_level_statement>= g_current_runtime_level ) THEN
1456 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1457 'After insertion into zx_rep_trx_jx_ext_t ');
1458 END IF;
1459
1460 -- Delete Unwanted lines from Detail ITF
1461
1462 DELETE from zx_rep_trx_detail_t itf
1463 WHERE itf.request_id = p_request_id
1464 AND NOT EXISTS ( SELECT 1
1465 FROM zx_rep_trx_jx_ext_t ext
1466 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
1467
1468 UPDATE_DGI_CURR_CODE(p_request_id);
1469
1470
1471 EXCEPTION
1472 WHEN OTHERS THEN
1473 IF ( g_level_statement>= g_current_runtime_level ) THEN
1474 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1475 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
1476 END IF;
1477 END;
1478
1479 ELSIF P_REPORT_NAME = 'ZXCLPPLR' THEN
1480
1481 BEGIN
1482
1483 -- ------------------------------------------------ --
1484 -- Get filtered tax lines --
1485 -- in this case, you need to group the lines by trx --
1486 -- ------------------------------------------------ --
1487 --Changes done for the Bug 5413860 :
1488
1489 SELECT min(itf1.detail_tax_line_id),
1490 itf1.trx_line_id,
1491 trx_id,
1492 tax_rate_id tax_rate,
1493 document_sub_type
1494 BULK COLLECT INTO l_detail_tax_line_id_tbl,
1495 l_trx_line_id_tbl,
1496 l_trx_id_tbl,
1497 l_tax_rate_tbl,
1498 l_document_sub_type_tbl
1499 FROM zx_rep_trx_detail_t itf1 ,
1500 zx_fc_codes_denorm_b fc
1501 WHERE itf1.request_id = P_REQUEST_ID
1502 AND itf1.cancel_flag = 'N'
1503 -- AND itf1.posted_flag = 'Y' --Bug 5413860
1504 AND ( itf1.reverse_flag IS NULL OR itf1.reverse_flag <>'Y')
1505 AND itf1.document_sub_type = fc.concat_classif_code
1506 AND fc.classification_type_code = 'DOCUMENT_SUBTYPE'
1507 GROUP BY trx_id,
1508 itf1.trx_line_id,
1509 tax_rate_id ,
1510 document_sub_type;
1511
1512
1513 /* SELECT min(itf1.detail_tax_line_id),
1514 trx_id,
1515 null tax_rate,
1516 document_sub_type
1517 BULK COLLECT INTO l_detail_tax_line_id_tbl,
1518 l_trx_id_tbl,
1519 l_tax_rate_tbl,
1520 l_document_sub_type_tbl
1521 FROM zx_rep_trx_detail_t itf1
1522 WHERE itf1.request_id = P_REQUEST_ID
1523 AND itf1.cancel_flag = 'N'
1524 AND itf1.posted_flag = 'Y'
1525 AND ( itf1.reverse_flag IS NULL OR itf1.reverse_flag <>'Y')
1526 AND itf1.document_sub_type IN ( 'DOCUMENT TYPE.JL_CL_FOREIGN_INVOICE',
1527 'DOCUMENT TYPE.JL_CL_DOMESTIC_INVOICE',
1528 'DOCUMENT TYPE.JL_CL_CREDIT_MEMO',
1529 'DOCUMENT TYPE.JL_CL_DEBIT_MEMO')
1530 GROUP BY itf1.trx_id,document_sub_type;
1531 */
1532 IF ( g_level_statement>= g_current_runtime_level ) THEN
1533 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1534 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
1535 END IF;
1536 --Bug 5058043
1537 IF (g_level_procedure >= g_current_runtime_level ) THEN
1538 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1539 'Before call to GET_LOOKUP_INFO ');
1540 END IF;
1541 -- Get Lookup Info
1542 GET_LOOKUP_INFO(l_document_sub_type_tbl,
1543 l_jlcl_ap_doc_type_mng_tbl,
1544 l_order_by_doc_type_tbl);
1545
1546
1547 IF (g_level_procedure >= g_current_runtime_level ) THEN
1548 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1549 'Before call to GET_LOOKUP_INFO ');
1550 END IF;
1551 -- Get Counted sum doc
1552 GET_COUNTED_SUM_DOC(P_REPORT_NAME,
1553 P_REQUEST_ID,
1554 l_document_sub_type_tbl,
1555 l_cl_num_of_doc_tbl,
1556 l_cl_total_exempt_tbl,
1557 l_cl_total_effective_tbl,
1558 l_cl_total_vat_tax_tbl,
1559 l_cl_total_other_tax_tbl);
1560
1561 IF (g_level_procedure >= g_current_runtime_level ) THEN
1562 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1563 'Before call to GET_VAT_AMOUNT ');
1564 END IF;
1565 -- Get Vat Amount
1566 GET_VAT_AMOUNT(P_VAT_TAX_TYPE,
1567 NULL,
1568 P_REPORT_NAME,
1569 P_REQUEST_ID,
1570 l_trx_id_tbl,
1571 l_detail_tax_line_id_tbl,
1572 l_tax_rate_tbl,
1573 l_document_sub_type_tbl,
1574 l_vat_amt_tbl);
1575
1576 IF (g_level_procedure >= g_current_runtime_level ) THEN
1577 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1578 'Before call to GET_TAXABLE_AMOUNT ');
1579 END IF;
1580 -- Get Taxable Amount
1581 GET_TAXABLE_AMOUNT(P_VAT_TAX_TYPE,
1582 NULL,
1583 P_REPORT_NAME,
1584 P_REQUEST_ID,
1585 l_detail_tax_line_id_tbl,
1586 l_trx_line_id_tbl,
1587 l_trx_id_tbl,
1588 l_tax_rate_tbl,
1589 l_document_sub_type_tbl,
1590 l_taxable_amt_tbl);
1591
1592 IF (g_level_procedure >= g_current_runtime_level ) THEN
1593 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1594 'Before call to GET_VAT_EXEMPT_AMOUNT ');
1595 END IF;
1596 -- Get Vat Exempt Amount
1597 GET_VAT_EXEMPT_AMOUNT(P_VAT_TAX_TYPE,
1598 NULL, -- P_VAT_ADDIT_TAX
1599 NULL, -- P_VAT_PERCEP_TAX
1600 P_REPORT_NAME,
1601 NULL, -- P_TAX_REGIME
1602 P_REQUEST_ID,
1603 l_trx_id_tbl,
1604 l_trx_line_id_tbl,
1605 l_tax_rate_tbl,
1606 l_document_sub_type_tbl,
1607 l_vat_exempt_amt_tbl);
1608
1609 IF (g_level_procedure >= g_current_runtime_level ) THEN
1610 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1611 'Before call to GET_OTHER_TAX_AMOUNT ');
1612 END IF;
1613 -- Get Other Tax Amount
1614 GET_OTHER_TAX_AMOUNT(P_REPORT_NAME,
1615 p_REQUEST_ID,
1616 l_trx_id_tbl,
1617 l_tax_rate_tbl,
1618 l_document_sub_type_tbl,
1619 l_other_tax_amt_tbl);
1620
1621 IF (g_level_procedure >= g_current_runtime_level ) THEN
1622 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1623 'Before call to GET_TOTAL_DOC_TAXABLE_AMOUNT ');
1624 END IF;
1625 -- Get Total Doc taxable Amount
1626 GET_TOTAL_DOC_TAXABLE_AMOUNT(l_trx_id_tbl,
1627 P_REQUEST_ID,
1628 l_total_doc_taxab_amt_tbl);
1629
1630 -- Insert lines into JX EXT Table with Calculated amount --
1631
1632 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
1633
1634 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
1635 detail_tax_line_id,
1636 numeric9,--l_vat_amt_tbl
1637 numeric10,--l_taxable_amt_tbl
1638 numeric2,--l_vat_exempt_amt_tbl
1639 numeric7,--l_other_tax_amt_tbl
1640 numeric3,--l_cl_num_of_doc_tbl
1641 numeric4,--l_cl_total_exempt_tbl
1642 numeric5,--l_cl_total_effective_tbl
1643 numeric6,--l_cl_total_vat_tax_tbl
1644 numeric11,--l_cl_total_other_tax_tbl
1645 numeric1,--total doc amt
1646 numeric8,--l_total_doc_taxab_amt_tbl
1647 attribute14,--l_order_by_doc_type_tbl
1648 document_sub_type_mng,
1649 created_by,
1650 creation_date,
1651 last_updated_by,
1652 last_update_date,
1653 last_update_login)
1654 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
1655 l_detail_tax_line_id_tbl(i),
1656 l_vat_amt_tbl(i),
1657 l_taxable_amt_tbl(i),
1658 l_vat_exempt_amt_tbl(i),
1659 l_other_tax_amt_tbl(i),
1660 l_cl_num_of_doc_tbl(i),
1661 l_cl_total_exempt_tbl(i),
1662 l_cl_total_effective_tbl(i),
1663 l_cl_total_vat_tax_tbl(i),
1664 l_cl_total_other_tax_tbl(i),
1665 NVL(l_vat_exempt_amt_tbl(i),0)+NVL(l_taxable_amt_tbl(i),0)+NVL(l_vat_amt_tbl(i),0)+NVL(l_other_tax_amt_tbl(i),0),
1666 -- l_total_doc_taxab_amt_tbl(i),
1667 nvl(l_cl_total_exempt_tbl(i),0)+nvl(l_cl_total_effective_tbl(i),0)+nvl(l_cl_total_vat_tax_tbl(i),0)+nvl(l_cl_total_other_tax_tbl(i),0),
1668 l_order_by_doc_type_tbl(i),
1669 l_jlcl_ap_doc_type_mng_tbl(i),
1670 fnd_global.user_id,
1671 sysdate,
1672 fnd_global.user_id,
1673 sysdate,
1674 fnd_global.login_id);
1675
1676 IF ( g_level_statement>= g_current_runtime_level ) THEN
1677 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1678 'After insertion into zx_rep_trx_jx_ext_t ');
1679 END IF;
1680 -- Delete Unwanted lines from Detail ITF
1681
1682
1683 DELETE from zx_rep_trx_detail_t itf
1684 WHERE itf.request_id = p_request_id
1685 AND NOT EXISTS ( SELECT 1
1686 FROM zx_rep_trx_jx_ext_t ext
1687 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
1688
1689
1690 IF ( g_level_statement>= g_current_runtime_level ) THEN
1691 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1692 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
1693 END IF;
1694
1695 EXCEPTION
1696
1697 WHEN OTHERS THEN
1698 l_err_msg := substrb(SQLERRM,1,120);
1699 IF (g_level_procedure >= g_current_runtime_level ) THEN
1700 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP.END',
1701 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP:'||p_report_name || '.'||l_err_msg);
1702 END IF;
1703
1704 END;
1705
1706 ELSIF P_REPORT_NAME = 'JLARPPTF' THEN
1707
1708 DELETE from zx_rep_trx_detail_t itf
1709 WHERE itf.request_id = p_request_id
1710 AND (NVL(itf.reverse_flag,'N') = 'Y'
1711 OR itf.tax_type_code <> NVL(p_trl_global_variables_rec.per_tax_type_code_high,
1712 p_trl_global_variables_rec.per_tax_type_code_low));
1713 /*AND NOT EXISTS ( SELECT 1
1714 FROM zx_rep_actg_ext_t actg
1715 WHERE actg.detail_tax_line_id = itf.detail_tax_line_id
1716 AND actg.accounting_date between p_trl_global_variables_rec.gl_date_low
1717 AND p_trl_global_variables_rec.gl_date_high)*/
1718
1719 DELETE from zx_rep_actg_ext_t actg
1720 WHERE actg.request_id = p_request_id
1721 AND NOT EXISTS ( SELECT 1 FROM zx_rep_trx_detail_t itf
1722 WHERE actg.detail_tax_line_id = itf.detail_tax_line_id);
1723
1724 SELECT detail_tax_line_id,
1725 trx_line_id,
1726 trx_id,
1727 tax_rate,
1728 tax_rate_id,
1729 tax_regime_code
1730 BULK COLLECT INTO l_detail_tax_line_id_tbl,
1731 l_trx_line_id_tbl,
1732 l_trx_id_tbl,
1733 l_tax_rate_tbl,
1734 l_tax_rate_id_tbl,
1735 l_tax_regime_code_tbl
1736 FROM zx_rep_trx_detail_t
1737 WHERE request_id = p_request_id;
1738
1739
1740 GET_TAX_AUTH_CATEG(
1741 l_trx_id_tbl,
1742 l_tax_regime_code_tbl,
1743 l_tax_rate_id_tbl,
1744 l_tax_auth_categ_tbl);
1745
1746 -- Insert lines into JX EXT Table with Calculated amount --
1747
1748 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
1749
1750 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
1751 detail_tax_line_id,
1752 attribute10,
1753 created_by,
1754 creation_date,
1755 last_updated_by,
1756 last_update_date,
1757 last_update_login)
1758 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
1759 l_detail_tax_line_id_tbl(i),
1760 l_tax_auth_categ_tbl(i),
1761 fnd_global.user_id,
1762 sysdate,
1763 fnd_global.user_id,
1764 sysdate,
1765 fnd_global.login_id);
1766
1767 IF ( g_level_statement>= g_current_runtime_level ) THEN
1768 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
1769 'After insertion into zx_rep_trx_jx_ext_t ');
1770 END IF;
1771
1772 END IF; -- End of P_REPORT_NAME = ..
1773
1774 IF (g_level_procedure >= g_current_runtime_level ) THEN
1775 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP.END',
1776 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AP(-)');
1777 END IF;
1778
1779
1780 END populate_jl_ap;
1781
1782 /*======================================================================================+
1783 | PROCEDURE |
1784 | POPULATER_AR_TAX_AMOUNT |
1785 | Type : Private |
1786 | Pre-req : None |
1787 | Function : |
1788 | This procedure extract tax amount for various tax categories |
1789 | from zx_rep_trx_jx_ext_t table to meet the requirement in |
1790 | the flat file |
1791 | |
1792 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
1793 | |
1794 | Parameters : |
1795 | IN : P_MUN_TAX_REGIME IN VARCHAR2 Opt |
1796 | |
1797 | MODIFICATION HISTORY |
1798 | 07-Nov-03 Hidetaka Kojima created |
1799 | 17-Feb-04 Hidekoji Modified parameters |
1800 | |
1801 +======================================================================================*/
1802
1803
1804 PROCEDURE POPULATE_JL_AR(
1805 P_TRL_GLOBAL_VARIABLES_REC IN ZX_EXTRACT_PKG.TRL_GLOBAL_VARIABLES_REC_TYPE
1806 )
1807 IS
1808
1809 P_TAX_REGIME VARCHAR2(30);
1810 P_MUN_TAX_REGIME VARCHAR2(30);
1811 P_PROV_TAX_REGIME VARCHAR2(30);
1812 P_EXC_TAX VARCHAR2(30);
1813 P_VAT_ADDIT_TAX VARCHAR2(30);
1814 P_VAT_NON_TAXAB_TAX VARCHAR2(30);
1815 P_VAT_NOT_CATEG_TAX VARCHAR2(30);
1816 P_VAT_PERC_TAX VARCHAR2(30);
1817 P_VAT_TAX VARCHAR2(30);
1818 P_TRX_LETTER_FROM VARCHAR2(30);
1819 P_TRX_LETTER_TO VARCHAR2(30);
1820 P_REPORT_NAME VARCHAR2(30);
1821 P_REQUEST_ID NUMBER;
1822
1823 l_detail_tax_line_id_tbl ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL;
1824 l_trx_line_id_tbl ZX_EXTRACT_PKG.TRX_LINE_ID_TBL;
1825 l_trx_id_tbl ZX_EXTRACT_PKG.TRX_ID_TBL;
1826 l_batch_source_id_tbl ZX_EXTRACT_PKG.BATCH_SOURCE_ID_TBL;
1827 l_internal_org_id_tbl ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL;
1828 l_trx_number_tbl ZX_EXTRACT_PKG.TRX_NUMBER_TBL;
1829 l_trx_type_id_tbl ZX_EXTRACT_PKG.TRX_TYPE_ID_TBL;
1830 l_tax_rate_tbl ZX_EXTRACT_PKG.TAX_RATE_TBL;
1831 l_tax_rate_id_tbl ZX_EXTRACT_PKG.TAX_RATE_ID_TBL;
1832 l_document_sub_type_tbl ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL;
1833 l_exchange_rate_tbl ZX_EXTRACT_PKG.CURRENCY_CONVERSION_RATE_TBL;
1834
1835 l_not_reg_tax_amt_tbl NUMERIC1_TBL;
1836 l_vat_exempt_amt_tbl NUMERIC2_TBL;
1837 l_vat_perc_amt_tbl NUMERIC3_TBL;
1838 l_prov_perc_amt_tbl NUMERIC4_TBL;
1839 l_munic_perc_amt_tbl NUMERIC5_TBL;
1840 l_excise_amt_tbl NUMERIC6_TBL;
1841 l_other_tax_amt_tbl NUMERIC7_TBL;
1842 l_non_taxable_amt_tbl NUMERIC8_TBL;
1843 l_vat_amt_tbl NUMERIC9_TBL;
1844 l_taxable_amt_tbl NUMERIC10_TBL;
1845 l_vat_additional_amt_tbl NUMERIC7_TBL;
1846 l_total_doc_amt_tbl NUMERIC12_TBL;
1847 l_rec_count_tbl NUMERIC11_TBL;
1848 l_rate_count_tbl NUMERIC13_TBL;
1849
1850 l_tax_authority_code ZX_REP_TRX_JX_EXT_T.ATTRIBUTE10%TYPE;
1851 l_dgi_code_tbl ATTRIBUTE11_TBL;
1852 l_cust_condition_code_tbl ATTRIBUTE7_TBL;
1853 l_dgi_tax_regime_code_tbl ATTRIBUTE25_TBL;
1854 l_vat_reg_stat_code_tbl ATTRIBUTE8_TBL;
1855 l_prov_juris_code_tbl ATTRIBUTE1_TBL;
1856 l_mun_juris_code_tbl ATTRIBUTE3_TBL;
1857 l_fiscal_printer_tbl GDF_RA_BATCH_SOURCES_ATT7_TBL;
1858 l_cai_number_tbl ATTRIBUTE19_TBL;
1859 l_cai_due_date_tbl ATTRIBUTE23_TBL;
1860 l_dgi_trx_code_tbl ATTRIBUTE4_TBL;
1861 l_count NUMBER;
1862 l_tax_regime_code_tbl ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL;
1863
1864 l_tax_catg_desc zx_rep_trx_jx_ext_t.attribute1%type; --bug 5251425
1865 l_extended_amt_tbl NUMERIC10_TBL; --Bug 5396444
1866 BEGIN
1867
1868 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1869
1870 IF (g_level_procedure >= g_current_runtime_level ) THEN
1871 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR.BEGIN',
1872 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AR(+)');
1873 END IF;
1874
1875 -- Get necessary parameters from TRL Global Variables
1876
1877 P_TAX_REGIME := P_TRL_GLOBAL_VARIABLES_REC.TAX_REGIME_CODE;
1878 P_MUN_TAX_REGIME := P_TRL_GLOBAL_VARIABLES_REC.MUNICIPAL_TAX;
1879 P_PROV_TAX_REGIME := P_TRL_GLOBAL_VARIABLES_REC.PROVINCIAL_TAX;
1880 P_EXC_TAX := P_TRL_GLOBAL_VARIABLES_REC.EXCISE_TAX;
1881 P_VAT_ADDIT_TAX := P_TRL_GLOBAL_VARIABLES_REC.VAT_ADDITIONAL_TAX;
1882 P_VAT_NON_TAXAB_TAX := P_TRL_GLOBAL_VARIABLES_REC.VAT_NON_TAXABLE_TAX;
1883 P_VAT_NOT_CATEG_TAX := P_TRL_GLOBAL_VARIABLES_REC.VAT_NOT_TAX;
1884 P_VAT_PERC_TAX := P_TRL_GLOBAL_VARIABLES_REC.VAT_PERCEPTION_TAX;
1885 P_VAT_TAX := P_TRL_GLOBAL_VARIABLES_REC.VAT_TAX;
1886 P_VAT_NON_TAXAB_TAX := P_TRL_GLOBAL_VARIABLES_REC.VAT_NON_TAXABLE_TAX;
1887 P_TRX_LETTER_FROM := P_TRL_GLOBAL_VARIABLES_REC.TRX_LETTER_LOW;
1888 P_TRX_LETTER_TO := P_TRL_GLOBAL_VARIABLES_REC.TRX_LETTER_HIGH;
1889 P_REPORT_NAME := P_TRL_GLOBAL_VARIABLES_REC.REPORT_NAME;
1890 P_REQUEST_ID := P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID;
1891
1892 IF ( g_level_statement>= g_current_runtime_level ) THEN
1893 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_TAX_REGIME :'||P_TAX_REGIME );
1894 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_MUN_TAX_REGIME :'||P_MUN_TAX_REGIME );
1895 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_PROV_TAX_REGIME :'||P_PROV_TAX_REGIME );
1896 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_EXC_TAX :'||P_EXC_TAX );
1897 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_VAT_ADDIT_TAX :'||P_VAT_ADDIT_TAX );
1898 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_VAT_NON_TAXAB_TAX :'||P_VAT_NON_TAXAB_TAX);
1899 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_VAT_NOT_CATEG_TAX :'||P_VAT_NOT_CATEG_TAX);
1900 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_VAT_PERC_TAX :'||P_VAT_PERC_TAX );
1901 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_VAT_TAX :'||P_VAT_TAX );
1902 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_VAT_NON_TAXAB_TAX :'||P_VAT_NON_TAXAB_TAX);
1903 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_TRX_LETTER_FROM :'||P_TRX_LETTER_FROM );
1904 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_TRX_LETTER_TO :'||P_TRX_LETTER_TO );
1905 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_REPORT_NAME :'||P_REPORT_NAME );
1906 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR','P_REQUEST_ID :'||P_REQUEST_ID );
1907 END IF;
1908
1909
1910
1911
1912 IF P_REPORT_NAME = 'JLZZTCFF' THEN
1913
1914 BEGIN
1915
1916 IF (g_level_procedure >= g_current_runtime_level ) THEN
1917 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
1918 'JLZZTCFF : Filter ');
1919 END IF;
1920
1921 /*
1922 SELECT min(detail_tax_line_id) detail_tax_line_id,
1923 trx_id,
1924 internal_organization_id,
1925 null tax_rate,
1926 null document_sub_type
1927 BULK COLLECT INTO l_detail_tax_line_id_tbl,
1928 l_trx_id_tbl,
1929 l_internal_org_id_tbl,
1930 l_tax_rate_tbl,
1931 l_document_sub_type_tbl
1932 FROM zx_rep_trx_detail_t itf,
1933 ra_customer_trx_all rcta
1934 WHERE itf.request_id = P_REQUEST_ID
1935 AND rcta.customer_trx_id = itf.trx_id
1936 AND itf.extract_source_ledger = 'AR'
1937 AND itf.trx_line_class = 'CREDIT_MEMO'
1938 AND rcta.global_attribute19 is NULL
1939 AND substr(itf.trx_number,1,1) BETWEEN P_TRX_LETTER_FROM AND P_TRX_LETTER_TO
1940 AND nvl(itf.tax_type_code, 'VAT') = 'VAT'
1941 GROUP BY itf.internal_organization_id, itf.trx_id;
1942 */
1943 SELECT min(detail_tax_line_id) detail_tax_line_id,
1944 trx_id,
1945 trx_number,
1946 internal_organization_id,
1947 null tax_rate,
1948 null document_sub_type
1949 BULK COLLECT INTO l_detail_tax_line_id_tbl,
1950 l_trx_id_tbl,
1951 l_trx_number_tbl,
1952 l_internal_org_id_tbl,
1953 l_tax_rate_tbl,
1954 l_document_sub_type_tbl
1955 FROM zx_rep_trx_detail_t itf
1956 WHERE itf.request_id = P_REQUEST_ID
1957 AND itf.extract_source_ledger = 'AR'
1958 AND itf.trx_line_class = 'CREDIT_MEMO'
1959 AND NVL(itf.application_doc_status,'$')<>'VD'
1960 AND substr(itf.trx_number,1,1) BETWEEN P_TRX_LETTER_FROM AND P_TRX_LETTER_TO
1961 AND nvl(itf.tax_type_code, 'VAT') = 'VAT'
1962 GROUP BY itf.internal_organization_id, itf.trx_id,
1963 itf.trx_number ;
1964
1965 IF ( g_level_statement>= g_current_runtime_level ) THEN
1966 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
1967 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
1968 END IF;
1969
1970 GET_DGI_CODE(l_trx_number_tbl,
1971 l_trx_type_id_tbl,
1972 l_internal_org_id_tbl,
1973 l_dgi_code_tbl);
1974
1975
1976 IF ( g_level_statement>= g_current_runtime_level ) THEN
1977 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
1978 'Before call to GET_VAT_AMOUNT ');
1979 END IF;
1980 -- Get Vat Amount
1981 GET_VAT_AMOUNT(P_VAT_TAX,
1982 P_TAX_REGIME,
1983 P_REPORT_NAME,
1984 P_REQUEST_ID,
1985 l_trx_id_tbl,
1986 l_detail_tax_line_id_tbl,
1987 l_tax_rate_tbl,
1988 l_document_sub_type_tbl,
1989 l_vat_amt_tbl);
1990
1991 -- Insert lines into JX EXT Table with Calculated amount --
1992
1993 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
1994
1995 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
1996 detail_tax_line_id,
1997 numeric9,
1998 attribute11,
1999 created_by,
2000 creation_date,
2001 last_updated_by,
2002 last_update_date,
2003 last_update_login,
2004 request_id)
2005 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
2006 l_detail_tax_line_id_tbl(i),
2007 l_vat_amt_tbl(i),
2008 l_dgi_code_tbl(i),
2009 fnd_global.user_id,
2010 sysdate,
2011 fnd_global.user_id,
2012 sysdate,
2013 fnd_global.login_id,
2014 p_request_id);
2015
2016 IF ( g_level_statement>= g_current_runtime_level ) THEN
2017 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2018 'After insertion into zx_rep_trx_jx_ext_t ');
2019 END IF;
2020 -- Delete Unwanted lines from Detail ITF
2021
2022 DELETE from zx_rep_trx_detail_t itf
2023 WHERE itf.request_id = p_request_id
2024 AND NOT EXISTS ( SELECT 1
2025 FROM zx_rep_trx_jx_ext_t ext
2026 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
2027
2028 IF ( g_level_statement>= g_current_runtime_level ) THEN
2029 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2030 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
2031 END IF;
2032
2033 IF (g_level_procedure >= g_current_runtime_level ) THEN
2034 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2035 'JLZZTCFF : Call End ');
2036 END IF;
2037
2038 EXCEPTION
2039 WHEN OTHERS THEN
2040 l_err_msg := substrb(SQLERRM,1,120);
2041 IF (g_level_procedure >= g_current_runtime_level ) THEN
2042 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2043 'JLZZTCFF : Exception '||p_report_name || '.'||l_err_msg);
2044 END IF;
2045
2046 END;
2047
2048
2049 ELSIF P_REPORT_NAME = 'JLARTPFF' THEN
2050
2051 BEGIN
2052 IF (g_level_procedure >= g_current_runtime_level ) THEN
2053 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2054 'JLARTPFF : Filter ');
2055 END IF;
2056 -- DELETE from ZX_REP_TRX_DETAIL_T DET
2057 -- WHERE DET.REQUEST_ID = P_TRL_GLOBAL_VARIABLES_REC.REQUEST_ID
2058 -- AND det.TAX <> P_TRL_GLOBAL_VARIABLES_REC.VAT_PERCEPTION_TAX;
2059
2060 SELECT detail_tax_line_id,
2061 itf1.trx_line_id,
2062 trx_id,
2063 internal_organization_id,
2064 tax_rate,
2065 document_sub_type,
2066 currency_conversion_rate
2067 BULK COLLECT INTO l_detail_tax_line_id_tbl,
2068 l_trx_line_id_tbl,
2069 l_trx_id_tbl,
2070 l_internal_org_id_tbl,
2071 l_tax_rate_tbl,
2072 l_document_sub_type_tbl,
2073 l_exchange_rate_tbl
2074 FROM zx_rep_trx_detail_t itf1
2075 -- ra_customer_trx rct
2076 WHERE itf1.request_id = P_REQUEST_ID
2077 -- AND rct.customer_trx_id = itf1.trx_id
2078 AND itf1.trx_line_class in ('INVOICE','DEBIT_MEMO','CREDIT_MEMO')
2079 AND NVL(itf1.application_doc_status,'$') <>'VD'
2080 AND itf1.tax =P_TRL_GLOBAL_VARIABLES_REC.VAT_PERCEPTION_TAX ;
2081 --AND rct.global_attribute19 is null
2082 --AND itf1.doc_event_status = 'FROZEN_FOR_TAX';
2083
2084 IF ( g_level_statement>= g_current_runtime_level ) THEN
2085 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2086 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
2087 END IF;
2088
2089 IF ( g_level_statement>= g_current_runtime_level ) THEN
2090 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2091 'Before call to GET_TAXABLE_AMOUNT ');
2092 END IF;
2093 -- Get Taxable Amount
2094 GET_TAXABLE_AMOUNT(P_VAT_TAX,
2095 P_TAX_REGIME,
2096 P_REPORT_NAME,
2097 P_REQUEST_ID,
2098 l_detail_tax_line_id_tbl,
2099 l_trx_line_id_tbl,
2100 l_trx_id_tbl,
2101 l_tax_rate_tbl,
2102 l_document_sub_type_tbl,
2103 l_taxable_amt_tbl);
2104
2105 IF ( g_level_statement>= g_current_runtime_level ) THEN
2106 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2107 'Before call to GET_VAT_PERCEPTION_AMOUNT ');
2108 END IF;
2109 -- Get Vat Perception Amount
2110 GET_VAT_PERCEPTION_AMOUNT(null, -- P_VAT_PERC_TAX_TYPE_FROM,
2111 null, --P_VAT_PERC_TAX_TYPE_TO,
2112 P_VAT_PERC_TAX,
2113 P_TAX_REGIME,
2114 P_REPORT_NAME,
2115 P_REQUEST_ID,
2116 l_trx_id_tbl,
2117 l_trx_line_id_tbl,
2118 l_tax_rate_tbl,
2119 l_vat_perc_amt_tbl);
2120
2121 IF ( g_level_statement>= g_current_runtime_level ) THEN
2122 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2123 'Before call to GET_TOTAL_DOCUMENT_AMOUNT ');
2124 END IF;
2125 -- Get Total Document Amount
2126 GET_TOTAL_DOCUMENT_AMOUNT(l_trx_id_tbl,
2127 l_exchange_rate_tbl,
2128 P_REPORT_NAME,
2129 l_total_doc_amt_tbl);
2130
2131 IF ( g_level_statement>= g_current_runtime_level ) THEN
2132 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2133 'Before call to GET_TAX_AUTHORITY_CODE ');
2134 END IF;
2135 -- Get Tax Authority Code
2136 l_tax_authority_code := GET_TAX_AUTHORITY_CODE(P_VAT_PERC_TAX,
2137 l_internal_org_id_tbl(1));
2138
2139 IF ( g_level_statement>= g_current_runtime_level ) THEN
2140 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2141 'Before call to GET_DGI_TAX_REGIME_CODE ');
2142 END IF;
2143
2144 GET_DGI_TAX_REGIME_CODE (P_VAT_PERC_TAX,
2145 l_trx_id_tbl ,
2146 l_trx_line_id_tbl ,
2147 l_internal_org_id_tbl,
2148 P_REQUEST_ID,
2149 l_dgi_tax_regime_code_tbl);
2150
2151 IF ( g_level_statement>= g_current_runtime_level ) THEN
2152 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2153 'Before call to GET_CUSTOMER_CONDITION_CODE ');
2154 END IF;
2155 -- Get Customer Condition Code
2156 GET_CUSTOMER_CONDITION_CODE(P_VAT_PERC_TAX,
2157 l_trx_id_tbl,
2158 l_internal_org_id_tbl,
2159 P_REQUEST_ID,
2160 l_cust_condition_code_tbl);
2161
2162 -- Insert lines into JX EXT Table with Calculated amount --
2163
2164 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
2165
2166 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
2167 detail_tax_line_id,
2168 numeric9,
2169 numeric3,
2170 numeric12,
2171 attribute10,
2172 attribute7,
2173 attribute25,
2174 request_id,
2175 created_by,
2176 creation_date,
2177 last_updated_by,
2178 last_update_date,
2179 last_update_login)
2180 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
2181 l_detail_tax_line_id_tbl(i),
2182 l_taxable_amt_tbl(i),
2183 l_vat_perc_amt_tbl(i),
2184 l_total_doc_amt_tbl(i),
2185 l_tax_authority_code,
2186 l_cust_condition_code_tbl(i),
2187 l_dgi_tax_regime_code_tbl(i),
2188 p_request_id,
2189 fnd_global.user_id,
2190 sysdate,
2191 fnd_global.user_id,
2192 sysdate,
2193 fnd_global.login_id);
2194
2195 IF ( g_level_statement>= g_current_runtime_level ) THEN
2196 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2197 'After insertion into zx_rep_trx_jx_ext_t ');
2198 END IF;
2199 -- Delete Unwanted lines from Detail ITF
2200
2201 DELETE from zx_rep_trx_detail_t itf
2202 WHERE itf.request_id = p_request_id
2203 AND NOT EXISTS ( SELECT 1
2204 FROM zx_rep_trx_jx_ext_t ext
2205 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
2206
2207 IF ( g_level_statement>= g_current_runtime_level ) THEN
2208 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2209 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
2210 END IF;
2211
2212 IF (g_level_procedure >= g_current_runtime_level ) THEN
2213 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2214 'JLARTPFF : Call End ');
2215 END IF;
2216
2217
2218 EXCEPTION
2219
2220 WHEN OTHERS THEN
2221 l_err_msg := substrb(SQLERRM,1,120);
2222 IF (g_level_procedure >= g_current_runtime_level ) THEN
2223 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2224 'JLARTPFF : Exception '||p_report_name || '.'||l_err_msg);
2225 END IF;
2226 END;
2227
2228 ELSIF P_REPORT_NAME = 'ZXZZTVSR' THEN
2229
2230 BEGIN
2231 IF (g_level_procedure >= g_current_runtime_level ) THEN
2232 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2233 'ZXZZTVSR : Filter ');
2234 END IF;
2235
2236 SELECT detail_tax_line_id,
2237 trx_line_id,
2238 trx_id,
2239 internal_organization_id,
2240 trx_number,
2241 nvl(currency_conversion_rate,1), -- Bug 5374021
2242 trx_type_id,
2243 tax_rate,
2244 tax_rate_id,
2245 document_sub_type
2246 BULK COLLECT INTO l_detail_tax_line_id_tbl,
2247 l_trx_line_id_tbl,
2248 l_trx_id_tbl,
2249 l_internal_org_id_tbl,
2250 l_trx_number_tbl,
2251 l_exchange_rate_tbl,
2252 l_trx_type_id_tbl,
2253 l_tax_rate_tbl,
2254 l_tax_rate_id_tbl,
2255 l_document_sub_type_tbl
2256 FROM
2257 ( SELECT min(itf1.detail_tax_line_id) detail_tax_line_id,
2258 itf1.trx_line_id,
2259 itf1.trx_id trx_id,
2260 itf1.internal_organization_id internal_organization_id,
2261 itf1.trx_number trx_number,
2262 itf1.currency_conversion_rate,
2263 itf1.trx_type_id,
2264 itf1.tax_rate tax_rate,
2265 itf1.tax_rate_id,
2266 null document_sub_type
2267 FROM zx_rep_trx_detail_t itf1
2268 WHERE itf1.request_id = P_REQUEST_ID
2269 AND itf1.tax = p_vat_tax
2270 AND nvl(itf1.tax_type_code,'VAT') = 'VAT'
2271 AND itf1.tax_rate <> 0
2272 GROUP BY itf1.internal_organization_id,
2273 itf1.trx_line_id,
2274 itf1.trx_id,
2275 itf1.trx_number,
2276 itf1.currency_conversion_rate,
2277 itf1.trx_type_id,
2278 itf1.tax_rate,
2279 itf1.tax_rate_id
2280 UNION
2281
2282 SELECT itf2.detail_tax_line_id,
2283 itf2.trx_line_id,
2284 itf2.trx_id trx_id,
2285 itf2.internal_organization_id internal_organization_id,
2286 itf2.trx_number trx_number,
2287 itf2.currency_conversion_rate,
2288 itf2.trx_type_id,
2289 0 tax_rate,
2290 itf2.tax_rate_id,
2291 null document_sub_type
2292 FROM zx_rep_trx_detail_t itf2
2293 WHERE itf2.request_id = P_REQUEST_ID
2294 AND NVL(itf2.tax_type_code, 'VAT') = 'VAT'
2295 AND nvl(itf2.TAX_RATE,0) = 0
2296 AND itf2.tax = p_vat_tax
2297 AND not exists (SELECT 1
2298 FROM zx_rep_trx_detail_t itf3
2299 WHERE itf3.request_id = P_REQUEST_ID
2300 AND itf2.trx_id = itf3.trx_id
2301 AND NVL(itf3.tax_type_code, 'VAT') = 'VAT'
2302 AND nvl(itf3.tax_rate,0) <> 0
2303 AND itf3.tax = p_vat_tax)
2304 /*AND rownum = 1 for GSI Bug# 7170003*/
2305
2306 UNION
2307 --Query 3 : To pick once row per trx which have non-VAT taxes
2308 SELECT itf4.detail_tax_line_id,
2309 itf4.trx_line_id,
2310 itf4.trx_id trx_id,
2311 itf4.internal_organization_id internal_organization_id,
2312 itf4.trx_number trx_number,
2313 itf4.currency_conversion_rate,
2314 itf4.trx_type_id,
2315 itf4.tax_rate,
2316 itf4.tax_rate_id,
2317 null document_sub_type
2318 FROM zx_rep_trx_detail_t itf4
2319 WHERE itf4.request_id = P_REQUEST_ID
2320 AND not exists ( SELECT 1
2321 FROM zx_rep_trx_detail_t itf5
2322 WHERE itf5.request_id = P_REQUEST_ID
2323 AND itf5.trx_id = itf4.trx_id
2324 AND itf5.tax = p_vat_tax )
2325 AND itf4.ROWID = ( SELECT Min(itf6.ROWID)
2326 FROM zx_rep_trx_detail_t itf6
2327 WHERE itf4.trx_id = itf6.trx_id
2328 AND itf6.request_id = P_REQUEST_ID )
2329 );
2330
2331 IF ( g_level_statement>= g_current_runtime_level ) THEN
2332 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2333 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
2334 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2335 'Before call to GET_VAT_AMOUNT ');
2336 END IF;
2337 -- Get Vat Amount
2338 GET_VAT_AMOUNT(P_VAT_TAX,
2339 P_TAX_REGIME,
2340 P_REPORT_NAME,
2341 P_REQUEST_ID,
2342 l_trx_id_tbl,
2343 l_detail_tax_line_id_tbl,
2344 l_tax_rate_tbl,
2345 l_document_sub_type_tbl,
2346 l_vat_amt_tbl);
2347
2348 IF ( g_level_statement>= g_current_runtime_level ) THEN
2349 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2350 'Before call to GET_TAXABLE_AMOUNT ');
2351 END IF;
2352 -- Get Taxable Amount
2353 GET_TAXABLE_AMOUNT(P_VAT_TAX,
2354 P_TAX_REGIME,
2355 P_REPORT_NAME,
2356 P_REQUEST_ID,
2357 l_detail_tax_line_id_tbl,
2358 l_trx_line_id_tbl,
2359 l_trx_id_tbl,
2360 l_tax_rate_tbl,
2361 l_document_sub_type_tbl,
2362 l_taxable_amt_tbl);
2363
2364 IF ( g_level_statement>= g_current_runtime_level ) THEN
2365 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2366 'Before call to GET_NON_TAXABLE_AMOUNT ');
2367 END IF;
2368 -- Get Non Taxable Amount
2369 GET_NON_TAXABLE_AMOUNT(P_VAT_NON_TAXAB_TAX,
2370 P_VAT_TAX,
2371 P_VAT_ADDIT_TAX,
2372 P_VAT_PERC_TAX,
2373 P_REPORT_NAME,
2374 P_REQUEST_ID,
2375 l_trx_id_tbl,
2376 l_detail_tax_line_id_tbl,
2377 l_trx_line_id_tbl,
2378 l_tax_rate_tbl,
2379 l_non_taxable_amt_tbl);
2380
2381 IF ( g_level_statement>= g_current_runtime_level ) THEN
2382 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2383 'Before call to GET_VAT_ADDITIONAL_AMOUNT ');
2384 END IF;
2385 -- Get Vat Additional Amount
2386 GET_VAT_ADDITIONAL_AMOUNT(P_VAT_ADDIT_TAX,
2387 P_REPORT_NAME,
2388 P_REQUEST_ID,
2389 l_trx_id_tbl,
2390 l_tax_rate_id_tbl,
2391 l_vat_additional_amt_tbl);
2392
2393 IF ( g_level_statement>= g_current_runtime_level ) THEN
2394 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2395 'Before call to GET_VAT_EXEMPT_AMOUNT ');
2396 END IF;
2397 -- Get Vat Exempt Amount
2398 GET_VAT_EXEMPT_AMOUNT(P_VAT_TAX,
2399 P_VAT_ADDIT_TAX,
2400 P_VAT_PERC_TAX,
2401 P_REPORT_NAME,
2402 P_TAX_REGIME,
2403 P_REQUEST_ID,
2404 l_trx_id_tbl,
2405 l_trx_line_id_tbl,
2406 l_tax_rate_tbl,
2407 l_document_sub_type_tbl,
2408 l_vat_exempt_amt_tbl);
2409
2410 IF ( g_level_statement>= g_current_runtime_level ) THEN
2411 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2412 'Before call to GET_VAT_PERCEPTION_AMOUNT ');
2413 END IF;
2414 -- Get Vat Perception Amount
2415 GET_VAT_PERCEPTION_AMOUNT(null, -- P_VAT_PERC_TAX_TYPE_FROM,
2416 null, -- P_VAT_PERC_TAX_TYPE_TO,
2417 P_VAT_PERC_TAX,
2418 P_TAX_REGIME,
2419 P_REPORT_NAME,
2420 P_REQUEST_ID,
2421 l_trx_id_tbl,
2422 l_trx_line_id_tbl,
2423 l_tax_rate_tbl,
2424 l_vat_perc_amt_tbl);
2425
2426 IF ( g_level_statement>= g_current_runtime_level ) THEN
2427 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2428 'Before call to GET_TOTAL_DOCUMENT_AMOUNT ');
2429 END IF;
2430 -- Get Total Document Amount
2431 GET_TOTAL_DOCUMENT_AMOUNT(l_trx_id_tbl,
2432 l_exchange_rate_tbl,
2433 P_REPORT_NAME,
2434 l_total_doc_amt_tbl);
2435
2436 IF ( g_level_statement>= g_current_runtime_level ) THEN
2437 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2438 'Before call to GET_DGI_CODE ');
2439 END IF;
2440 -- Get DGI Code
2441 GET_DGI_CODE(l_trx_number_tbl,
2442 l_trx_type_id_tbl,
2443 l_internal_org_id_tbl,
2444 l_dgi_code_tbl);
2445
2446 -- Insert lines into JX EXT Table with Calculated amount --
2447
2448 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
2449
2450 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
2451 detail_tax_line_id,
2452 numeric9,
2453 numeric10,
2454 numeric8,
2455 numeric7,
2456 numeric2,
2457 numeric3,
2458 numeric12,
2459 attribute11,
2460 created_by,
2461 creation_date,
2462 last_updated_by,
2463 last_update_date,
2464 last_update_login)
2465 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
2466 l_detail_tax_line_id_tbl(i),
2467 l_vat_amt_tbl(i),
2468 l_taxable_amt_tbl(i),
2469 l_non_taxable_amt_tbl(i),
2470 l_vat_additional_amt_tbl(i),
2471 l_vat_exempt_amt_tbl(i),
2472 l_vat_perc_amt_tbl(i),
2473 l_total_doc_amt_tbl(i),
2474 l_dgi_code_tbl(i),
2475 fnd_global.user_id,
2476 sysdate,
2477 fnd_global.user_id,
2478 sysdate,
2479 fnd_global.login_id);
2480
2481 IF ( g_level_statement>= g_current_runtime_level ) THEN
2482 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2483 'After insertion into zx_rep_trx_jx_ext_t ');
2484 END IF;
2485 -- Delete Unwanted lines from Detail ITF
2486
2487 DELETE from zx_rep_trx_detail_t itf
2488 WHERE itf.request_id = p_request_id
2489 AND NOT EXISTS ( SELECT 1
2490 FROM zx_rep_trx_jx_ext_t ext
2491 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
2492
2493 IF ( g_level_statement>= g_current_runtime_level ) THEN
2494 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2495 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
2496 END IF;
2497
2498 IF (g_level_procedure >= g_current_runtime_level ) THEN
2499 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2500 'ZXZZTVSR : Call End ');
2501 END IF;
2502
2503 EXCEPTION
2504
2505 WHEN OTHERS THEN
2506 l_err_msg := substrb(SQLERRM,1,120);
2507 IF (g_level_procedure >= g_current_runtime_level ) THEN
2508 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2509 'ZXZZTVSR : Exception '||p_report_name || '.'||l_err_msg);
2510 END IF;
2511 END;
2512
2513 ELSIF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
2514
2515 BEGIN
2516
2517 IF (g_level_procedure >= g_current_runtime_level ) THEN
2518 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2519 'JLARTSFF : Filter ');
2520 END IF;
2521
2522 IF P_REPORT_NAME = 'JLARTSFF' THEN
2523
2524 SELECT detail_tax_line_id,
2525 trx_id,
2526 trx_line_id,
2527 trx_batch_source_id,
2528 internal_organization_id,
2529 trx_number,
2530 currency_conversion_rate,
2531 trx_type_id,
2532 tax_rate,
2533 tax_rate_id,
2534 document_sub_type ,
2535 tax_regime_code
2536 BULK COLLECT INTO l_detail_tax_line_id_tbl,
2537 l_trx_id_tbl,
2538 l_trx_line_id_tbl,
2539 l_batch_source_id_tbl,
2540 l_internal_org_id_tbl,
2541 l_trx_number_tbl,
2542 l_exchange_rate_tbl,
2543 l_trx_type_id_tbl,
2544 l_tax_rate_tbl,
2545 l_tax_rate_id_tbl,
2546 l_document_sub_type_tbl,
2547 l_tax_regime_code_tbl
2548 FROM (SELECT min(dtl.detail_tax_line_id) detail_tax_line_id,
2549 dtl.trx_id,
2550 dtl.trx_line_id,
2551 dtl.trx_batch_source_id,
2552 dtl.internal_organization_id,
2553 dtl.trx_number,
2554 dtl.currency_conversion_rate,
2555 dtl.trx_type_id,
2556 dtl.tax_rate,
2557 dtl.tax_rate_id,
2558 null document_sub_type,
2559 dtl.tax_regime_code
2560 FROM zx_rep_trx_detail_t dtl,
2561 ar_vat_tax_all vat
2562 WHERE dtl.request_id = P_REQUEST_ID
2563 AND nvl(vat.tax_type,'VAT') = 'VAT'
2564 AND dtl.tax_rate_id = vat.vat_tax_id
2565 -- AND dtl.doc_event_status = 'FROZEN_FOR_TAX'
2566 AND dtl.tax_regime_code = p_tax_regime
2567 AND dtl.tax = P_VAT_TAX
2568 GROUP BY dtl.internal_organization_id,
2569 dtl.trx_id,
2570 dtl.trx_line_id,
2571 dtl.trx_batch_source_id,
2572 dtl.trx_number,
2573 dtl.currency_conversion_rate,
2574 dtl.trx_type_id, dtl.tax_rate,
2575 dtl.tax_rate_id,
2576 dtl.tax_regime_code
2577 /*UNION
2578 SELECT min(itf2.detail_tax_line_id) detail_tax_line_id,
2579 trx_id,
2580 trx_line_id,
2581 internal_organization_id,
2582 trx_number,
2583 currency_conversion_rate,
2584 trx_type_id,
2585 null tax_rate,
2586 null document_sub_type
2587 FROM zx_rep_trx_detail_t itf2
2588 WHERE itf2.request_id = P_REQUEST_ID
2589 AND nvl(itf2.tax_type_code,'VAT') = 'VAT'
2590 GROUP BY itf2.internal_organization_id,
2591 itf2.trx_id, trx_line_id, trx_number, currency_conversion_rate,trx_type_id */
2592 UNION
2593 SELECT min(itf3.detail_tax_line_id) detail_tax_line_id,
2594 itf3.trx_id,
2595 itf3.trx_line_id,
2596 itf3.trx_batch_source_id,
2597 itf3.internal_organization_id,
2598 itf3.trx_number,
2599 itf3.currency_conversion_rate,
2600 itf3.trx_type_id,
2601 null tax_rate,
2602 itf3.tax_rate_id,
2603 null document_sub_type,
2604 itf3.tax_regime_code
2605 FROM zx_rep_trx_detail_t itf3
2606 WHERE itf3.request_id = P_REQUEST_ID
2607 AND itf3.tax = P_VAT_NON_TAXAB_TAX
2608 AND itf3.tax_rate = 0
2609 GROUP BY itf3.internal_organization_id,
2610 itf3.trx_id, itf3.trx_line_id,itf3.trx_batch_source_id,
2611 itf3.trx_number,
2612 itf3.currency_conversion_rate,
2613 itf3.trx_type_id,
2614 itf3.tax_rate_id,
2615 itf3.tax_regime_code);
2616
2617 IF (g_level_procedure >= g_current_runtime_level ) THEN
2618 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2619 'Row Count : '||to_char(l_detail_tax_line_id_tbl.count));
2620 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2621 'p_tax_regime - P_VAT_TAX : '||p_tax_regime||'-'||P_VAT_TAX);
2622 END IF;
2623
2624
2625 ELSIF P_REPORT_NAME = 'JLARTDFF' THEN
2626
2627 IF (g_level_procedure >= g_current_runtime_level ) THEN
2628 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2629 'JLARTDFF : Filter ');
2630 END IF;
2631
2632 SELECT min(detail_tax_line_id),
2633 trx_line_id,
2634 trx_id,
2635 internal_organization_id,
2636 trx_number,
2637 trx_type_id,
2638 to_number(null) tax_rate,
2639 to_number(null) tax_rate_id,
2640 to_char(null) document_sub_type
2641 BULK COLLECT INTO l_detail_tax_line_id_tbl,
2642 l_trx_line_id_tbl,
2643 l_trx_id_tbl,
2644 l_internal_org_id_tbl,
2645 l_trx_number_tbl,
2646 l_trx_type_id_tbl,
2647 l_tax_rate_tbl,
2648 l_tax_rate_id_tbl,
2649 l_document_sub_type_tbl
2650 FROM zx_rep_trx_detail_t
2651 WHERE request_id = P_REQUEST_ID
2652 AND nvl(tax_type_code,'VAT') = 'VAT'
2653 AND doc_event_status = 'FROZEN_FOR_TAX'
2654 AND tax_regime_code = p_tax_regime
2655 AND tax in (P_VAT_TAX,P_VAT_NON_TAXAB_TAX)
2656 GROUP BY internal_organization_id,
2657 trx_line_id,
2658 trx_id,
2659 trx_number,
2660 trx_type_id;
2661
2662 END IF;
2663
2664 l_count := l_detail_tax_line_id_tbl.count;
2665
2666 IF ( g_level_statement>= g_current_runtime_level ) THEN
2667 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2668 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
2669 END IF;
2670
2671
2672 FOR i in 1..l_count
2673 LOOP
2674 --Initialize Variables --
2675 l_vat_amt_tbl(i) := NULL;
2676 l_taxable_amt_tbl(i) := NULL;
2677 l_non_taxable_amt_tbl(i) := NULL;
2678 l_vat_exempt_amt_tbl(i) := NULL;
2679 l_vat_perc_amt_tbl(i) := NULL;
2680 l_not_reg_tax_amt_tbl(i) := NULL;
2681 l_prov_perc_amt_tbl(i) := NULL;
2682 l_munic_perc_amt_tbl(i) := NULL;
2683 l_excise_amt_tbl(i) := NULL;
2684 l_total_doc_amt_tbl(i) := NULL;
2685 l_rec_count_tbl(i) := NULL;
2686 l_rate_count_tbl(i) := NULL;
2687 l_dgi_code_tbl(i) := NULL;
2688 l_dgi_trx_code_tbl(i) := NULL;
2689 l_vat_reg_stat_code_tbl(i) := NULL;
2690 l_fiscal_printer_tbl(i) := NULL;
2691 l_cai_number_tbl(i) := NULL;
2692 l_cai_due_date_tbl(i) := NULL;
2693 END LOOP;
2694 -- End of Initialize --
2695
2696 IF ( g_level_statement>= g_current_runtime_level ) THEN
2697 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2698 'Before call to GET_VAT_AMOUNT ');
2699 END IF;
2700 -- initialize_variables(l_count);
2701 -- Get Vat Amount
2702 GET_VAT_AMOUNT(P_VAT_TAX,
2703 P_TAX_REGIME,
2704 P_REPORT_NAME,
2705 P_REQUEST_ID,
2706 l_trx_id_tbl,
2707 l_detail_tax_line_id_tbl,
2708 l_tax_rate_tbl,
2709 l_document_sub_type_tbl,
2710 l_vat_amt_tbl);
2711
2712 IF ( g_level_statement>= g_current_runtime_level ) THEN
2713 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2714 'Before call to GET_TAXABLE_AMOUNT ');
2715 END IF;
2716
2717 -- Get Taxable Amount
2718 GET_TAXABLE_AMOUNT(P_VAT_TAX,
2719 P_TAX_REGIME,
2720 P_REPORT_NAME,
2721 P_REQUEST_ID,
2722 l_detail_tax_line_id_tbl,
2723 l_trx_line_id_tbl,
2724 l_trx_id_tbl,
2725 l_tax_rate_tbl,
2726 l_document_sub_type_tbl,
2727 l_taxable_amt_tbl);
2728
2729 IF ( g_level_statement>= g_current_runtime_level ) THEN
2730 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2731 'Before call to GET_NON_TAXABLE_AMOUNT ');
2732 END IF;
2733
2734
2735 -- Get Non Taxable Amount
2736 GET_NON_TAXABLE_AMOUNT(P_VAT_NON_TAXAB_TAX,
2737 P_VAT_TAX,
2738 P_VAT_ADDIT_TAX,
2739 P_VAT_PERC_TAX,
2740 P_REPORT_NAME,
2741 P_REQUEST_ID,
2742 l_trx_id_tbl,
2743 l_detail_tax_line_id_tbl,
2744 l_trx_line_id_tbl,
2745 l_tax_rate_tbl,
2746 l_non_taxable_amt_tbl);
2747
2748 IF ( g_level_statement>= g_current_runtime_level ) THEN
2749 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2750 'Before call to GET_VAT_EXEMPT_AMOUNT ');
2751 END IF;
2752 -- Get Vat Exempt Amount
2753 GET_VAT_EXEMPT_AMOUNT(P_VAT_TAX,
2754 P_VAT_ADDIT_TAX,
2755 P_VAT_PERC_TAX,
2756 P_REPORT_NAME,
2757 P_TAX_REGIME,
2758 P_REQUEST_ID,
2759 l_trx_id_tbl,
2760 l_trx_line_id_tbl,
2761 l_tax_rate_tbl,
2762 l_document_sub_type_tbl,
2763 l_vat_exempt_amt_tbl);
2764
2765 IF ( g_level_statement>= g_current_runtime_level ) THEN
2766 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2767 'Before call to GET_VAT_PERCEPTION_AMOUNT ');
2768 END IF;
2769 -- Get Vat Perception Amount
2770 GET_VAT_PERCEPTION_AMOUNT(null, -- P_VAT_PERC_TAX_TYPE_FROM,
2771 null, --P_VAT_PERC_TAX_TYPE_TO,
2772 P_VAT_PERC_TAX,
2773 P_TAX_REGIME,
2774 P_REPORT_NAME,
2775 P_REQUEST_ID,
2776 l_trx_id_tbl,
2777 l_trx_line_id_tbl,
2778 l_tax_rate_tbl,
2779 l_vat_perc_amt_tbl);
2780
2781 IF ( g_level_statement>= g_current_runtime_level ) THEN
2782 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2783 'Before call to GET_NOT_REGISTERED_TAX_AMOUNT ');
2784 END IF;
2785 -- Get Not Registered Amount
2786 GET_NOT_REGISTERED_TAX_AMOUNT(P_REPORT_NAME,
2787 P_VAT_ADDIT_TAX,
2788 P_VAT_NOT_CATEG_TAX,
2789 P_TAX_REGIME,
2790 P_REQUEST_ID,
2791 l_trx_id_tbl,
2792 l_tax_rate_tbl,
2793 l_document_sub_type_tbl,
2794 l_not_reg_tax_amt_tbl);
2795
2796 IF ( g_level_statement>= g_current_runtime_level ) THEN
2797 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2798 'Before call to GET_PROVINCIAL_PERC_AMOUNT ');
2799 END IF;
2800 -- Get Provincial Perception Amount
2801 GET_PROVINCIAL_PERC_AMOUNT(null, -- P_PROV_TAX_TYPE_FROM,
2802 null, -- P_PROV_TAX_TYPE_TO,
2803 P_PROV_TAX_REGIME,
2804 P_REPORT_NAME,
2805 P_REQUEST_ID,
2806 l_trx_id_tbl,
2807 l_tax_rate_id_tbl,
2808 l_prov_perc_amt_tbl);
2809
2810 IF ( g_level_statement>= g_current_runtime_level ) THEN
2811 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2812 'Before call to GET_MUNICIPAL_PERC_AMOUNT ');
2813 END IF;
2814 -- Get Municipal Perception Amount
2815 GET_MUNICIPAL_PERC_AMOUNT(null, -- P_MUN_TAX_TYPE_FROM,
2816 null, -- P_MUN_TAX_TYPE_TO,
2817 P_MUN_TAX_REGIME,
2818 P_REPORT_NAME,
2819 P_REQUEST_ID,
2820 l_trx_id_tbl,
2821 l_tax_rate_id_tbl,
2822 l_munic_perc_amt_tbl);
2823
2824 IF ( g_level_statement>= g_current_runtime_level ) THEN
2825 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2826 'Before call to GET_EXCISE_TAX_AMOUNT ');
2827 END IF;
2828 -- Get Excise Tax Amount
2829 GET_EXCISE_TAX_AMOUNT(null, --P_EXC_TAX_TYPE_FROM,
2830 null, --P_EXC_TAX_TYPE_TO,
2831 P_EXC_TAX,
2832 P_REPORT_NAME,
2833 P_REQUEST_ID,
2834 l_trx_id_tbl,
2835 l_excise_amt_tbl);
2836
2837 IF ( g_level_statement>= g_current_runtime_level ) THEN
2838 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2839 'Before call to GET_TOTAL_DOCUMENT_AMOUNT ');
2840 END IF;
2841 -- Get Total Document Amount
2842 GET_TOTAL_DOCUMENT_AMOUNT(l_trx_id_tbl,
2843 l_exchange_rate_tbl,
2844 P_REPORT_NAME,
2845 l_total_doc_amt_tbl);
2846
2847 IF ( g_level_statement>= g_current_runtime_level ) THEN
2848 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2849 'Before call to GET_DGI_CODE ');
2850 END IF;
2851 -- Get DGI Code
2852 GET_DGI_CODE(l_trx_number_tbl,
2853 l_trx_type_id_tbl,
2854 l_internal_org_id_tbl,
2855 l_dgi_code_tbl);
2856
2857 IF ( g_level_statement>= g_current_runtime_level ) THEN
2858 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2859 'Before call to GET_VAT_REG_STAT_CODE ');
2860 END IF;
2861 -- Get Vat Reg Stat Code
2862 GET_VAT_REG_STAT_CODE(P_VAT_TAX,
2863 l_trx_id_tbl,
2864 l_internal_org_id_tbl,
2865 P_REQUEST_ID,
2866 l_vat_reg_stat_code_tbl);
2867
2868
2869 IF ( g_level_statement>= g_current_runtime_level ) THEN
2870 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2871 'Before call to DGI_TRX_CODE ');
2872 END IF;
2873 -- Get DGI Trx code
2874 DGI_TRX_CODE ( l_trx_id_tbl,
2875 l_tax_regime_code_tbl,
2876 l_tax_rate_id_tbl,
2877 l_dgi_trx_code_tbl);
2878
2879
2880 -- Fiscal Printer --
2881 IF ( g_level_statement>= g_current_runtime_level ) THEN
2882 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER_AR',
2883 'Before call to GET_FISCAL_PRINTER_AR ');
2884 END IF;
2885
2886 -- Fiscal Printer --
2887 GET_FISCAL_PRINTER_AR(l_trx_id_tbl,
2888 l_batch_source_id_tbl,
2889 l_fiscal_printer_tbl);
2890
2891 IF ( g_level_statement>= g_current_runtime_level ) THEN
2892 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
2893 'Before call to GET_CAI_NUM ');
2894 END IF;
2895 GET_CAI_NUM_AR
2896 ( l_trx_id_tbl,
2897 p_report_name,
2898 l_cai_number_tbl,
2899 l_cai_due_date_tbl);
2900
2901 IF ( g_level_statement>= g_current_runtime_level ) THEN
2902 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2903 'Before call to GET_REC_COUNT ');
2904 END IF;
2905 -- Get counted record
2906 GET_REC_COUNT(P_VAT_TAX,
2907 P_TAX_REGIME,
2908 l_trx_id_tbl,
2909 P_REQUEST_ID,
2910 l_rec_count_tbl);
2911
2912 IF ( g_level_statement>= g_current_runtime_level ) THEN
2913 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2914 'Before call to GET_VAT_NONVAT_RATE_COUNT ');
2915 END IF;
2916 -- Get Counted VAT or NOVAT Tax Rate
2917 GET_VAT_NONVAT_RATE_COUNT (P_VAT_TAX,
2918 P_VAT_NON_TAXAB_TAX,
2919 P_TAX_REGIME,
2920 l_trx_id_tbl,
2921 P_REQUEST_ID,
2922 l_rate_count_tbl);
2923
2924 -- Insert lines into JX EXT Table with Calculated amount --
2925
2926 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
2927
2928 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
2929 detail_tax_line_id,
2930 numeric9,
2931 numeric10,
2932 numeric8,
2933 -- numeric7,
2934 numeric2,
2935 numeric3,
2936 numeric1,
2937 numeric4,
2938 numeric5,
2939 numeric6,
2940 numeric12,
2941 numeric11,
2942 numeric13,
2943 attribute11,
2944 attribute4,
2945 attribute8,
2946 gdf_ra_batch_sources_att7,
2947 attribute19,
2948 attribute23,
2949 created_by,
2950 creation_date,
2951 last_updated_by,
2952 last_update_date,
2953 last_update_login,
2954 request_id)
2955 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
2956 l_detail_tax_line_id_tbl(i),
2957 l_vat_amt_tbl(i),
2958 l_taxable_amt_tbl(i),
2959 l_non_taxable_amt_tbl(i),
2960 -- l_vat_additional_amt_tbl(i),
2961 l_vat_exempt_amt_tbl(i),
2962 l_vat_perc_amt_tbl(i),
2963 l_not_reg_tax_amt_tbl(i),
2964 l_prov_perc_amt_tbl(i),
2965 l_munic_perc_amt_tbl(i),
2966 l_excise_amt_tbl(i),
2967 l_total_doc_amt_tbl(i),
2968 l_rec_count_tbl(i),
2969 l_rate_count_tbl(i),
2970 l_dgi_code_tbl(i),
2971 l_dgi_trx_code_tbl(i),
2972 l_vat_reg_stat_code_tbl(i),
2973 l_fiscal_printer_tbl(i),
2974 l_cai_number_tbl(i),
2975 l_cai_due_date_tbl(i),
2976 fnd_global.user_id,
2977 sysdate,
2978 fnd_global.user_id,
2979 sysdate,
2980 fnd_global.login_id,
2981 p_request_id);
2982
2983 IF ( g_level_statement>= g_current_runtime_level ) THEN
2984 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
2985 'After insertion into zx_rep_trx_jx_ext_t ');
2986 END IF;
2987 -- Delete Unwanted lines from Detail ITF
2988
2989 /* DELETE from zx_rep_trx_detail_t itf
2990 WHERE itf.request_id = p_request_id
2991 AND NOT EXISTS ( SELECT 1
2992 FROM zx_rep_trx_jx_ext_t ext
2993 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
2994 */
2995
2996 UPDATE_DGI_CURR_CODE(p_request_id);
2997
2998 IF ( g_level_statement>= g_current_runtime_level ) THEN
2999 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3000 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
3001 END IF;
3002
3003 IF (g_level_procedure >= g_current_runtime_level ) THEN
3004 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3005 'JLARTDFF and JLARTSFF : Call End ');
3006 END IF;
3007
3008
3009 EXCEPTION
3010 WHEN OTHERS THEN
3011 l_err_msg := substrb(SQLERRM,1,120);
3012 IF (g_level_procedure >= g_current_runtime_level ) THEN
3013 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3014 'JLARTDFF and JLARTSFF : Exception '||p_report_name || '.'||l_err_msg);
3015 END IF;
3016 END;
3017
3018 ELSIF P_REPORT_NAME = 'JLARTOFF' THEN
3019
3020 BEGIN
3021
3022 IF (g_level_procedure >= g_current_runtime_level ) THEN
3023 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3024 'JLARTOFF : Filter ');
3025 END IF;
3026
3027 SELECT detail_tax_line_id,
3028 trx_id,
3029 internal_organization_id,
3030 trx_number,
3031 trx_type_id,
3032 tax_rate,
3033 tax_rate_id,
3034 tax_regime_code,
3035 document_sub_type
3036 BULK COLLECT INTO l_detail_tax_line_id_tbl,
3037 l_trx_id_tbl,
3038 l_internal_org_id_tbl,
3039 l_trx_number_tbl,
3040 l_trx_type_id_tbl,
3041 l_tax_rate_tbl,
3042 l_tax_rate_id_tbl,
3043 l_tax_regime_code_tbl,
3044 l_document_sub_type_tbl
3045 FROM zx_rep_trx_detail_t itf1,
3046 jl_zz_ar_tx_categ categ
3047 WHERE itf1.request_id = P_REQUEST_ID
3048 -- AND itf1.tax_regime_code
3049 AND itf1.tax = categ.tax_category
3050 AND categ.tax_regime in (P_PROV_TAX_REGIME,
3051 P_MUN_TAX_REGIME);
3052
3053
3054 IF (g_level_procedure >= g_current_runtime_level ) THEN
3055 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3056 'JLARTOFF : Bulk collect '||to_char(l_trx_id_tbl.count));
3057 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3058 'JLARTOFF : Bulk collect '||to_char(l_trx_id_tbl.count));
3059 END IF;
3060
3061 -- Get Provincial Perception Amount
3062 GET_PROVINCIAL_PERC_AMOUNT(null, -- P_PROV_TAX_TYPE_FROM
3063 null, -- P_PROV_TAX_TYPE_TO
3064 P_PROV_TAX_REGIME,
3065 P_REPORT_NAME,
3066 P_REQUEST_ID,
3067 l_trx_id_tbl,
3068 l_tax_rate_id_tbl,
3069 l_prov_perc_amt_tbl);
3070
3071 IF ( g_level_statement>= g_current_runtime_level ) THEN
3072 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3073 'Before call to GET_MUNICIPAL_PERC_AMOUNT ');
3074 END IF;
3075 -- Get Municipal Perception Amount
3076 GET_MUNICIPAL_PERC_AMOUNT(null, -- P_MUN_TAX_TYPE_FROM
3077 null, -- P_MUN_TAX_TYPE_TO
3078 P_MUN_TAX_REGIME,
3079 P_REPORT_NAME,
3080 p_REQUEST_ID,
3081 l_trx_id_tbl,
3082 l_tax_rate_id_tbl,
3083 l_munic_perc_amt_tbl);
3084
3085 IF ( g_level_statement>= g_current_runtime_level ) THEN
3086 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3087 'Before call to GET_DGI_CODE ');
3088 END IF;
3089 -- Get DGI Code
3090 GET_DGI_CODE(l_trx_number_tbl,
3091 l_trx_type_id_tbl,
3092 l_internal_org_id_tbl,
3093 l_dgi_code_tbl);
3094
3095 PROV_JURISDICTION_CODE(
3096 l_trx_id_tbl,
3097 l_tax_regime_code_tbl,
3098 l_tax_rate_id_tbl,
3099 l_prov_juris_code_tbl);
3100
3101
3102 MUN_JURISDICTION_CODE(
3103 l_trx_id_tbl,
3104 l_tax_regime_code_tbl,
3105 l_tax_rate_id_tbl,
3106 l_mun_juris_code_tbl);
3107
3108 -- Important --
3109 -- Need to add two more APIs to populate turnover jurisdiction code and municipal jurisdiction code.
3110 -- The gdf attributes 5 and 6 are migrated from ar_vat_tax table to reporting types and codes.
3111 -- The related reporting types are :AR_TURN_OVER_JUR_CODE and AR_MUNICIPAL_JUR
3112 -- This report shows these details and the attributes are already identified and used in the
3113 -- report. These attributes need to populate.
3114 --
3115 -- Insert lines into JX EXT Table with Calculated amount --
3116
3117 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
3118
3119 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
3120 detail_tax_line_id,
3121 numeric4,
3122 numeric5,
3123 attribute11,
3124 attribute1,
3125 attribute3,
3126 created_by,
3127 creation_date,
3128 last_updated_by,
3129 last_update_date,
3130 last_update_login,
3131 request_id)
3132 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
3133 l_detail_tax_line_id_tbl(i),
3134 l_prov_perc_amt_tbl(i),
3135 l_munic_perc_amt_tbl(i),
3136 l_dgi_code_tbl(i),
3137 l_prov_juris_code_tbl(i),
3138 l_mun_juris_code_tbl(i),
3139 fnd_global.user_id,
3140 sysdate,
3141 fnd_global.user_id,
3142 sysdate,
3143 fnd_global.login_id,
3144 p_request_id);
3145
3146 IF ( g_level_statement>= g_current_runtime_level ) THEN
3147 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3148 'After insertion into zx_rep_trx_jx_ext_t ');
3149 END IF;
3150 -- Delete Unwanted lines from Detail ITF
3151
3152 DELETE from zx_rep_trx_detail_t itf
3153 WHERE itf.request_id = p_request_id
3154 AND NOT EXISTS ( SELECT 1
3155 FROM zx_rep_trx_jx_ext_t ext
3156 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
3157
3158 IF ( g_level_statement>= g_current_runtime_level ) THEN
3159 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3160 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
3161 END IF;
3162
3163 IF (g_level_procedure >= g_current_runtime_level ) THEN
3164 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3165 'JLARTOFF : Call End ');
3166 END IF;
3167
3168
3169 EXCEPTION
3170
3171 WHEN OTHERS THEN
3172 l_err_msg := substrb(SQLERRM,1,120);
3173 IF (g_level_procedure >= g_current_runtime_level ) THEN
3174 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3175 'JLARTOFF : Exception '||p_report_name || '.'||l_err_msg);
3176 END IF;
3177 END;
3178
3179 ELSIF P_REPORT_NAME = 'ZXCLRSLL' THEN
3180
3181 BEGIN
3182 IF (g_level_procedure >= g_current_runtime_level ) THEN
3183 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3184 'ZXCLRSLL : Filter ');
3185 END IF;
3186
3187 SELECT min(itf.detail_tax_line_id),
3188 itf.trx_line_id,
3189 itf.trx_id,
3190 itf.internal_organization_id,
3191 itf.trx_number,
3192 itf.tax_rate_id,
3193 itf.DOC_SEQ_NAME document_sub_type
3194 BULK COLLECT INTO l_detail_tax_line_id_tbl,
3195 l_trx_line_id_tbl,
3196 l_trx_id_tbl,
3197 l_internal_org_id_tbl,
3198 l_trx_number_tbl,
3199 l_tax_rate_tbl,
3200 l_document_sub_type_tbl
3201 FROM zx_rep_trx_detail_t itf,
3202 zx_rates_b rates,
3203 -- zx_report_codes_assoc repc,
3204 -- zx_reporting_types_b reptypes,--Bug 5438742
3205 ra_customer_trx_all ratrx,
3206 ra_cust_trx_types_all types
3207 WHERE itf.request_id = P_REQUEST_ID
3208 AND itf.trx_id = ratrx.customer_trx_id
3209 AND itf.tax_rate_id = rates.tax_rate_id
3210 AND ratrx.cust_trx_type_id = types.cust_trx_type_id
3211 -- AND repc.entity_id = rates.tax_rate_id
3212 -- AND repc.entity_code = 'ZX_RATES'
3213 AND itf.extract_source_ledger = 'AR'
3214 AND itf.trx_line_class IN ('INVOICE', 'CREDIT_MEMO', 'DEBIT_MEMO')
3215 AND (types.global_attribute7 = 'Y'
3216 OR (types.global_attribute7 = 'N' AND types.global_attribute6 = 'Y' ))
3217 -- AND repc.reporting_code_char_value is NOT NULL
3218 GROUP BY itf.trx_id,
3219 itf.trx_line_id,
3220 itf.internal_organization_id,
3221 itf.trx_number,
3222 itf.tax_rate_id,
3223 itf.DOC_SEQ_NAME; --Bug 5438742
3224
3225 IF ( g_level_statement>= g_current_runtime_level ) THEN
3226 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3227 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
3228 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3229 'Before call to GET_VAT_AMOUNT ');
3230 END IF;
3231
3232 -- Get Vat Amount
3233 GET_VAT_AMOUNT(P_VAT_TAX,
3234 P_TAX_REGIME,
3235 P_REPORT_NAME,
3236 P_REQUEST_ID,
3237 l_trx_id_tbl,
3238 l_detail_tax_line_id_tbl,
3239 l_tax_rate_tbl,
3240 l_document_sub_type_tbl,
3241 l_vat_amt_tbl);
3242
3243 IF ( g_level_statement>= g_current_runtime_level ) THEN
3244 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3245 'Before call to GET_TAXABLE_AMOUNT ');
3246 END IF;
3247 -- Get Taxable Amount
3248 GET_TAXABLE_AMOUNT(P_VAT_TAX,
3249 P_TAX_REGIME,
3250 P_REPORT_NAME,
3251 P_REQUEST_ID,
3252 l_detail_tax_line_id_tbl,
3253 l_trx_line_id_tbl,
3254 l_trx_id_tbl,
3255 l_tax_rate_tbl,
3256 l_document_sub_type_tbl,
3257 l_taxable_amt_tbl);
3258
3259 IF ( g_level_statement>= g_current_runtime_level ) THEN
3260 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3261 'Before call to GET_VAT_EXEMPT_AMOUNT ');
3262 END IF;
3263 -- Get Vat Exempt Amount
3264 GET_VAT_EXEMPT_AMOUNT(P_VAT_TAX,
3265 P_VAT_ADDIT_TAX,
3266 P_VAT_PERC_TAX,
3267 P_REPORT_NAME,
3268 P_TAX_REGIME,
3269 P_REQUEST_ID,
3270 l_trx_id_tbl,
3271 l_trx_line_id_tbl,
3272 l_tax_rate_tbl,
3273 l_document_sub_type_tbl,
3274 l_vat_exempt_amt_tbl);
3275
3276 IF ( g_level_statement>= g_current_runtime_level ) THEN
3277 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3278 'Before call to GET_OTHER_TAX_AMOUNT ');
3279 END IF;
3280 -- Get Vat Exempt Amount
3281 GET_OTHER_TAX_AMOUNT(P_REPORT_NAME,
3282 P_REQUEST_ID,
3283 l_trx_id_tbl,
3284 l_tax_rate_tbl,
3285 l_document_sub_type_tbl,
3286 l_other_tax_amt_tbl);
3287
3288 -- Get Counted sum doc
3289 --Bug 5438742 : Required if TRL has to fetch the document type level totals
3290 /* GET_COUNTED_SUM_DOC(P_REPORT_NAME,
3291 P_REQUEST_ID,
3292 l_document_sub_type_tbl,
3293 l_cl_num_of_doc_tbl,
3294 l_cl_total_exempt_tbl,
3295 l_cl_total_taxable_tbl,
3296 l_cl_total_vat_tax_tbl,
3297 l_cl_total_other_tax_tbl);*/
3298
3299 -- Insert lines into JX EXT Table with Calculated amount --
3300
3301 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
3302
3303 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
3304 detail_tax_line_id,
3305 numeric9,
3306 numeric10,
3307 numeric2,
3308 numeric7,
3309 created_by,
3310 creation_date,
3311 last_updated_by,
3312 last_update_date,
3313 last_update_login)
3314 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
3315 l_detail_tax_line_id_tbl(i),
3316 l_vat_amt_tbl(i),
3317 l_taxable_amt_tbl(i),
3318 l_vat_exempt_amt_tbl(i),
3319 l_other_tax_amt_tbl(i),
3320 fnd_global.user_id,
3321 sysdate,
3322 fnd_global.user_id,
3323 sysdate,
3324 fnd_global.login_id);
3325
3326 IF ( g_level_statement>= g_current_runtime_level ) THEN
3327 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3328 'After insertion into zx_rep_trx_jx_ext_t ');
3329 END IF;
3330 -- Delete Unwanted lines from Detail ITF
3331
3332 DELETE from zx_rep_trx_detail_t itf
3333 WHERE itf.request_id = p_request_id
3334 AND NOT EXISTS ( SELECT 1
3335 FROM zx_rep_trx_jx_ext_t ext
3336 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
3337
3338 IF ( g_level_statement>= g_current_runtime_level ) THEN
3339 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JA_EXTRACT_PKG.POPULATE_JL_AP',
3340 'Deleted Count : '||to_char(SQL%ROWCOUNT) );
3341 END IF;
3342
3343 IF (g_level_procedure >= g_current_runtime_level ) THEN
3344 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR.END',
3345 'ZX_JL_EXTRACT_PKG.POPULATE_JL_AR(-)');
3346 END IF;
3347
3348 EXCEPTION
3349 WHEN OTHERS THEN
3350
3351 l_err_msg := substrb(SQLERRM,1,120);
3352 IF (g_level_procedure >= g_current_runtime_level ) THEN
3353 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3354 'ZXCLRSLL : Exception '||p_report_name || '.'||l_err_msg);
3355 END IF;
3356 END;
3357
3358 ELSIF P_REPORT_NAME = 'ZXCOARSB' THEN --Bug 5396444
3359
3360 BEGIN
3361 -- ------------------------------------------------------
3362 -- Get all the tax lines and determine the extended amount
3363 -- and total document amount
3364 ----------------------------------------------------------
3365
3366 SELECT detail_tax_line_id,
3367 trx_line_id,
3368 trx_id,
3369 nvl(currency_conversion_rate,1),
3370 tax_rate,
3371 tax_rate_id,
3372 document_sub_type
3373 BULK COLLECT INTO l_detail_tax_line_id_tbl,
3374 l_trx_line_id_tbl,
3375 l_trx_id_tbl,
3376 l_exchange_rate_tbl,
3377 l_tax_rate_tbl,
3378 l_tax_rate_id_tbl,
3379 l_document_sub_type_tbl
3380 FROM zx_rep_trx_detail_t dtl, --Bug 5396444
3381 ra_cust_trx_types_all tt
3382 WHERE dtl.request_id = P_REQUEST_ID
3383 AND dtl.trx_type_id = tt.cust_trx_type_id
3384 AND tt.accounting_affect_flag = 'Y';
3385
3386 IF ( g_level_statement>= g_current_runtime_level ) THEN
3387 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
3388 'Count fetched : '||to_char(nvl(l_detail_tax_line_id_tbl.count,0)) );
3389 END IF;
3390
3391 IF ( g_level_statement>= g_current_runtime_level ) THEN
3392 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
3393 'Before call to GET_TOTAL_DOCUMENT_AMOUNT ');
3394 END IF;
3395
3396 GET_TOTAL_DOCUMENT_AMOUNT(l_trx_id_tbl,
3397 l_exchange_rate_tbl,
3398 P_REPORT_NAME,
3399 l_total_doc_amt_tbl);
3400
3401 --Bug 5396444 : Added logic for Extended Amount(ext.numeric12) and VAT Amount(ext.numeric9)
3402 -- Get Extended Amount
3403
3404 IF ( g_level_statement>= g_current_runtime_level ) THEN
3405 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3406 'Before call to GET_TAXABLE_AMOUNT ');
3407 END IF;
3408
3409 GET_TAXABLE_AMOUNT(null,
3410 NULL,
3411 P_REPORT_NAME,
3412 P_REQUEST_ID,
3413 l_detail_tax_line_id_tbl,
3414 l_trx_line_id_tbl,
3415 l_trx_id_tbl,
3416 l_tax_rate_tbl ,
3417 l_document_sub_type_tbl,
3418 l_extended_amt_tbl);
3419
3420 --Get Vat Amount
3421
3422 IF ( g_level_statement>= g_current_runtime_level ) THEN
3423 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3424 'Before call to GET_VAT_AMOUNT ');
3425 END IF;
3426
3427 GET_VAT_AMOUNT(NULL ,
3428 NULL,
3429 P_REPORT_NAME,
3430 P_REQUEST_ID,
3431 l_trx_id_tbl,
3432 l_detail_tax_line_id_tbl,
3433 l_tax_rate_tbl,
3434 l_document_sub_type_tbl,
3435 l_vat_amt_tbl);
3436
3437
3438 FORALL i in l_detail_tax_line_id_tbl.first..l_detail_tax_line_id_tbl.last
3439 INSERT INTO zx_rep_trx_jx_ext_t(detail_tax_line_ext_id,
3440 detail_tax_line_id,
3441 numeric15,--total doc amt
3442 numeric12,--extended amt
3443 numeric9,--vat amt
3444 created_by,
3445 creation_date,
3446 last_updated_by,
3447 last_update_date,
3448 last_update_login)
3449 VALUES (zx_rep_trx_jx_ext_t_s.nextval,
3450 l_detail_tax_line_id_tbl(i),
3451 (l_total_doc_amt_tbl(i) + l_vat_amt_tbl(i)) * l_exchange_rate_tbl(i), --Bug 5396444
3452 l_extended_amt_tbl(i) * l_exchange_rate_tbl(i),--Bug 5396444
3453 l_vat_amt_tbl(i) * l_exchange_rate_tbl(i),--Bug 5396444
3454 fnd_global.user_id,
3455 sysdate,
3456 fnd_global.user_id,
3457 sysdate,
3458 fnd_global.login_id);
3459
3460 IF ( g_level_statement>= g_current_runtime_level ) THEN
3461 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
3462 'After insertion into zx_rep_trx_jx_ext_t ');
3463 END IF;
3464
3465 -- Delete Unwanted lines from Detail ITF
3466
3467 DELETE from zx_rep_trx_detail_t itf
3468 WHERE itf.request_id = p_request_id
3469 AND NOT EXISTS ( SELECT 1
3470 FROM zx_rep_trx_jx_ext_t ext
3471 WHERE ext.detail_tax_line_id = itf.detail_tax_line_id);
3472
3473 IF ( g_level_statement>= g_current_runtime_level ) THEN
3474 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
3475 'After deletion from zx_rep_trx_detail_t : '||to_char(SQL%ROWCOUNT) );
3476 END IF;
3477 EXCEPTION
3478 WHEN OTHERS THEN
3479 IF ( g_level_statement>= g_current_runtime_level ) THEN
3480 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AP',
3481 'Error Message for report '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
3482 END IF;
3483
3484 END;
3485
3486 ELSIF P_REPORT_NAME = 'ZXCOARSW' THEN --Bug 5251425
3487 -- Populate zx_rep_trx_jx_ext_t.attribute1 to get the C_TAX_CATEGORY_DESC for the report
3488
3489 BEGIN
3490 SELECT jtc.description
3491 INTO l_tax_catg_desc
3492 FROM JL_ZZ_AR_TX_CATEGRY jtc
3493 WHERE jtc.tax_category = P_TRL_GLOBAL_VARIABLES_REC.VAT_TAX;
3494 EXCEPTION
3495 WHEN OTHERS THEN
3496 l_tax_catg_desc := null;
3497 l_err_msg := substrb(SQLERRM,1,120);
3498 IF (g_level_procedure >= g_current_runtime_level ) THEN
3499 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3500 'ZXCOARSW : Exception '||p_report_name || '.'||l_err_msg);
3501 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3502 'Assigned tax_category_desc to null');
3503 END IF;
3504 END ;
3505
3506 IF ( g_level_statement>= g_current_runtime_level ) THEN
3507 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3508 'P_TRL_GLOBAL_VARIABLES_REC.VAT_TAX : '||P_TRL_GLOBAL_VARIABLES_REC.VAT_TAX );
3509 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3510 'l_tax_catg_desc : '||l_tax_catg_desc );
3511 END IF;
3512
3513 INSERT INTO zx_rep_trx_jx_ext_t
3514 (detail_tax_line_ext_id,
3515 detail_tax_line_id,
3516 attribute1,
3517 created_by,
3518 creation_date,
3519 last_updated_by,
3520 last_update_date,
3521 last_update_login)
3522 (SELECT zx_rep_trx_jx_ext_t_s.nextval,
3523 dtl.detail_tax_line_id,
3524 l_tax_catg_desc,
3525 dtl.created_by,
3526 dtl.creation_date,
3527 dtl.last_updated_by,
3528 dtl.last_update_date,
3529 dtl.last_update_login
3530 FROM zx_rep_trx_detail_t dtl
3531 WHERE dtl.request_id = p_request_id
3532 );
3533
3534 IF ( g_level_statement>= g_current_runtime_level ) THEN
3535 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
3536 'After insertion into zx_rep_trx_jx_ext_t ');
3537 END IF;
3538
3539 END IF; -- End of P_REPORT_NAME = ..
3540
3541 END populate_jl_ar;
3542
3543
3544 /*================================================================================+
3545 | PROCEDURE |
3546 | GET_VAT_AMOUNT |
3547 | Type : Private |
3548 | Pre-req : None |
3549 | Function : |
3550 | This procedure extract VAT Tax Amount for the given report name |
3551 | |
3552 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
3553 | |
3554 | Parameters : |
3555 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
3556 | P_TAX_REGIME IN VARCHAR2 Opt |
3557 | P_REPORT_NAME IN VARCHAR2 Req |
3558 | P_REQUEST_ID IN NUMBER Req |
3559 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req |
3560 | P_DETAIL_TAX_LINE_ID IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL |
3561 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
3562 | SUB_TYPE_TBL Opt |
3563 | |
3564 | OUT : X_VAT_AMT_TBL OUT NUMERIC9_TBL |
3565 | |
3566 | MODIFICATION HISTORY |
3567 | 07-Nov-03 Hidetaka Kojima created |
3568 | 17-Feb-04 Hidekoji Modified Parameters |
3569 | |
3570 +================================================================================*/
3571
3572
3573 PROCEDURE GET_VAT_AMOUNT
3574 (
3575 P_VAT_TAX IN VARCHAR2 DEFAULT NULL,
3576 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
3577 P_REPORT_NAME IN VARCHAR2,
3578 P_REQUEST_ID IN NUMBER,
3579 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
3580 P_DETAIL_TAX_LINE_ID IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
3581 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
3582 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
3583 X_VAT_AMT_TBL OUT NOCOPY NUMERIC9_TBL
3584
3585 ) IS
3586
3587 l_err_msg VARCHAR2(120);
3588 l_trx_counter NUMBER;
3589 l_vat_amt_tbl NUMERIC9_TBL;
3590 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
3591
3592
3593 BEGIN
3594
3595 IF (g_level_procedure >= g_current_runtime_level ) THEN
3596 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount.BEGIN',
3597 'ZX_JL_EXTRACT_PKG.get_vat_amount(+)');
3598 END IF;
3599
3600
3601 -- ------------------------------------------------------------------------------------------ --
3602 -- Case1: If report is ZXARPVBR --
3603 -- In this case, you cannot use cache as the lines are filtered by Trx ID and tax rate --
3604 -- ------------------------------------------------------------------------------------------ --
3605
3606 IF substr(P_REPORT_NAME,1,2) = 'ZX' THEN
3607 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
3608
3609 BEGIN
3610 IF P_REPORT_NAME = 'ZXARPVBR' THEN
3611 SELECT SUM(itf.tax_amt)
3612 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3613 FROM zx_rep_trx_detail_t itf
3614 WHERE itf.request_id = p_request_id
3615 AND itf.trx_id = p_trx_id_tbl(i)
3616 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3617 AND itf.tax_rate = p_tax_rate_tbl(i)
3618 AND itf.tax_type_code = p_vat_tax;
3619
3620 ELSIF P_REPORT_NAME = 'ZXCLPPLR' THEN
3621
3622 IF ( g_level_statement>= g_current_runtime_level ) THEN
3623 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
3624 ' Document_Sub_Type : '||P_DOCUMENT_SUB_TYPE_TBL(i) );
3625 END IF;
3626
3627 IF P_DOCUMENT_SUB_TYPE_TBL(i) = 'JL_CL_CREDIT_MEMO' THEN
3628
3629 SELECT SUM(nvl(itf.tax_amt_funcl_curr,nvl(itf.tax_amt,0)))
3630 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3631 FROM zx_rep_trx_detail_t itf
3632 WHERE itf.request_id = p_request_id
3633 AND itf.trx_id = p_trx_id_tbl(i)
3634 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3635 AND (itf.reverse_flag IS NULL OR itf.reverse_flag <> 'Y')
3636 AND itf.tax_type_code = 'VAT'
3637 AND itf.tax_rate <> 0;
3638 ELSE
3639 SELECT SUM(nvl(itf.tax_amt_funcl_curr,nvl(itf.tax_amt,0)))
3640 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3641 FROM zx_rep_trx_detail_t itf
3642 WHERE itf.request_id = p_request_id
3643 AND itf.trx_id = p_trx_id_tbl(i)
3644 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3645 AND itf.tax_type_code = 'VAT';
3646
3647 END IF;
3648 ELSIF P_REPORT_NAME = 'ZXZZTVSR' THEN
3649
3650 SELECT sum(nvl(itf.tax_amt_funcl_curr, itf.tax_amt))
3651 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3652 FROM zx_rep_trx_detail_t itf
3653 WHERE itf.request_id = p_request_id
3654 AND itf.trx_id = p_trx_id_tbl(i)
3655 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3656 AND itf.tax_regime_code = nvl(p_tax_regime,itf.tax_regime_code)--Bug 5374021
3657 AND itf.tax = p_vat_tax
3658 AND nvl(itf.tax_type_code, 'VAT') = 'VAT'
3659 AND nvl(itf.tax_rate,0) <> 0 ;
3660 ELSIF P_REPORT_NAME = 'ZXCLRSLL' THEN
3661
3662 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
3663 NULL;
3664 ELSE
3665 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := '0';
3666 END IF;
3667
3668 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' AND
3669 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
3670 BEGIN
3671
3672 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
3673 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
3674 FROM ra_customer_trx_all
3675 WHERE customer_trx_id = p_trx_id_tbl(i);
3676
3677 EXCEPTION
3678 WHEN OTHERS THEN
3679 l_err_msg := substrb(SQLERRM,1,120);
3680 IF (g_level_procedure >= g_current_runtime_level ) THEN
3681 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount.BEGIN',
3682 'ZX_JL_EXTRACT_PKG.get_vat_amount.'|| P_REPORT_NAME ||':'||l_err_msg);
3683 END IF;
3684
3685 END;
3686 END IF;
3687
3688 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
3689
3690 -- OPEN ISSUE --
3691 --Bug 5438742 : Added VAT Amt logic for the Bug
3692 SELECT SUM(nvl(itf.tax_amt_funcl_curr,nvl(itf.tax_amt,0)))
3693 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3694 FROM zx_rep_trx_detail_t itf
3695 WHERE itf.request_id = p_request_id
3696 AND itf.trx_id = p_trx_id_tbl(i)
3697 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3698 AND itf.tax_type_code = 'VAT'
3699 AND itf.tax_rate <> 0;
3700
3701 ELSE
3702
3703 l_vat_amt_tbl(p_trx_id_tbl(i)) := 0;
3704
3705 END IF;
3706 ELSIF P_REPORT_NAME = 'ZXCOARSB' THEN --Bug 5396444 : Vat Amt
3707 SELECT sum(nvl(itf.tax_amt,0))
3708 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3709 FROM zx_rep_trx_detail_t itf
3710 WHERE itf.request_id = p_request_id
3711 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3712 AND itf.trx_id = p_trx_id_tbl(i);
3713
3714
3715 END IF;
3716
3717 EXCEPTION
3718 WHEN NO_DATA_FOUND THEN
3719 X_VAT_AMT_TBL(i) := 0;
3720 IF (g_level_statement >= g_current_runtime_level ) THEN
3721 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3722 'No Data Found : Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i)||' tax_rate : '||p_tax_rate_tbl(i));
3723 END IF;
3724
3725 WHEN OTHERS THEN
3726 l_err_msg := substrb(SQLERRM,1,120);
3727 IF (g_level_statement >= g_current_runtime_level ) THEN
3728 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3729 'Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i)||' tax_rate : '||p_tax_rate_tbl(i)||': '||l_err_msg);
3730 END IF;
3731
3732 END;
3733 X_VAT_AMT_TBL(i) := l_vat_amt_tbl(p_trx_id_tbl(i));
3734 END LOOP;
3735
3736 -- ------------------------------------------------------------------------------------------ --
3737 -- Case2: If report is NOT ZXARPVBR --
3738 -- In this case, you can use cache as the lines are filtered by Trx ID and tax rate --
3739 -- ------------------------------------------------------------------------------------------ --
3740
3741 ELSE
3742
3743 BEGIN
3744
3745 SELECT count(distinct trx_id)
3746 INTO l_trx_counter
3747 FROM zx_rep_trx_detail_t
3748 WHERE request_id = p_request_id;
3749
3750 IF ( g_level_statement>= g_current_runtime_level ) THEN
3751 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
3752 ' l_trx_counter : '||l_trx_counter );
3753 END IF;
3754
3755 EXCEPTION
3756
3757 WHEN OTHERS THEN
3758 l_err_msg := substrb(SQLERRM,1,120);
3759 IF (g_level_statement >= g_current_runtime_level ) THEN
3760 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount.BEGIN',
3761 'ZX_JL_EXTRACT_PKG.get_vat_amount.'|| P_REPORT_NAME ||':'||l_err_msg);
3762 END IF;
3763 END;
3764
3765
3766 IF (g_level_procedure >= g_current_runtime_level ) THEN
3767 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3768 'Get VAT Amount For LOOP :'||to_char(p_trx_id_tbl.last));
3769 END IF;
3770
3771
3772 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
3773
3774
3775 IF (g_level_procedure >= g_current_runtime_level ) THEN
3776 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3777 'Get VAT Amount For LOOP :'||to_char(i));
3778 END IF;
3779
3780 /* IF l_vat_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
3781 NULL;
3782 ELSE
3783 l_vat_amt_tbl(p_trx_id_tbl(i)) := null;
3784 END IF; */
3785
3786 --l_vat_amt_tbl(p_trx_id_tbl(i)) := null;
3787 l_vat_amt_tbl(p_trx_id_tbl(i)) := 0;
3788
3789 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
3790 NULL;
3791 ELSE
3792 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := '0';
3793 END IF;
3794
3795 -- IF l_vat_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
3796
3797 BEGIN
3798
3799 IF (g_level_procedure >= g_current_runtime_level ) THEN
3800 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3801 'Get VAT Amount SQL :'||to_char(l_vat_amt_tbl(p_trx_id_tbl(i))));
3802 END IF;
3803
3804 -- ---------------------------------------------- --
3805 -- For AP Reports except ZXARPVBR --
3806 -- ---------------------------------------------- --
3807
3808 IF P_REPORT_NAME = 'JLARPCFF' THEN
3809
3810 --SELECT SUM(nvl(itf.tax_amt_funcl_curr,0))
3811 SELECT SUM(nvl(itf.tax_amt,0))
3812 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3813 FROM zx_rep_trx_detail_t itf
3814 WHERE itf.request_id = p_request_id
3815 AND itf.trx_id = p_trx_id_tbl(i)
3816 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3817 AND itf.reverse_flag is null
3818 AND itf.tax_type_code = p_vat_tax;
3819
3820 IF (g_level_procedure >= g_current_runtime_level ) THEN
3821 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3822 'Get VAT Amount SQL : JLARPCFF:'||to_char(l_vat_amt_tbl(p_trx_id_tbl(i))));
3823 END IF;
3824
3825
3826 ELSIF P_REPORT_NAME = 'JLARPPFF' THEN
3827
3828 IF (g_level_procedure >= g_current_runtime_level ) THEN
3829 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3830 'Get VAT Amount SQL : JLARPPFF:'||to_char(l_vat_amt_tbl(p_trx_id_tbl(i))));
3831 END IF;
3832
3833 SELECT sum(itf.tax_amt)
3834 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3835 FROM zx_rep_trx_detail_t itf
3836 WHERE itf.request_id = p_request_id
3837 AND itf.trx_id = p_trx_id_tbl(i)
3838 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3839 -- AND itf.posted_flag = 'Y'
3840 AND itf.tax_type_code = p_vat_tax;
3841
3842
3843 IF (g_level_procedure >= g_current_runtime_level ) THEN
3844 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3845 'Get VAT Amount SQL : JLARPPFF: After SQL'||to_char(l_vat_amt_tbl(p_trx_id_tbl(i))));
3846 END IF;
3847
3848 -- ---------------------------------------------- --
3849 -- For AR Reports --
3850 -- ---------------------------------------------- --
3851
3852 ELSIF P_REPORT_NAME = 'JLZZTCFF' THEN
3853
3854 SELECT sum(nvl(itf.tax_amt,0))
3855 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3856 FROM zx_rep_trx_detail_t itf
3857 WHERE itf.request_id = p_request_id
3858 AND itf.trx_id = p_trx_id_tbl(i)
3859 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3860 AND itf.tax_regime_code = p_tax_regime
3861 AND itf.tax = p_vat_tax
3862 AND nvl(itf.tax_type_code, 'VAT') = 'VAT';
3863
3864
3865
3866 ELSIF P_REPORT_NAME = 'JLARTSFF' THEN
3867
3868 IF (g_level_procedure >= g_current_runtime_level ) THEN
3869 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3870 'Get VAT Amount : JLARTSFF:');
3871 END IF;
3872
3873
3874 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
3875 null;
3876
3877 IF (g_level_procedure >= g_current_runtime_level ) THEN
3878 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3879 'Get VAT Amount : l_gdf_ra_cust_trx_att19_tbl not null:');
3880 END IF;
3881
3882 ELSE
3883 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
3884
3885 IF (g_level_procedure >= g_current_runtime_level ) THEN
3886 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3887 'Get VAT Amount : l_gdf_ra_cust_trx_att19_tbl null:');
3888 END IF;
3889
3890 END IF;
3891
3892 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' AND
3893 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) OR
3894 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
3895
3896 -- IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
3897 BEGIN
3898 IF (g_level_procedure >= g_current_runtime_level ) THEN
3899 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3900 'Get VAT Amount SQL begin : JLARTSFF:');
3901 END IF;
3902
3903 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
3904 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
3905 FROM ra_customer_trx_all
3906 WHERE customer_trx_id = p_trx_id_tbl(i);
3907
3908 IF (g_level_procedure >= g_current_runtime_level ) THEN
3909 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3910 'Get VAT Amount SQL end: JLARTSFF:');
3911 END IF;
3912
3913
3914 EXCEPTION
3915 WHEN OTHERS THEN
3916 l_err_msg := substrb(SQLERRM,1,120);
3917 IF (g_level_procedure >= g_current_runtime_level ) THEN
3918 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount.BEGIN',
3919 'ZX_JL_EXTRACT_PKG.get_vat_amount.'|| P_REPORT_NAME ||':'||l_err_msg);
3920 END IF;
3921
3922 END;
3923
3924 END IF;
3925
3926 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
3927
3928 SELECT sum(nvl(itf.tax_amt_funcl_curr, itf.tax_amt))
3929 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3930 FROM zx_rep_trx_detail_t itf,
3931 ar_vat_tax_all vat
3932 WHERE itf.request_id = p_request_id
3933 AND itf.trx_id = p_trx_id_tbl(i)
3934 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3935 AND itf.tax_regime_code = p_tax_regime
3936 AND itf.tax = p_vat_tax
3937 AND nvl(vat.tax_type,'VAT') = 'VAT'
3938 AND itf.tax_rate = p_tax_rate_tbl(i)
3939 AND itf.tax_rate_id = vat.vat_tax_id;
3940
3941
3942 IF (g_level_procedure >= g_current_runtime_level ) THEN
3943 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
3944 'VAT Amount : '||to_char(l_vat_amt_tbl(p_trx_id_tbl(i))));
3945 END IF;
3946
3947
3948 ELSE
3949
3950 l_vat_amt_tbl(p_trx_id_tbl(i)) := 0;
3951
3952 END IF;
3953
3954 ELSIF P_REPORT_NAME = 'JLARTDFF' THEN
3955
3956 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' and
3957 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
3958
3959 BEGIN
3960
3961 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
3962 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
3963 FROM ra_customer_trx
3964 WHERE customer_trx_id = p_trx_id_tbl(i);
3965
3966 EXCEPTION
3967 WHEN OTHERS THEN
3968 l_err_msg := substrb(SQLERRM,1,120);
3969 IF (g_level_procedure >= g_current_runtime_level ) THEN
3970 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount.BEGIN',
3971 'ZX_JL_EXTRACT_PKG.get_vat_amount.'|| P_REPORT_NAME ||':'||l_err_msg);
3972 END IF;
3973 END;
3974
3975 END IF;
3976
3977 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
3978
3979 SELECT sum(nvl(itf.tax_amt,0))
3980 INTO l_vat_amt_tbl(p_trx_id_tbl(i))
3981 FROM zx_rep_trx_detail_t itf
3982 WHERE itf.request_id = p_request_id
3983 AND itf.trx_id = p_trx_id_tbl(i)
3984 -- AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
3985 AND itf.tax_regime_code = p_tax_regime
3986 AND itf.tax = p_vat_tax
3987 AND nvl(itf.tax_type_code, 'VAT') = 'VAT'
3988 AND nvl(itf.tax_rate,0) <> 0;
3989
3990 ELSE
3991
3992 l_vat_amt_tbl(p_trx_id_tbl(i)) := 0;
3993
3994 END IF;
3995
3996
3997 END IF; -- Match IF P_REPORT_NAME = ...
3998
3999 X_VAT_AMT_TBL(i) := nvl(l_vat_amt_tbl(p_trx_id_tbl(i)),0);
4000 IF (g_level_procedure >= g_current_runtime_level ) THEN
4001 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount',
4002 'Get VAT Amount SQL : JLARPPFF: End of Report check'||to_char(l_vat_amt_tbl(p_trx_id_tbl(i))));
4003 END IF;
4004
4005 EXCEPTION
4006 WHEN NO_DATA_FOUND THEN
4007 IF (g_level_procedure >= g_current_runtime_level ) THEN
4008 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount.BEGIN',
4009 'ZX_JL_EXTRACT_PKG.get_vat_amount.'|| P_REPORT_NAME ||':'||l_err_msg);
4010 END IF;
4011 l_vat_amt_tbl(p_trx_id_tbl(i)) := 0;
4012 X_VAT_AMT_TBL(i) := l_vat_amt_tbl(p_trx_id_tbl(i));
4013 NULL;
4014
4015 WHEN OTHERS THEN
4016 l_err_msg := substrb(SQLERRM,1,120);
4017 IF (g_level_procedure >= g_current_runtime_level ) THEN
4018 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount.BEGIN',
4019 'ZX_JL_EXTRACT_PKG.get_vat_amount.'|| P_REPORT_NAME ||':'||l_err_msg);
4020 END IF;
4021
4022 END;
4023 -- ELSE -- if l_vat_amt_tbl is not null
4024
4025 -- X_VAT_AMT_TBL(i) := l_vat_amt_tbl(p_trx_id_tbl(i));
4026 --X_VAT_AMT_TBL(i) := 0;
4027
4028 -- END IF;
4029
4030 IF ( g_level_statement>= g_current_runtime_level ) THEN
4031 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4032 ' Vat Amt for Report Name : '||p_report_name ||' trx_id : '
4033 ||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_VAT_AMT_TBL(i)));
4034 END IF;
4035
4036 END LOOP;
4037 END IF; -- Two characters Report Name check--
4038
4039 IF (g_level_procedure >= g_current_runtime_level ) THEN
4040 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_amount.BEGIN',
4041 'ZX_JL_EXTRACT_PKG.get_vat_amount(-)');
4042 END IF;
4043 END GET_VAT_AMOUNT;
4044
4045
4046 /*===============================================================================+
4047 | PROCEDURE |
4048 | GET_TAXABLE_AMOUNT |
4049 | Type : Private |
4050 | Pre-req : None |
4051 | Function : |
4052 | This procedure extract VAT Tax Amount for the given report name |
4053 | |
4054 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
4055 | |
4056 | Parameters : |
4057 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
4058 | P_REPORT_NAME IN VARCHAR2 Req |
4059 | P_REQUEST_ID IN NUMBER Req |
4060 | P_detail_tax_line_id_tbl IN ZX_EXTRACT_PKG.detail_tax_line_id_tbl |
4061 | P_trx_line_id_tbl IN ZX_EXTRACT_PKG.P_trx_line_id_tbl |
4062 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
4063 | P_TRX_RATE_TBL IN ZX_EXTRACT_PKG.RATE_TBL Opt|
4064 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
4065 | SUB_TYPE_TBL Opt|
4066 | |
4067 | OUT |
4068 | X_TAXABLE_AMT_TBL OUT NUMERIC10_TBL |
4069 | |
4070 | MODIFICATION HISTORY |
4071 | 29-Oct-04 Hidetaka Kojima created |
4072 | |
4073 +===============================================================================*/
4074
4075
4076 PROCEDURE GET_TAXABLE_AMOUNT
4077 (
4078 P_VAT_TAX IN VARCHAR2 DEFAULT NULL,
4079 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
4080 P_REPORT_NAME IN VARCHAR2,
4081 P_REQUEST_ID IN NUMBER,
4082 P_DETAIL_TAX_LINE_ID IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
4083 P_TRX_LINE_ID IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
4084 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
4085 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
4086 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
4087 X_TAXABLE_AMT_TBL OUT NOCOPY NUMERIC10_TBL
4088
4089 ) IS
4090
4091 l_common_sql_string VARCHAR2(1000);
4092 l_err_msg VARCHAR2(120);
4093 l_trx_counter NUMBER;
4094 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
4095 l_taxable_amt_tbl NUMERIC10_TBL;
4096 k NUMBER;
4097 --INTEGER;
4098
4099 BEGIN
4100 IF (g_level_procedure >= g_current_runtime_level ) THEN
4101 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount.BEGIN',
4102 'ZX_JL_EXTRACT_PKG.get_taxable_amount(+)');
4103 END IF;
4104
4105 -- ------------------------------------------------------------------------------------------ --
4106 -- Case1: If report is ZXARPVBR --
4107 -- In this case, you cannot use cache as the lines are filtered by Trx ID and tax rate --
4108 -- ------------------------------------------------------------------------------------------ --
4109
4110
4111 IF P_REPORT_NAME = 'ZXARPVBR' THEN
4112 k:=0;
4113 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
4114 BEGIN
4115
4116 IF (g_level_procedure >= g_current_runtime_level ) THEN
4117 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4118 'ZXARPVBR : For Loop ' );
4119 END IF;
4120 IF (g_level_procedure >= g_current_runtime_level ) THEN
4121 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4122 'p_trx_id_tbl : p_trx_line_id:'||to_char(p_trx_id_tbl(i))||' '||to_char(p_trx_line_id(i)));
4123 END IF;
4124 -- k:= to_number(to_char(p_trx_id_tbl(i))||to_char(p_trx_line_id(i)));
4125
4126 IF i = 1 THEN
4127 k:=1;
4128 ELSE
4129 IF (p_trx_id_tbl(i) <> p_trx_id_tbl(i-1)) OR
4130 (p_trx_line_id(i) <> p_trx_line_id(i-1)) THEN
4131 k:=k+1;
4132 END IF;
4133 END IF;
4134
4135 IF (g_level_procedure >= g_current_runtime_level ) THEN
4136 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4137 'K Value : '||to_char(k));
4138 END IF;
4139
4140 IF l_taxable_amt_tbl.EXISTS(k) THEN
4141 null;
4142 IF (g_level_procedure >= g_current_runtime_level ) THEN
4143 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4144 'taxable_amt_tbl.EXISTS : '||to_char(k));
4145 END IF;
4146 ELSE
4147 l_taxable_amt_tbl(k) := null;
4148 IF (g_level_procedure >= g_current_runtime_level ) THEN
4149 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4150 'taxable_amt_tbl(k) null : '||to_char(k));
4151 END IF;
4152 END IF;
4153
4154 IF (g_level_procedure >= g_current_runtime_level ) THEN
4155 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4156 'l_taxable_amt_tbl(k) : '||to_char(l_taxable_amt_tbl(k)));
4157 END IF;
4158
4159 IF l_taxable_amt_tbl(k) is NULL THEN
4160 BEGIN
4161 SELECT SUM(NVL(itf.taxable_amt,0))
4162 INTO l_taxable_amt_tbl(k)
4163 FROM zx_rep_trx_detail_t itf
4164 WHERE itf.request_id = p_request_id
4165 AND itf.trx_id = p_trx_id_tbl(i)
4166 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
4167 AND itf.trx_line_id = p_trx_line_id(i)
4168 AND itf.tax_type_code = p_vat_tax
4169 AND itf.tax_rate = p_tax_rate_tbl(i)
4170 AND itf.tax_rate <> 0;
4171
4172 EXCEPTION
4173 WHEN NO_DATA_FOUND THEN
4174
4175 X_TAXABLE_AMT_TBL(i) := 0;
4176 IF (g_level_statement >= g_current_runtime_level ) THEN
4177 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4178 'No Data Found : Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i));
4179 END IF;
4180
4181 WHEN OTHERS THEN
4182 IF (g_level_statement >= g_current_runtime_level ) THEN
4183 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4184 'Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i)||': '||substr(sqlerrm,1,120));
4185 END IF;
4186 END;
4187 X_TAXABLE_AMT_TBL(i):=l_taxable_amt_tbl(k);
4188 ELSE
4189 X_TAXABLE_AMT_TBL(i):=0;
4190 END IF;
4191
4192 END;
4193 END LOOP;
4194
4195 -- ------------------------------------------------------------------------------------------ --
4196 -- Case2: If report is ZXZZTVSR --
4197 -- In this case, you cannot use cache as the lines are filtered by Trx ID and tax rate --
4198 -- ------------------------------------------------------------------------------------------ --
4199
4200 ELSIF P_REPORT_NAME = 'ZXZZTVSR' THEN
4201
4202 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
4203
4204 BEGIN
4205
4206 IF ( g_level_statement>= g_current_runtime_level ) THEN
4207 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4208 ' p_detail_tax_line_id : '||p_detail_tax_line_id(i));
4209 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4210 ' p_trx_id_tbl : '||p_trx_id_tbl(i));
4211 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4212 ' p_trx_line_id : '||p_trx_line_id(i));
4213 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4214 ' p_tax_rate_tbl : '||p_tax_rate_tbl(i));
4215 END IF ;
4216
4217 IF l_taxable_amt_tbl.EXISTS(p_trx_line_id(i)) THEN
4218 null;
4219 ELSE
4220 l_taxable_amt_tbl(p_trx_line_id(i)) := null;
4221 END IF;
4222
4223 IF l_taxable_amt_tbl(p_trx_line_id(i)) is NULL THEN
4224 BEGIN
4225 SELECT SUM(nvl(itf.taxable_amt_funcl_curr,itf.taxable_amt))
4226 INTO l_taxable_amt_tbl(p_trx_line_id(i))
4227 FROM zx_rep_trx_detail_t itf
4228 WHERE itf.request_id = p_request_id
4229 AND itf.trx_id = p_trx_id_tbl(i)
4230 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
4231 AND itf.trx_line_id = p_trx_line_id(i)
4232 --AND itf.tax_regime_code = nvl(p_tax_regime,itf.tax_regime_code)--Bug 5374021
4233 --AND itf.tax = p_vat_tax
4234 and itf.tax_rate <> 0
4235 AND itf.tax_rate = p_tax_rate_tbl(i);
4236
4237 EXCEPTION
4238
4239 WHEN NO_DATA_FOUND THEN
4240
4241 X_TAXABLE_AMT_TBL(i) := 0;
4242 IF (g_level_statement >= g_current_runtime_level ) THEN
4243 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4244 'No Data Found : Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i));
4245 END IF;
4246
4247 WHEN OTHERS THEN
4248 IF (g_level_statement >= g_current_runtime_level ) THEN
4249 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4250 'Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i)||': '||substr(sqlerrm,1,120));
4251 END IF;
4252 END;
4253 X_TAXABLE_AMT_TBL(i):=l_taxable_amt_tbl(p_trx_line_id(i));
4254 ELSE
4255 X_TAXABLE_AMT_TBL(i):=0;
4256 END IF;
4257
4258
4259 END;
4260
4261 IF ( g_level_statement>= g_current_runtime_level ) THEN
4262 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4263 ' Taxable Amt for Report Name : '||p_report_name ||' trx_id : '
4264 ||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_TAXABLE_AMT_TBL(i)));
4265 END IF;
4266
4267 END LOOP;
4268
4269 ELSIF P_REPORT_NAME = 'ZXCLPPLR' THEN
4270 k:=0;
4271 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
4272 BEGIN
4273 -- k:= to_number(to_char(p_trx_id_tbl(i))||to_char(p_trx_line_id(i)));
4274 IF i = 1 THEN
4275 k:=1;
4276 ELSE
4277 IF (p_trx_id_tbl(i) <> p_trx_id_tbl(i-1)) OR
4278 (p_trx_line_id(i) <> p_trx_line_id(i-1)) THEN
4279 k:=k+1;
4280 END IF;
4281 END IF;
4282
4283 IF l_taxable_amt_tbl.EXISTS(k) THEN
4284 null;
4285 ELSE
4286 l_taxable_amt_tbl(k) := null;
4287 END IF;
4288
4289 IF l_taxable_amt_tbl(k) is NULL THEN
4290 BEGIN
4291 IF ( g_level_statement>= g_current_runtime_level ) THEN
4292 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4293 ' Document Sub Type : '||P_DOCUMENT_SUB_TYPE_TBL(i) );
4294 END IF;
4295 IF P_DOCUMENT_SUB_TYPE_TBL(i) = 'JL_CL_CREDIT_MEMO' THEN
4296 SELECT SUM(nvl(itf.taxable_amt_funcl_curr,nvl(itf.taxable_amt,0)))
4297 INTO l_taxable_amt_tbl(k)
4298 FROM zx_rep_trx_detail_t itf
4299 WHERE itf.request_id = p_request_id
4300 AND itf.trx_id = p_trx_id_tbl(i)
4301 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
4302 AND itf.trx_line_id = p_trx_line_id(i)
4303 AND (itf.reverse_flag IS NULL OR itf.reverse_flag <> 'Y')
4304 AND itf.tax_rate_id = P_TAX_RATE_TBL(i) --Bug 5413860
4305 AND itf.tax_rate <> 0;
4306 ELSE
4307 SELECT SUM(nvl(itf.taxable_amt_funcl_curr,nvl(itf.taxable_amt,0)))
4308 INTO l_taxable_amt_tbl(k)
4309 FROM zx_rep_trx_detail_t itf
4310 WHERE itf.request_id = p_request_id
4311 AND itf.trx_id = p_trx_id_tbl(i)
4312 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
4313 AND itf.trx_line_id = p_trx_line_id(i)
4314 AND itf.tax_rate_id = P_TAX_RATE_TBL(i) --Bug 5413860
4315 AND itf.tax_rate <> 0;
4316
4317 IF ( g_level_statement>= g_current_runtime_level ) THEN
4318 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4319 ' get taxable_amount() :l_taxable_amt_tbl: '||to_char(l_taxable_amt_tbl(k)));
4320 END IF;
4321
4322 END IF;
4323 END;
4324 X_TAXABLE_AMT_TBL(i):=l_taxable_amt_tbl(k);
4325 ELSE
4326 X_TAXABLE_AMT_TBL(i):=0;
4327 END IF;
4328 END;
4329 END LOOP;
4330
4331 ELSIF P_REPORT_NAME = 'ZXCOARSB' THEN --Bug 5396444 : Logic to get the extended amount
4332 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
4333 BEGIN
4334 IF l_taxable_amt_tbl.EXISTS(p_trx_line_id(i)) THEN
4335 null;
4336 ELSE
4337 l_taxable_amt_tbl(p_trx_line_id(i)) := null;
4338 END IF;
4339
4340 IF l_taxable_amt_tbl(p_trx_line_id(i)) is NULL THEN
4341 BEGIN
4342 SELECT (SUM(DECODE(ctl.line_type,'LINE', NVL(ctl.extended_amount,0),0))
4343 + SUM(DECODE(ctl.line_type,'FREIGHT',NVL(ctl.extended_amount,0),0))
4344 + SUM(DECODE(ctl.line_type,'CHARGE',NVL(ctl.extended_amount,0),0))) --* p_exchange_rate_tbl(i)
4345 INTO l_taxable_amt_tbl(p_trx_line_id(i))
4346 FROM ra_customer_trx_lines_all ctl
4347 WHERE ctl.customer_trx_line_id = p_trx_line_id(i)
4348 AND ctl.customer_trx_id = p_trx_id_tbl(i);
4349
4350 END;
4351 X_TAXABLE_AMT_TBL(i):=l_taxable_amt_tbl(p_trx_line_id(i));
4352 ELSE
4353 X_TAXABLE_AMT_TBL(i):=0;
4354 END IF;
4355
4356 END;
4357 END LOOP;
4358
4359 ELSIF P_REPORT_NAME = 'ZXCLRSLL' THEN
4360
4361 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
4362 BEGIN
4363 IF l_taxable_amt_tbl.EXISTS(p_trx_line_id(i)) THEN
4364 null;
4365 ELSE
4366 l_taxable_amt_tbl(p_trx_line_id(i)) := null;
4367 END IF;
4368
4369 IF (g_level_statement >= g_current_runtime_level ) THEN
4370 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4371 'Inside Report Name : Taxable amount '||P_REPORT_NAME ||'i : '
4372 ||i||' trx_id : '||p_trx_id_tbl(i)||': ');
4373 END IF;
4374
4375 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_line_id(i)) THEN
4376 NULL;
4377 ELSE
4378 l_gdf_ra_cust_trx_att19_tbl(p_trx_line_id(i)) := '0';
4379 END IF;
4380
4381
4382 IF l_taxable_amt_tbl(p_trx_line_id(i)) is NULL THEN
4383 BEGIN
4384 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_line_id(i)) <> 'IS_NULL'
4385 AND l_gdf_ra_cust_trx_att19_tbl(p_trx_line_id(i)) <> 'NOT_NULL' ) THEN
4386
4387 BEGIN
4388 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
4389 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_line_id(i))
4390 FROM ra_customer_trx_all
4391 WHERE customer_trx_id = p_trx_id_tbl(i);
4392
4393 IF (g_level_statement >= g_current_runtime_level ) THEN
4394 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4395 'Inside Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i)||': '
4396 ||' ga9 : '||l_gdf_ra_cust_trx_att19_tbl(p_trx_line_id(i)));
4397 END IF;
4398
4399 EXCEPTION
4400 WHEN OTHERS THEN
4401 IF (g_level_statement >= g_current_runtime_level ) THEN
4402 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4403 'Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '
4404 ||p_trx_id_tbl(i)||': '||substr(sqlerrm,1,120));
4405 END IF;
4406 END;
4407 END IF;
4408
4409 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_line_id(i)) = 'IS_NULL' THEN
4410 -- null;
4411 -- OPEN ISSUE -- --Bug 5438742
4412 SELECT SUM(nvl(itf.taxable_amt_funcl_curr,nvl(itf.taxable_amt,0)))
4413 INTO l_taxable_amt_tbl(p_trx_line_id(i))
4414 FROM zx_rep_trx_detail_t itf
4415 WHERE itf.request_id = p_request_id
4416 AND itf.trx_id = p_trx_id_tbl(i)
4417 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
4418 AND itf.trx_line_id = p_trx_line_id(i)
4419 AND itf.tax_rate_id = P_TAX_RATE_TBL(i) --Bug 5413860
4420 AND itf.tax_rate <> 0;
4421 ELSE
4422 l_taxable_amt_tbl(p_trx_line_id(i)) := 0;
4423 END IF;
4424
4425 --END IF;
4426
4427 -- X_TAXABLE_AMT_TBL(i) := l_taxable_amt_tbl(p_trx_line_id(i));
4428 EXCEPTION
4429 WHEN NO_DATA_FOUND THEN
4430 l_taxable_amt_tbl(p_trx_id_tbl(i)) := 0;
4431 X_TAXABLE_AMT_TBL(i) := l_taxable_amt_tbl(p_trx_line_id(i));
4432 NULL;
4433 IF (g_level_statement >= g_current_runtime_level ) THEN
4434 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4435 'No Data Found : Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i));
4436 END IF;
4437
4438 WHEN OTHERS THEN
4439 IF (g_level_statement >= g_current_runtime_level ) THEN
4440 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4441 'Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i)||': '||substr(sqlerrm,1,120));
4442 END IF;
4443
4444 END;
4445 X_TAXABLE_AMT_TBL(i):=l_taxable_amt_tbl(p_trx_line_id(i));
4446 ELSE
4447 X_TAXABLE_AMT_TBL(i):=0;
4448 END IF;
4449 END;
4450
4451 IF ( g_level_statement>= g_current_runtime_level ) THEN
4452 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4453 ' Taxable Amt for Report Name : '||p_report_name ||' trx_id : '
4454 ||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_TAXABLE_AMT_TBL(i)));
4455 END IF;
4456
4457 END LOOP;
4458
4459
4460
4461
4462 -- ------------------------------------------------------------------------------------------ --
4463 -- Case3: If report is NOT ZXARPVBR or NOT ZXZZTVSR --
4464 -- In this case, you can use cache as the lines are filtered by Trx ID and tax rate --
4465 -- ------------------------------------------------------------------------------------------ --
4466
4467 ELSE
4468 BEGIN
4469 SELECT count(distinct trx_id)
4470 INTO l_trx_counter
4471 FROM zx_rep_trx_detail_t
4472 WHERE request_id = p_request_id;
4473
4474 IF ( g_level_statement>= g_current_runtime_level ) THEN
4475 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4476 ' l_trx_counter : '||l_trx_counter );
4477 END IF;
4478 EXCEPTION
4479 WHEN OTHERS THEN
4480 l_err_msg := substrb(SQLERRM,1,120);
4481 IF ( g_level_statement>= g_current_runtime_level ) THEN
4482 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount ',
4483 'ZX_JL_EXTRACT_PKG.get_taxable_amount.'|| P_REPORT_NAME ||':'||l_err_msg);
4484 END IF;
4485 END;
4486
4487
4488 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
4489 BEGIN
4490
4491 IF P_REPORT_NAME = 'JLARPPFF' THEN
4492 -- k:= to_number(to_char(p_trx_id_tbl(i))||to_char(p_trx_line_id(i)));
4493 IF i = 1 THEN
4494 k:=1;
4495 ELSE
4496 IF (p_trx_id_tbl(i) <> p_trx_id_tbl(i-1)) OR
4497 (p_trx_line_id(i) <> p_trx_line_id(i-1)) THEN
4498 k:=k+1;
4499 END IF;
4500 END IF;
4501 IF (g_level_procedure >= g_current_runtime_level ) THEN
4502 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount.JLARPPFF',
4503 'K Value : '||to_char(k));
4504 END IF;
4505
4506 IF l_taxable_amt_tbl.EXISTS(k) THEN
4507 null;
4508 ELSE
4509 l_taxable_amt_tbl(k) := null;
4510 END IF;
4511
4512 ELSE
4513 k:= p_trx_line_id(i);
4514 IF l_taxable_amt_tbl.EXISTS(k) THEN
4515 null;
4516 ELSE
4517 l_taxable_amt_tbl(k) := null;
4518 END IF;
4519
4520 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
4521 NULL;
4522 ELSE
4523 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := '0';
4524 END IF;
4525 END IF;
4526
4527 IF l_taxable_amt_tbl(k) is NULL THEN
4528 BEGIN
4529 IF P_REPORT_NAME = 'JLARPPFF' THEN
4530 IF ( g_level_statement>= g_current_runtime_level ) THEN
4531 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount ',
4532 'get_taxable : '|| to_char(k)||' '||to_char(p_trx_id_tbl(i))||' '||to_char(p_tax_rate_tbl(i)));
4533 END IF;
4534 SELECT abs(nvl(SUM(itf.taxable_amt),0))
4535 INTO l_taxable_amt_tbl(k)
4536 FROM zx_rep_trx_detail_t itf
4537 WHERE itf.request_id = p_request_id
4538 AND itf.trx_id = p_trx_id_tbl(i)
4539 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
4540 AND itf.trx_line_id = p_trx_line_id(i)
4541 AND itf.tax_type_code = p_vat_tax
4542 AND itf.tax_rate = p_tax_rate_tbl(i)
4543 AND itf.tax_rate <> 0;
4544
4545
4546 -- ---------------------------------------------- --
4547 -- For AR Reports --
4548 -- ---------------------------------------------- --
4549
4550 ELSIF P_REPORT_NAME = 'JLARTPFF' THEN
4551
4552 SELECT ABS(SUM(itf.taxable_amt_funcl_curr))
4553 INTO l_taxable_amt_tbl(k)
4554 FROM zx_rep_trx_detail_t itf
4555 WHERE itf.request_id = p_request_id
4556 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
4557 AND itf.trx_line_id = p_trx_line_id(i)
4558 AND itf.trx_id = p_trx_id_tbl(i);
4559
4560 ELSIF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
4561
4562 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' AND
4563 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) OR
4564 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
4565
4566 BEGIN
4567 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
4568 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
4569 FROM ra_customer_trx_all
4570 WHERE customer_trx_id = p_trx_id_tbl(i);
4571
4572 EXCEPTION
4573 WHEN OTHERS THEN
4574 IF (g_level_statement >= g_current_runtime_level ) THEN
4575 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4576 'Report Name : '||P_REPORT_NAME ||'i : '||i||' trx_id : '||p_trx_id_tbl(i)||': '
4577 ||substr(sqlerrm,1,120));
4578 END IF;
4579 END;
4580
4581 END IF;
4582
4583 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
4584 IF (g_level_procedure >= g_current_runtime_level ) THEN
4585 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4586 'Trx ID : '||to_char(p_trx_id_tbl(i)));
4587 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4588 'p_tax_rate_tbl : '||to_char(p_tax_rate_tbl(i)));
4589 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4590 'p_tax_regime : '||p_tax_regime);
4591 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4592 'p_vat_tax : '||p_vat_tax);
4593 END IF;
4594
4595 SELECT NVL(sum(nvl(itf.taxable_amt_funcl_curr,itf.taxable_amt)),0)
4596 INTO l_taxable_amt_tbl(k)
4597 FROM zx_rep_trx_detail_t itf
4598 WHERE itf.request_id = p_request_id
4599 AND itf.trx_id = p_trx_id_tbl(i)
4600 AND itf.detail_tax_line_id = p_detail_tax_line_id(i)
4601 AND itf.trx_line_id = p_trx_line_id(i)
4602 AND itf.tax_regime_code = p_tax_regime
4603 AND itf.tax = p_vat_tax
4604 AND itf.tax_rate = p_tax_rate_tbl(i)
4605 AND nvl(itf.tax_rate,0) <> 0;
4606
4607 IF (g_level_procedure >= g_current_runtime_level ) THEN
4608 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4609 'Trx ID After query : '||to_char(l_taxable_amt_tbl(k)));
4610 END IF;
4611 ELSE
4612
4613 l_taxable_amt_tbl(k) := 0;
4614
4615 END IF;
4616
4617 END IF;
4618 EXCEPTION
4619 when others then
4620 IF (g_level_procedure >= g_current_runtime_level ) THEN
4621 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount',
4622 'Trx ID Exemption : '||to_char(p_trx_id_tbl(i)));
4623 END IF;
4624 l_taxable_amt_tbl(k) := 0;
4625
4626 END;
4627
4628 X_TAXABLE_AMT_TBL(i) := l_taxable_amt_tbl(k);
4629 ELSE -- if l_vat_amt_tbl is not null
4630
4631 X_TAXABLE_AMT_TBL(i) := 0;
4632
4633 END IF;
4634
4635 IF ( g_level_statement>= g_current_runtime_level ) THEN
4636 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4637 ' Taxable Amt for Report Name : '||p_report_name ||' trx_id : '
4638 ||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_TAXABLE_AMT_TBL(i)));
4639 END IF;
4640 END;
4641 END LOOP;
4642
4643 END IF;
4644 IF (g_level_procedure >= g_current_runtime_level ) THEN
4645 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_taxable_amount.BEGIN',
4646 'ZX_JL_EXTRACT_PKG.get_taxable_amount(-)');
4647 END IF;
4648 END GET_TAXABLE_AMOUNT;
4649
4650
4651 /*================================================================================+
4652 | PROCEDURE |
4653 | GET_NON_TAXABLE_AMOUNT |
4654 | Type : Private |
4655 | Pre-req : None |
4656 | Function : |
4657 | This procedure extract VAT Tax Amount for the given report name |
4658 | |
4659 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
4660 | |
4661 | Parameters : |
4662 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
4663 | P_REPORT_NAME IN VARCHAR2 Req |
4664 | P_REQUEST_ID IN NUMBER Req |
4665 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
4666 | |
4667 | OUT |
4668 | X_NON_TAXABLE_AMT_TBL OUT NUMERIC8_TBL |
4669 | |
4670 | MODIFICATION HISTORY |
4671 | 29-Oct-04 Hidetaka Kojima created |
4672 | |
4673 +================================================================================*/
4674
4675
4676 PROCEDURE GET_NON_TAXABLE_AMOUNT
4677 (
4678 P_NON_TAXAB_TAX IN VARCHAR2 DEFAULT NULL,
4679 P_VAT_TAX IN VARCHAR2 DEFAULT NULL,
4680 P_VAT_ADDIT_TAX IN VARCHAR2 DEFAULT NULL,
4681 P_VAT_PERCEP_TAX IN VARCHAR2 DEFAULT NULL,
4682 P_REPORT_NAME IN VARCHAR2,
4683 p_REQUEST_ID IN NUMBER,
4684 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
4685 P_DETAIL_TAX_LINE_ID IN ZX_EXTRACT_PKG.DETAIL_TAX_LINE_ID_TBL,
4686 P_TRX_LINE_ID IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
4687 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
4688 X_NON_TAXABLE_AMT_TBL OUT NOCOPY NUMERIC8_TBL
4689 ) IS
4690
4691 l_err_msg VARCHAR2(120);
4692 l_trx_counter NUMBER;
4693 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
4694 l_non_taxable_amt_tbl NUMERIC8_TBL;
4695 k NUMBER;
4696
4697 BEGIN
4698
4699 IF (g_level_procedure >= g_current_runtime_level ) THEN
4700 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_non_taxable_amount.BEGIN',
4701 'ZX_JL_EXTRACT_PKG.get_non_taxable_amount(+)');
4702 END IF;
4703
4704 BEGIN
4705
4706 SELECT count(distinct trx_id)
4707 INTO l_trx_counter
4708 FROM zx_rep_trx_detail_t
4709 WHERE request_id = p_request_id;
4710
4711 IF ( g_level_statement>= g_current_runtime_level ) THEN
4712 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4713 ' l_trx_counter : '||l_trx_counter );
4714 END IF;
4715
4716 EXCEPTION
4717
4718 WHEN OTHERS THEN
4719 IF ( g_level_statement>= g_current_runtime_level ) THEN
4720 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JA_EXTRACT_PKG.get_non_taxable_amount',
4721 'Error Message : '||substrb(SQLERRM,1,120) );
4722 END IF;
4723
4724 END;
4725
4726 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
4727 IF P_REPORT_NAME in ('ZXARPVBR','JLARPPFF') THEN
4728 -- k:= to_number(to_char(p_trx_id_tbl(i))||to_char(p_trx_line_id(i)));
4729
4730 -- Added for GSI bug#6615621 --
4731 IF i = 1 THEN
4732 k:=1;
4733 ELSE
4734 IF (p_trx_id_tbl(i) <> p_trx_id_tbl(i-1)) OR
4735 (p_trx_line_id(i) <> p_trx_line_id(i-1)) THEN
4736 k:=k+1;
4737 END IF;
4738 END IF;
4739 -- End GSI Bug -----
4740
4741 IF l_non_taxable_amt_tbl.EXISTS(k) THEN
4742 null;
4743 ELSE
4744 l_non_taxable_amt_tbl(k) := null;
4745 END IF;
4746 ELSE
4747 k:= p_trx_line_id(i);
4748 IF l_non_taxable_amt_tbl.EXISTS(k) THEN
4749 null;
4750 ELSE
4751 l_non_taxable_amt_tbl(k) := null;
4752 END IF;
4753 END IF;
4754
4755 /* IF l_non_taxable_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
4756 null;
4757 ELSE
4758 IF (g_level_procedure >= g_current_runtime_level ) THEN
4759 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_non_taxable_amount.BEGIN',
4760 'ZX_JL_EXTRACT_PKG.get_non_taxable_amount - NULL Check ');
4761 END IF;
4762
4763 l_non_taxable_amt_tbl(p_trx_id_tbl(i)) := null;
4764 END IF;
4765 */
4766 IF l_non_taxable_amt_tbl(k) is NULL THEN
4767
4768 BEGIN
4769
4770 IF P_REPORT_NAME in ('ZXARPVBR','JLARPPFF') THEN
4771
4772 SELECT SUM(itf.taxable_amt)
4773 INTO l_non_taxable_amt_tbl(k)
4774 FROM zx_rep_trx_detail_t itf
4775 WHERE itf.request_id = p_request_id
4776 AND itf.trx_id = p_trx_id_tbl(i)
4777 AND itf.trx_line_id = p_trx_line_id(i)
4778 AND itf.tax_type_code = p_non_taxab_tax;
4779
4780 -- ---------------------------------------------- --
4781 -- For AR Reports --
4782 -- ---------------------------------------------- --
4783
4784 ELSIF P_REPORT_NAME = 'ZXZZTVSR' THEN
4785
4786 SELECT SUM(itf.taxable_amt_funcl_curr)
4787 INTO l_non_taxable_amt_tbl(k)
4788 FROM zx_rep_trx_detail_t itf
4789 WHERE itf.request_id = p_request_id
4790 AND itf.trx_id = p_trx_line_id(i)
4791 AND itf.tax NOT IN (p_vat_tax, p_vat_addit_tax,p_vat_percep_tax);
4792
4793 ELSIF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
4794
4795 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' and
4796 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
4797
4798 BEGIN
4799
4800 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
4801 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
4802 FROM ra_customer_trx
4803 WHERE customer_trx_id = p_trx_id_tbl(i);
4804
4805 EXCEPTION
4806 WHEN OTHERS THEN
4807 IF ( g_level_statement>= g_current_runtime_level ) THEN
4808 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JA_EXTRACT_PKG.GET_NON_TAXABLE_AMOUNT',
4809 'Error Message : '||substrb(SQLERRM,1,120) );
4810 END IF;
4811 END;
4812
4813 END IF;
4814
4815 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
4816
4817 SELECT sum(nvl(itf.tax_amt ,0))
4818 INTO l_non_taxable_amt_tbl(p_trx_id_tbl(i))
4819 FROM zx_rep_trx_detail_t itf
4820 WHERE itf.request_id = p_request_id
4821 AND itf.trx_id = p_trx_id_tbl(i)
4822 AND nvl(itf.tax_type_code, 'VAT') = 'VAT'
4823 AND itf.tax = p_non_taxab_tax;
4824
4825 ELSE
4826
4827 --l_non_taxable_amt_tbl(p_trx_id_tbl(i)) := 0;
4828 l_non_taxable_amt_tbl(k) := 0;
4829
4830 END IF;
4831
4832 END IF; -- IF P_REPORT_NAME = ..
4833
4834 X_NON_TAXABLE_AMT_TBL(i) := NVL(l_non_taxable_amt_tbl(k),0);
4835
4836 EXCEPTION
4837
4838 WHEN NO_DATA_FOUND THEN
4839
4840 l_non_taxable_amt_tbl(k) := 0;
4841 X_NON_TAXABLE_AMT_TBL(i) := l_non_taxable_amt_tbl(k);
4842 NULL;
4843
4844 WHEN OTHERS THEN
4845 IF ( g_level_statement>= g_current_runtime_level ) THEN
4846 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JA_EXTRACT_PKG.GET_NON_TAXABLE_AMOUNT',
4847 'Error Message : '||substrb(SQLERRM,1,120) );
4848 END IF;
4849 END;
4850
4851 ELSE -- if l_non_taxable_amt_tbl is not null
4852
4853 X_NON_TAXABLE_AMT_TBL(i) := nvl(l_non_taxable_amt_tbl(k),0);
4854
4855 END IF;
4856
4857 IF ( g_level_statement>= g_current_runtime_level ) THEN
4858 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4859 ' Non Taxable Amt for Report Name : '||p_report_name ||' trx_id : '||to_char(k)||' is : '||to_char(X_NON_TAXABLE_AMT_TBL(i)));
4860 END IF;
4861
4862 END LOOP;
4863
4864 IF (g_level_procedure >= g_current_runtime_level ) THEN
4865 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_non_taxable_amount.END',
4866 'ZX_JL_EXTRACT_PKG.get_non_taxable_amount(-)');
4867 END IF;
4868
4869 END GET_NON_TAXABLE_AMOUNT;
4870
4871
4872 /*================================================================================+
4873 | PROCEDURE |
4874 | GET_VAT_ADDITIONAL_AMOUNT |
4875 | Type : Private |
4876 | Pre-req : None |
4877 | Function : |
4878 | This procedure extract VAT Exempt Amount for the given report name |
4879 | |
4880 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
4881 | |
4882 | Parameters : |
4883 | IN : P_VAT_ADDIT_TAX IN VARCHAR2 Opt |
4884 | P_REPORT_NAME IN VARCHAR2 Req |
4885 | P_REQUEST_ID IN NUMBER Req |
4886 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
4887 | P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
4888 | SUB_TYPE_TBL Opt|
4889 | |
4890 | OUT |
4891 | X_VAT_ADDITIONAL_AMT_TBL OUT NUMERIC11_TBL |
4892 | |
4893 | MODIFICATION HISTORY |
4894 | 29-Oct-04 Hidetaka Kojima created |
4895 | |
4896 +================================================================================*/
4897
4898
4899 PROCEDURE GET_VAT_ADDITIONAL_AMOUNT
4900 (
4901 P_VAT_ADDIT_TAX IN VARCHAR2 DEFAULT NULL,
4902 P_REPORT_NAME IN VARCHAR2,
4903 p_REQUEST_ID IN NUMBER,
4904 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
4905 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.TAX_RATE_ID_TBL,
4906 X_VAT_ADDITIONAL_AMT_TBL OUT NOCOPY NUMERIC7_TBL
4907 ) IS
4908
4909 l_err_msg VARCHAR2(120);
4910 l_trx_counter NUMBER;
4911 l_vat_additional_amt_tbl NUMERIC7_TBL;
4912
4913
4914 BEGIN
4915
4916 IF (g_level_procedure >= g_current_runtime_level ) THEN
4917 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_ADDITIONAL_AMOUNT.BEGIN',
4918 'ZX_JL_EXTRACT_PKG.GET_VAT_ADDITIONAL_AMOUNT(+)');
4919 END IF;
4920
4921 BEGIN
4922
4923 SELECT count(distinct trx_id)
4924 INTO l_trx_counter
4925 FROM zx_rep_trx_detail_t
4926 WHERE request_id = p_request_id;
4927
4928 IF ( g_level_statement>= g_current_runtime_level ) THEN
4929 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
4930 ' l_trx_counter : '|| l_trx_counter );
4931 END IF;
4932
4933 EXCEPTION
4934
4935 WHEN OTHERS THEN
4936
4937 IF ( g_level_statement>= g_current_runtime_level ) THEN
4938 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_additional_amount',
4939 'ZX_JL_EXTRACT_PKG.get_vat_additional_amount : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
4940 END IF;
4941
4942 END;
4943
4944 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
4945
4946 IF l_vat_additional_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
4947 null;
4948 ELSE
4949 l_vat_additional_amt_tbl(p_trx_id_tbl(i)) := null;
4950 END IF;
4951
4952 IF l_vat_additional_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
4953
4954 IF ( g_level_statement>= g_current_runtime_level ) THEN
4955 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_additional_amount',
4956 'ZX_JL_EXTRACT_PKG.get_vat_additional_amount : '||p_report_name
4957 ||' : '||to_char(l_vat_additional_amt_tbl(p_trx_id_tbl(i))));
4958 END IF;
4959
4960
4961 BEGIN
4962
4963 IF P_REPORT_NAME IN ('ZXZZTVSR','JLARTSFF') THEN
4964
4965 SELECT SUM(NVL(itf.tax_amt_funcl_curr,itf.tax_amt))
4966 INTO l_vat_additional_amt_tbl(p_trx_id_tbl(i))
4967 FROM zx_rep_trx_detail_t itf
4968 WHERE itf.request_id = p_request_id
4969 AND itf.trx_id = p_trx_id_tbl(i)
4970 -- AND itf.tax_rate_id = p_tax_rate_id_tbl(i)
4971 ANd itf.tax = p_vat_addit_tax;
4972
4973 IF ( g_level_statement>= g_current_runtime_level ) THEN
4974 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_additional_amount',
4975 'ZX_JL_EXTRACT_PKG.get_vat_additional_amount : '||p_report_name
4976 ||' : '||to_char(l_vat_additional_amt_tbl(p_trx_id_tbl(i))));
4977 END IF;
4978
4979
4980 END IF;
4981
4982 X_VAT_ADDITIONAL_AMT_TBL(i) := l_vat_additional_amt_tbl(p_trx_id_tbl(i));
4983
4984 EXCEPTION
4985
4986 WHEN NO_DATA_FOUND THEN
4987
4988 l_vat_additional_amt_tbl(p_trx_id_tbl(i)) := 0;
4989 X_VAT_ADDITIONAL_AMT_TBL(i) := l_vat_additional_amt_tbl(p_trx_id_tbl(i));
4990 NULL;
4991
4992 WHEN OTHERS THEN
4993
4994 IF ( g_level_statement>= g_current_runtime_level ) THEN
4995 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_additional_amount',
4996 'ZX_JL_EXTRACT_PKG.get_vat_additional_amount : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
4997 END IF;
4998
4999 END;
5000
5001 ELSE -- if l_vat_iaddtional_amt_tbl is not null
5002
5003 -- X_VAT_ADDITIONAL_AMT_TBL(i) := l_vat_additional_amt_tbl(p_trx_id_tbl(i));
5004 X_VAT_ADDITIONAL_AMT_TBL(i) := 0;
5005 END IF;
5006
5007 IF ( g_level_statement>= g_current_runtime_level ) THEN
5008 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5009 ' Vat Additional Amt for Report Name : '||p_report_name ||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_VAT_ADDITIONAL_AMT_TBL(i)));
5010 END IF;
5011
5012 END LOOP;
5013
5014 IF (g_level_procedure >= g_current_runtime_level ) THEN
5015 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_additional_amount',
5016 'jl.plsql.ZX_JL_EXTRACT_PKG.get_vat_additional_amount(-)');
5017 END IF;
5018
5019 END GET_VAT_ADDITIONAL_AMOUNT;
5020
5021
5022 /*================================================================================+
5023 | PROCEDURE |
5024 | GET_VAT_EXEMPT_AMOUNT |
5025 | Type : Private |
5026 | Pre-req : None |
5027 | Function : |
5028 | This procedure extract VAT Exempt Amount for the given report name |
5029 | |
5030 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
5031 | |
5032 | Parameters : |
5033 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
5034 | P_REPORT_NAME IN VARCHAR2 Req |
5035 | P_REQUEST_ID IN NUMBER Req |
5036 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
5037 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
5038 | SUB_TYPE_TBL Opt|
5039 | |
5040 | OUT |
5041 | X_VAT_EXEMPT_AMT_TBL OUT NUMERIC14_TBL |
5042 | |
5043 | MODIFICATION HISTORY |
5044 | 29-Oct-04 Hidetaka Kojima created |
5045 | |
5046 +================================================================================*/
5047
5048
5049 PROCEDURE GET_VAT_EXEMPT_AMOUNT
5050 (
5051 P_VAT_TAX IN VARCHAR2 DEFAULT NULL,
5052 P_VAT_ADDIT_TAX IN VARCHAR2 DEFAULT NULL,
5053 P_VAT_PERCEP_TAX IN VARCHAR2 DEFAULT NULL,
5054 P_REPORT_NAME IN VARCHAR2,
5055 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
5056 p_REQUEST_ID IN NUMBER,
5057 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
5058 P_TRX_LINE_ID_TBL IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
5059 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
5060 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
5061 X_VAT_EXEMPT_AMT_TBL OUT NOCOPY NUMERIC2_TBL
5062 ) IS
5063
5064 l_err_msg VARCHAR2(120);
5065 l_trx_counter NUMBER;
5066 l_vat_exempt_amt_tbl NUMERIC2_TBL;
5067 l_vat_0_amt_tbl NUMERIC2_TBL;
5068 l_no_vat_amt_tbl NUMERIC2_TBL;
5069 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
5070 k NUMBER;
5071 BEGIN
5072
5073 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5074 --Bug 5058043
5075 IF (g_level_procedure >= g_current_runtime_level ) THEN
5076 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT.BEGIN',
5077 'GET_VAT_EXEMPT_AMOUNT(+)');
5078 END IF ;
5079
5080 BEGIN
5081
5082 SELECT count(distinct trx_id)
5083 INTO l_trx_counter
5084 FROM zx_rep_trx_detail_t
5085 WHERE request_id = p_request_id;
5086
5087 IF ( g_level_statement>= g_current_runtime_level ) THEN
5088 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5089 ' GET_VAT_EXEMPT_AMOUNT : l_trx_counter : '|| l_trx_counter );
5090 END IF;
5091
5092 EXCEPTION
5093
5094 WHEN OTHERS THEN
5095 l_err_msg := substrb(SQLERRM,1,120);
5096 IF (g_level_procedure >= g_current_runtime_level ) THEN
5097 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
5098 'ZX_JL_EXTRACT_PKG.get_vat_exempt_amount.'||p_report_name || '.'||l_err_msg);
5099
5100 END IF;
5101
5102 END;
5103
5104 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
5105
5106 IF P_REPORT_NAME in ('ZXARPVBR','JLARPPFF') THEN
5107 -- k:= to_number(to_char(p_trx_id_tbl(i))||to_char(p_trx_line_id_tbl(i)));
5108 -- Added for GSI bug#6615621 ---
5109 IF i = 1 THEN
5110 k:=1;
5111 ELSE
5112 IF (p_trx_id_tbl(i) <> p_trx_id_tbl(i-1)) OR
5113 (p_trx_line_id_tbl(i) <> p_trx_line_id_tbl(i-1)) THEN
5114 k:=k+1;
5115 END IF;
5116 END IF;
5117 -- GSI BUG ---
5118
5119 IF l_vat_exempt_amt_tbl.EXISTS(k) THEN
5120 null;
5121 ELSE
5122 l_vat_exempt_amt_tbl(k) := null;
5123 END IF;
5124 ELSE
5125 k:= p_trx_line_id_tbl(i);
5126 IF l_vat_exempt_amt_tbl.EXISTS(k) THEN
5127 null;
5128 ELSE
5129 l_vat_exempt_amt_tbl(k) := null;
5130 END IF;
5131 END IF;
5132
5133 IF l_vat_exempt_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
5134 null;
5135 ELSE
5136 l_vat_exempt_amt_tbl(p_trx_id_tbl(i)) := null;
5137 END IF;
5138
5139 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
5140 NULL;
5141 ELSE
5142 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := '0';
5143 END IF;
5144
5145 --IF l_vat_exempt_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
5146 IF l_vat_exempt_amt_tbl(k) is NULL THEN
5147
5148 BEGIN
5149
5150 IF P_REPORT_NAME in ('ZXARPVBR','JLARPPFF') THEN
5151 BEGIN
5152 IF (g_level_procedure >= g_current_runtime_level ) THEN
5153 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
5154 'ZX_JL_EXTRACT_PKG.get_vat_exempt_amount : Call for '||p_report_name );
5155
5156 END IF;
5157
5158 SELECT nvl(SUM(itf.taxable_amt_funcl_curr),0)
5159 INTO l_vat_exempt_amt_tbl(k)
5160 FROM ZX_REP_TRX_DETAIL_T itf
5161 WHERE itf.request_id = p_request_id
5162 AND itf.trx_id = p_trx_id_tbl(i)
5163 AND itf.trx_line_id = p_trx_line_id_tbl(i)
5164 -- AND itf.tax_type_code = 'Exempt'
5165 AND itf.tax_type_code = P_VAT_TAX
5166 AND itf.tax_rate = 0;
5167 EXCEPTION
5168 WHEN NO_DATA_FOUND THEN
5169 l_vat_exempt_amt_tbl(k) := 0;
5170 X_VAT_EXEMPT_AMT_TBL(i) := l_vat_exempt_amt_tbl(k);
5171 IF ( g_level_statement>= g_current_runtime_level ) THEN
5172 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_exempt_amount',
5173 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5174 END IF;
5175 NULL;
5176
5177 WHEN OTHERS THEN
5178 IF ( g_level_statement>= g_current_runtime_level ) THEN
5179 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_exempt_amount',
5180 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5181 END IF;
5182
5183 END;
5184 ELSIF P_REPORT_NAME = 'ZXCLPPLR' THEN
5185
5186
5187 IF P_DOCUMENT_SUB_TYPE_TBL(i) = 'DOCUMENT TYPE.JL_CL_CREDIT_MEMO' THEN
5188
5189 SELECT SUM(nvl(itf.taxable_amt_funcl_curr,nvl(itf.taxable_amt,0)))
5190 INTO l_vat_exempt_amt_tbl(p_trx_id_tbl(i))
5191 FROM zx_rep_trx_detail_t itf
5192 WHERE itf.request_id = p_request_id
5193 AND itf.trx_id = p_trx_id_tbl(i)
5194 AND (itf.reverse_flag IS NULL OR itf.reverse_flag <> 'Y')
5195 AND itf.tax_rate = 0;
5196
5197 ELSE
5198
5199 SELECT SUM(nvl(itf.taxable_amt_funcl_curr,nvl(itf.taxable_amt,0)))
5200 INTO l_vat_exempt_amt_tbl(p_trx_id_tbl(i))
5201 FROM zx_rep_trx_detail_t itf
5202 WHERE itf.request_id = p_request_id
5203 AND itf.trx_id = p_trx_id_tbl(i)
5204 AND itf.tax_rate = 0;
5205
5206 END IF;
5207
5208 -- ---------------------------------------------- --
5209 -- For AR Reports --
5210 -- ---------------------------------------------- --
5211
5212 ELSIF P_REPORT_NAME = 'ZXZZTVSR' THEN
5213
5214 IF ( g_level_statement>= g_current_runtime_level ) THEN
5215 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5216 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' test : ');
5217 END IF;
5218
5219
5220 IF l_vat_0_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
5221 null;
5222 ELSE
5223 l_vat_0_amt_tbl(p_trx_id_tbl(i)) := null;
5224 END IF;
5225
5226 IF ( g_level_statement>= g_current_runtime_level ) THEN
5227 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5228 'l_vat_0_amt_tbl : '||to_char(l_vat_0_amt_tbl(p_trx_id_tbl(i)))||' : i-'||to_char(i));
5229 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5230 'Trx ID : '||to_char(p_trx_id_tbl(i)));
5231 END IF;
5232
5233 IF l_vat_0_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
5234
5235 SELECT sum(nvl(itf.taxable_amt_funcl_curr,itf.taxable_amt))
5236 INTO l_vat_0_amt_tbl(p_trx_id_tbl(i))
5237 FROM zx_rep_trx_detail_t itf
5238 WHERE itf.request_id = p_request_id
5239 AND itf.trx_id = p_trx_id_tbl(i)
5240 AND nvl(itf.tax_type_code,'VAT') = 'VAT'
5241 AND itf.tax_rate = 0
5242 AND itf.tax IN (p_vat_tax,p_vat_addit_tax,p_vat_percep_tax);
5243
5244 IF ( g_level_statement>= g_current_runtime_level ) THEN
5245 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5246 'l_vat_0_amt_tbl : '||to_char(l_vat_0_amt_tbl(p_trx_id_tbl(i))));
5247 END IF;
5248 END IF;
5249
5250 IF l_no_vat_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
5251 null;
5252 ELSE
5253 l_no_vat_amt_tbl(p_trx_id_tbl(i)) := null;
5254 END IF;
5255
5256 IF l_no_vat_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
5257
5258 SELECT sum(nvl(itf.taxable_amt_funcl_curr,0))
5259 INTO l_no_vat_amt_tbl(p_trx_id_tbl(i))
5260 FROM zx_rep_trx_detail_t itf
5261 WHERE itf.request_id = p_request_id
5262 AND itf.trx_id = p_trx_id_tbl(i)
5263 AND itf.tax_rate = 0
5264 AND ( itf.tax_regime_code <> p_tax_regime OR itf.tax <> p_vat_tax )
5265 AND nvl(itf.tax_type_code,'VAT') = 'VAT';
5266
5267 IF ( g_level_statement>= g_current_runtime_level ) THEN
5268 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5269 'l_no_vat_amt_tbl : '||to_char(l_no_vat_amt_tbl(p_trx_id_tbl(i))));
5270 END IF;
5271 END IF;
5272
5273 IF l_vat_exempt_amt_tbl(p_trx_id_tbl(i)) IS NULL THEN
5274 l_vat_exempt_amt_tbl(p_trx_id_tbl(i)) := nvl(l_vat_0_amt_tbl(p_trx_id_tbl(i)),0) +
5275 nvl(l_no_vat_amt_tbl(p_trx_id_tbl(i)),0);
5276 IF ( g_level_statement>= g_current_runtime_level ) THEN
5277 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5278 'l_vat_exempt_amt_tbl : one '||to_char(l_vat_exempt_amt_tbl(p_trx_id_tbl(i))));
5279 END IF;
5280 ELSE
5281 l_vat_exempt_amt_tbl(p_trx_id_tbl(i)) := 0;
5282 IF ( g_level_statement>= g_current_runtime_level ) THEN
5283 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5284 'l_vat_exempt_amt_tbl : two '||to_char(l_vat_exempt_amt_tbl(p_trx_id_tbl(i))));
5285 END IF;
5286 END IF;
5287
5288 IF ( g_level_statement>= g_current_runtime_level ) THEN
5289 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5290 'l_vat_exempt_amt_tbl : '||to_char(l_vat_exempt_amt_tbl(p_trx_id_tbl(i))));
5291 END IF;
5292
5293 ELSIF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
5294
5295 /* IF l_gdf_ra_cust_trx_att19_TBL.EXISTS(p_trx_id_tbl(i)) THEN
5296 null;
5297 ELSE
5298 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
5299
5300 IF ( g_level_statement>= g_current_runtime_level ) THEN
5301 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5302 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '|| 'gdf19 Null ' );
5303 END IF;
5304
5305 END IF; */
5306
5307 -- IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
5308
5309 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' AND
5310 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) OR
5311 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
5312
5313 BEGIN
5314 IF ( g_level_statement>= g_current_runtime_level ) THEN
5315 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5316 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' test : ');
5317 END IF;
5318
5319 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
5320 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
5321 FROM ra_customer_trx
5322 WHERE customer_trx_id = p_trx_id_tbl(i);
5323
5324 EXCEPTION
5325 WHEN OTHERS THEN
5326 IF ( g_level_statement>= g_current_runtime_level ) THEN
5327 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5328 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5329 END IF;
5330
5331 END;
5332
5333 END IF;
5334
5335 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
5336 IF ( g_level_statement>= g_current_runtime_level ) THEN
5337 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT',
5338 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' test 1 : ');
5339 END IF;
5340
5341 SELECT NVL(sum(nvl(itf.taxable_amt_funcl_curr,0)),0)
5342 INTO l_vat_exempt_amt_tbl(p_trx_id_tbl(i))
5343 --INTO l_vat_exempt_amt_tbl(k)
5344 FROM zx_rep_trx_detail_t itf
5345 WHERE itf.request_id = p_request_id
5346 AND itf.trx_id = p_trx_id_tbl(i)
5347 AND itf.trx_line_id = p_trx_line_id_tbl(i) -- new join
5348 AND nvl(itf.tax_type_code,'VAT') = 'VAT'
5349 AND itf.tax_rate = 0
5350 AND itf.tax = p_vat_tax;
5351
5352 ELSE
5353
5354 l_vat_exempt_amt_tbl(p_trx_id_tbl(i)) := 0;
5355 --l_vat_exempt_amt_tbl(k) := 0;
5356
5357 END IF;
5358
5359 ELSIF P_REPORT_NAME = 'ZXCLRSLL' THEN
5360
5361 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
5362 null;
5363 ELSE
5364 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
5365 END IF;
5366
5367 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL'
5368 AND l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
5369 BEGIN
5370
5371 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
5372 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
5373 FROM ra_customer_trx_all
5374 WHERE customer_trx_id = p_trx_id_tbl(i);
5375
5376 EXCEPTION
5377
5378 WHEN OTHERS THEN
5379 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
5380 IF ( g_level_statement>= g_current_runtime_level ) THEN
5381 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_additional_amount',
5382 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5383 END IF;
5384 END;
5385 END IF;
5386
5387 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
5388
5389 null;
5390 -- OPEN ISSUE --
5391 --Bug 5438742 : Exempt Amt Logic Added for the Bug
5392 SELECT Nvl(
5393 Sum((itf.EXEMPT_RATE_MODIFIER * coalesce(itf.tax_amt_funcl_curr,itf.tax_amt,0))
5394 /(100 - itf.EXEMPT_RATE_MODIFIER)) ,0)
5395 INTO l_vat_exempt_amt_tbl(p_trx_id_tbl(i))
5396 FROM zx_rep_trx_detail_t itf
5397 WHERE itf.request_id = p_request_id
5398 AND itf.trx_id = p_trx_id_tbl(i)
5399 AND itf.TAX_EXEMPTION_ID IS NOT NULL ;
5400
5401 ELSE
5402
5403 l_vat_exempt_amt_tbl(p_trx_id_tbl(i)) := 0;
5404
5405 END IF;
5406
5407 END IF; -- IF P_REPORT_NAME ...
5408
5409 l_vat_exempt_amt_tbl(k) := l_vat_exempt_amt_tbl(p_trx_id_tbl(i));
5410 X_VAT_EXEMPT_AMT_TBL(i) := l_vat_exempt_amt_tbl(k);
5411
5412 EXCEPTION
5413
5414 WHEN NO_DATA_FOUND THEN
5415
5416 l_vat_exempt_amt_tbl(p_trx_id_tbl(i)) := 0;
5417 l_vat_exempt_amt_tbl(k) :=l_vat_exempt_amt_tbl(p_trx_id_tbl(i));
5418 -- X_VAT_EXEMPT_AMT_TBL(i) := l_vat_exempt_amt_tbl(p_trx_id_tbl(i));
5419 X_VAT_EXEMPT_AMT_TBL(i) := l_vat_exempt_amt_tbl(k);
5420 IF ( g_level_statement>= g_current_runtime_level ) THEN
5421 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_exempt_amount',
5422 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5423 END IF;
5424 NULL;
5425
5426 WHEN OTHERS THEN
5427 IF ( g_level_statement>= g_current_runtime_level ) THEN
5428 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_exempt_amount',
5429 'ZX_JL_EXTRACT_PKG.GET_VAT_EXEMPT_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5430 END IF;
5431 END;
5432
5433 ELSE -- if l_vat_exempt_amt_tbl is not null
5434
5435 -- X_VAT_EXEMPT_AMT_TBL(i) := l_vat_exempt_amt_tbl(p_trx_id_tbl(i));
5436 X_VAT_EXEMPT_AMT_TBL(i) := 0;
5437
5438
5439 END IF;
5440
5441 IF ( g_level_statement>= g_current_runtime_level ) THEN
5442 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5443 ' Vat Exempt Amt for Report Name : '||p_report_name ||' trx_id : '
5444 ||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_VAT_EXEMPT_AMT_TBL(i)));
5445 END IF;
5446
5447 END LOOP;
5448
5449 IF (g_level_procedure >= g_current_runtime_level ) THEN
5450 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.get_vat_exempt_amount.END',
5451 'ZX_JL_EXTRACT_PKG.get_vat_exempt_amount(-)');
5452 END IF;
5453
5454 END GET_VAT_EXEMPT_AMOUNT;
5455
5456
5457 /*================================================================================+
5458 | PROCEDURE |
5459 | GET_VAT_PERCEPTION_AMOUNT |
5460 | Type : Private |
5461 | Pre-req : None |
5462 | Function : |
5463 | This procedure extract VAT Perception Amount for the given report name |
5464 | |
5465 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
5466 | |
5467 | Parameters : |
5468 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
5469 | P_REPORT_NAME IN VARCHAR2 Req |
5470 | P_REQUEST_ID IN NUMBER Req |
5471 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
5472 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
5473 | SUB_TYPE_TBL Opt|
5474 | |
5475 | OUT |
5476 | X_VAT_PERCEPTION_AMT_TBL OUT NUMERIC3_TBL |
5477 | |
5478 | MODIFICATION HISTORY |
5479 | 29-Oct-04 Hidetaka Kojima created |
5480 | |
5481 +================================================================================*/
5482
5483
5484 PROCEDURE GET_VAT_PERCEPTION_AMOUNT
5485 (
5486 P_VAT_PERC_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
5487 P_VAT_PERC_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
5488 P_VAT_PERC_TAX IN VARCHAR2 DEFAULT NULL,
5489 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
5490 P_REPORT_NAME IN VARCHAR2,
5491 p_REQUEST_ID IN NUMBER,
5492 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
5493 P_TRX_LINE_ID_TBL IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
5494 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
5495 X_VAT_PERCEPTION_AMT_TBL OUT NOCOPY NUMERIC3_TBL
5496 ) IS
5497
5498 l_err_msg VARCHAR2(120);
5499 l_trx_counter NUMBER;
5500 l_vat_perc_amt_tbl NUMERIC3_TBL;
5501 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
5502 k NUMBER;
5503 BEGIN
5504 IF (g_level_procedure >= g_current_runtime_level ) THEN
5505 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT.END',
5506 'ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT(+)');
5507 END IF;
5508
5509 BEGIN
5510
5511 SELECT count(distinct trx_id)
5512 INTO l_trx_counter
5513 FROM zx_rep_trx_detail_t
5514 WHERE request_id = p_request_id;
5515
5516 IF ( g_level_statement>= g_current_runtime_level ) THEN
5517 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5518 ' GET_VAT_PERCEPTION_AMOUNT : l_trx_counter : '|| l_trx_counter );
5519 END IF;
5520
5521 EXCEPTION
5522 WHEN OTHERS THEN
5523 IF ( g_level_statement>= g_current_runtime_level ) THEN
5524 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT',
5525 'ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5526 END IF;
5527 END;
5528
5529
5530 IF P_REPORT_NAME = 'JLARTPFF' THEN
5531 BEGIN
5532 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
5533 IF l_vat_perc_amt_tbl.EXISTS(p_trx_line_id_tbl(i)) THEN
5534 null;
5535 ELSE
5536 l_vat_perc_amt_tbl(p_trx_line_id_tbl(i)) := null;
5537 END IF;
5538
5539 IF l_vat_perc_amt_tbl(p_trx_line_id_tbl(i)) is NULL THEN
5540
5541 SELECT sum(nvl(itf.tax_amt_funcl_curr,0))
5542 INTO l_vat_perc_amt_tbl(p_trx_line_id_tbl(i))
5543 FROM zx_rep_trx_detail_t itf
5544 WHERE itf.request_id = p_request_id
5545 AND itf.trx_id = p_trx_id_tbl(i)
5546 AND itf.trx_line_id = p_trx_line_id_tbl(i)
5547 AND itf.tax_regime_code = nvl(p_tax_regime,itf.tax_regime_code)--Bug 5374021
5548 AND itf.tax = p_vat_perc_tax
5549 AND nvl(itf.tax_type_code, 'VAT') = 'VAT';
5550
5551 X_VAT_PERCEPTION_AMT_TBL(i) := l_vat_perc_amt_tbl(p_trx_line_id_tbl(i));
5552
5553 IF ( g_level_statement>= g_current_runtime_level ) THEN
5554 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5555 ' Vat Perception Amt for Report Name : '||p_report_name
5556 ||' trx_id : '||to_char(p_trx_id_tbl(i))||' Trx Line ID '
5557 ||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_VAT_PERCEPTION_AMT_TBL(i)));
5558 END IF;
5559 /* EXCEPTION
5560 WHEN NO_DATA_FOUND THEN
5561 l_vat_perc_amt_tbl(p_trx_line_id_tbl(i)) := 0;
5562 X_VAT_PERCEPTION_AMT_TBL(i) := l_vat_perc_amt_tbl(p_trx_line_id_tbl(i));
5563 NULL;
5564 WHEN OTHERS THEN
5565 IF ( g_level_statement>= g_current_runtime_level ) THEN
5566 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT',
5567 'ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5568 END IF;
5569 */
5570 ELSE
5571 X_VAT_PERCEPTION_AMT_TBL(i) := 0;
5572
5573 END IF;
5574
5575 IF ( g_level_statement>= g_current_runtime_level ) THEN
5576 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5577 ' Vat Perception Amt for Report Name : '||p_report_name
5578 ||' trx_id : '||to_char(p_trx_id_tbl(i))||' Trx Line ID '
5579 ||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_VAT_PERCEPTION_AMT_TBL(i)));
5580 END IF;
5581
5582 END LOOP;
5583 END;
5584 ELSE -- Reports where trx line id is not required --
5585
5586 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
5587
5588
5589
5590 -- Added for GSI bug#6615621 ---
5591 IF i = 1 THEN
5592 k:=1;
5593 ELSE
5594 IF (p_trx_id_tbl(i) <> p_trx_id_tbl(i-1)) THEN
5595 k:=k+1;
5596 END IF;
5597 END IF;
5598
5599
5600
5601 IF l_vat_perc_amt_tbl.EXISTS(k) THEN
5602 null;
5603 ELSE
5604 l_vat_perc_amt_tbl(k) := null;
5605 END IF;
5606
5607
5608
5609 IF l_vat_perc_amt_tbl(k) is NULL THEN
5610
5611 BEGIN
5612
5613 IF P_REPORT_NAME in ('ZXARPVBR','JLARPPFF') THEN
5614
5615
5616 SELECT nvl(SUM(itf.tax_amt),0)
5617 INTO l_vat_perc_amt_tbl(k)
5618 FROM zx_rep_trx_detail_t itf
5619 WHERE itf.request_id = p_request_id
5620 AND itf.trx_id = p_trx_id_tbl(i)
5621 AND itf.tax_type_code >= P_VAT_PERC_TAX_TYPE_FROM
5622 AND itf.tax_type_code <= NVL(P_VAT_PERC_TAX_TYPE_TO, P_VAT_PERC_TAX_TYPE_FROM);
5623
5624 ELSIF P_REPORT_NAME in ('ZXZZTVSR') THEN
5625
5626 SELECT sum(nvl(itf.tax_amt_funcl_curr,itf.tax_amt))
5627 INTO l_vat_perc_amt_tbl(k)
5628 FROM zx_rep_trx_detail_t itf
5629 WHERE itf.request_id = p_request_id
5630 AND itf.trx_id = p_trx_id_tbl(i)
5631 AND itf.tax_regime_code = nvl(p_tax_regime,itf.tax_regime_code)--Bug 5374021
5632 AND itf.tax = p_vat_perc_tax
5633 AND nvl(itf.tax_type_code, 'VAT') = 'VAT';
5634
5635 ELSIF P_REPORT_NAME IN ('JLARTDFF','JLARTSFF') THEN
5636
5637 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(k) THEN
5638 null;
5639 ELSE
5640 l_gdf_ra_cust_trx_att19_tbl(k) := null;
5641 END IF;
5642
5643 IF ( l_gdf_ra_cust_trx_att19_tbl(k) <> 'IS_NULL' and
5644 l_gdf_ra_cust_trx_att19_tbl(k) <> 'NOT_NULL' ) THEN
5645
5646 BEGIN
5647
5648 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
5649 INTO l_gdf_ra_cust_trx_att19_tbl(k)
5650 FROM ra_customer_trx
5651 WHERE customer_trx_id = p_trx_id_tbl(i);
5652
5653 EXCEPTION
5654 WHEN OTHERS THEN
5655 IF ( g_level_statement>= g_current_runtime_level ) THEN
5656 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT',
5657 'ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5658 END IF;
5659 END;
5660
5661 END IF;
5662
5663 IF ( l_gdf_ra_cust_trx_att19_tbl(k) <> 'IS_NULL' AND
5664 l_gdf_ra_cust_trx_att19_tbl(k) <> 'NOT_NULL' ) OR
5665 l_gdf_ra_cust_trx_att19_tbl(k) IS NULL THEN
5666
5667 IF ( g_level_statement>= g_current_runtime_level ) THEN
5668 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT',
5669 'l_gdf_ra_cust_trx_att19_tbl : '||l_gdf_ra_cust_trx_att19_tbl(k) );
5670 END IF;
5671 -- IF l_gdf_ra_cust_trx_att19_tbl(k) = 'IS_NULL' THEN
5672
5673 SELECT sum(nvl(itf.tax_amt_funcl_curr,0))
5674 INTO l_vat_perc_amt_tbl(k)
5675 FROM zx_rep_trx_detail_t itf
5676 WHERE itf.request_id = p_request_id
5677 AND itf.trx_id = p_trx_id_tbl(i)
5678 AND itf.tax_regime_code = p_tax_regime
5679 AND itf.tax = p_vat_perc_tax
5680 AND nvl(itf.tax_type_code, 'VAT') = 'VAT';
5681
5682 ELSE
5683 l_vat_perc_amt_tbl(k) := 0;
5684
5685 END IF;
5686
5687 END IF; -- IF P_REPORT_NAME ...
5688
5689 X_VAT_PERCEPTION_AMT_TBL(i) := l_vat_perc_amt_tbl(k);
5690
5691 EXCEPTION
5692
5693 WHEN NO_DATA_FOUND THEN
5694
5695 l_vat_perc_amt_tbl(k) := 0;
5696 X_VAT_PERCEPTION_AMT_TBL(i) := l_vat_perc_amt_tbl(k);
5697 NULL;
5698
5699 WHEN OTHERS THEN
5700 IF ( g_level_statement>= g_current_runtime_level ) THEN
5701 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT',
5702 'ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5703 END IF;
5704 END;
5705
5706 ELSE -- if l_vat_perception_amt_tbl is not null
5707
5708 -- X_VAT_PERCEPTION_AMT_TBL(i) := l_vat_perc_amt_tbl(k);
5709 X_VAT_PERCEPTION_AMT_TBL(i) := 0;
5710
5711 END IF;
5712
5713
5714 -- GSI BUG ---
5715
5716 /* IF l_vat_perc_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
5717
5718 BEGIN
5719
5720 IF P_REPORT_NAME in ('ZXARPVBR','JLARPPFF') THEN
5721
5722
5723 SELECT nvl(SUM(itf.tax_amt),0)
5724 INTO l_vat_perc_amt_tbl(p_trx_id_tbl(i))
5725 FROM zx_rep_trx_detail_t itf
5726 WHERE itf.request_id = p_request_id
5727 AND itf.trx_id = p_trx_id_tbl(i)
5728 AND itf.tax_type_code >= P_VAT_PERC_TAX_TYPE_FROM
5729 AND itf.tax_type_code <= NVL(P_VAT_PERC_TAX_TYPE_TO, P_VAT_PERC_TAX_TYPE_FROM);
5730
5731 ELSIF P_REPORT_NAME in ('ZXZZTVSR') THEN
5732
5733 SELECT sum(nvl(itf.tax_amt_funcl_curr,0))
5734 INTO l_vat_perc_amt_tbl(p_trx_id_tbl(i))
5735 FROM zx_rep_trx_detail_t itf
5736 WHERE itf.request_id = p_request_id
5737 AND itf.trx_id = p_trx_id_tbl(i)
5738 AND itf.tax_regime_code = nvl(p_tax_regime,itf.tax_regime_code)--Bug 5374021
5739 AND itf.tax = p_vat_perc_tax
5740 AND nvl(itf.tax_type_code, 'VAT') = 'VAT';
5741
5742 ELSIF P_REPORT_NAME IN ('JLARTDFF','JLARTSFF') THEN
5743
5744 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
5745 null;
5746 ELSE
5747 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
5748 END IF;
5749
5750 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' and
5751 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
5752
5753 BEGIN
5754
5755 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
5756 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
5757 FROM ra_customer_trx
5758 WHERE customer_trx_id = p_trx_id_tbl(i);
5759
5760 EXCEPTION
5761 WHEN OTHERS THEN
5762 IF ( g_level_statement>= g_current_runtime_level ) THEN
5763 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT',
5764 'ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5765 END IF;
5766 END;
5767
5768 END IF;
5769
5770 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' AND
5771 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) OR
5772 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
5773
5774 IF ( g_level_statement>= g_current_runtime_level ) THEN
5775 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT',
5776 'l_gdf_ra_cust_trx_att19_tbl : '||l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) );
5777 END IF;
5778 -- IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
5779
5780 SELECT sum(nvl(itf.tax_amt_funcl_curr,0))
5781 INTO l_vat_perc_amt_tbl(p_trx_id_tbl(i))
5782 FROM zx_rep_trx_detail_t itf
5783 WHERE itf.request_id = p_request_id
5784 AND itf.trx_id = p_trx_id_tbl(i)
5785 AND itf.tax_regime_code = p_tax_regime
5786 AND itf.tax = p_vat_perc_tax
5787 AND nvl(itf.tax_type_code, 'VAT') = 'VAT';
5788
5789 ELSE
5790 l_vat_perc_amt_tbl(p_trx_id_tbl(i)) := 0;
5791
5792 END IF;
5793
5794 END IF; -- IF P_REPORT_NAME ...
5795
5796 X_VAT_PERCEPTION_AMT_TBL(i) := l_vat_perc_amt_tbl(p_trx_id_tbl(i));
5797
5798 EXCEPTION
5799
5800 WHEN NO_DATA_FOUND THEN
5801
5802 l_vat_perc_amt_tbl(p_trx_id_tbl(i)) := 0;
5803 X_VAT_PERCEPTION_AMT_TBL(i) := l_vat_perc_amt_tbl(p_trx_id_tbl(i));
5804 NULL;
5805
5806 WHEN OTHERS THEN
5807 IF ( g_level_statement>= g_current_runtime_level ) THEN
5808 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT',
5809 'ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5810 END IF;
5811 END;
5812
5813 ELSE -- if l_vat_perception_amt_tbl is not null
5814
5815 -- X_VAT_PERCEPTION_AMT_TBL(i) := l_vat_perc_amt_tbl(p_trx_id_tbl(i));
5816 X_VAT_PERCEPTION_AMT_TBL(i) := 0;
5817
5818 END IF;
5819 */
5820
5821 IF ( g_level_statement>= g_current_runtime_level ) THEN
5822 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5823 ' Vat Perception Amt for Report Name : '||p_report_name
5824 ||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_VAT_PERCEPTION_AMT_TBL(i)));
5825 END IF;
5826
5827 END LOOP;
5828 END IF; -- Trx line ID check
5829 IF (g_level_procedure >= g_current_runtime_level ) THEN
5830 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT.END',
5831 'ZX_JL_EXTRACT_PKG.GET_VAT_PERCEPTION_AMOUNT(-)');
5832 END IF;
5833
5834 END GET_VAT_PERCEPTION_AMOUNT;
5835
5836
5837 /*================================================================================+
5838 | PROCEDURE |
5839 | GET_OTHER_FED_PERC_AMOUNT |
5840 | Type : Private |
5841 | Pre-req : None |
5842 | Function : |
5843 | This procedure extract Other Federal Perception Amount for the given |
5844 | report name |
5845 | |
5846 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
5847 | |
5848 | Parameters : |
5849 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
5850 | P_REPORT_NAME IN VARCHAR2 Req |
5851 | P_REQUEST_ID IN NUMBER Req |
5852 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
5853 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
5854 | SUB_TYPE_TBL Opt|
5855 | |
5856 | OUT |
5857 | X_OTHER_FED_PERC_AMT_TBL OUT NUMERIC7_TBL |
5858 | |
5859 | MODIFICATION HISTORY |
5860 | 14-May-05 Srinivasa Rao Korrapati Created |
5861 | |
5862 +================================================================================*/
5863
5864
5865 PROCEDURE GET_OTHER_FED_PERC_AMOUNT
5866 (
5867 P_FED_PERC_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
5868 P_FED_PERC_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
5869 P_VAT_PERC_TAX IN VARCHAR2 DEFAULT NULL,
5870 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
5871 P_REPORT_NAME IN VARCHAR2,
5872 p_REQUEST_ID IN NUMBER,
5873 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
5874 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
5875 X_OTHER_FED_PERC_AMT_TBL OUT NOCOPY NUMERIC7_TBL
5876 ) IS
5877
5878 l_err_msg VARCHAR2(120);
5879 l_trx_counter NUMBER;
5880 l_other_fed_perc_amt_tbl NUMERIC3_TBL;
5881 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
5882
5883 BEGIN
5884 NULL ;
5885 IF (g_level_procedure >= g_current_runtime_level ) THEN
5886 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_OTHER_FED_PERC_AMOUNT.BEGIN',
5887 'ZX_JL_EXTRACT_PKG.GET_OTHER_FED_PERC_AMOUNT(+)');
5888 END IF;
5889
5890 BEGIN
5891
5892 SELECT count(distinct trx_id)
5893 INTO l_trx_counter
5894 FROM zx_rep_trx_detail_t
5895 WHERE request_id = p_request_id;
5896
5897 IF ( g_level_statement>= g_current_runtime_level ) THEN
5898 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5899 ' GET_OTHER_FED_PERC_AMOUNT : l_trx_counter : '|| l_trx_counter );
5900 END IF;
5901
5902 EXCEPTION
5903
5904 WHEN OTHERS THEN
5905 IF ( g_level_statement>= g_current_runtime_level ) THEN
5906 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_OTHER_FED_PERC_AMOUNT',
5907 'ZX_JL_EXTRACT_PKG.GET_OTHER_FED_PERC_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5908 END IF;
5909 END;
5910
5911
5912 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
5913
5914 IF l_other_fed_perc_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
5915 null;
5916 ELSE
5917 l_other_fed_perc_amt_tbl(p_trx_id_tbl(i)) := null;
5918 END IF;
5919
5920
5921
5922 IF l_other_fed_perc_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
5923
5924 BEGIN
5925
5926 IF P_REPORT_NAME = 'JLARPPFF' THEN
5927
5928
5929 SELECT NVL(SUM(itf.tax_amt),0)
5930 INTO l_other_fed_perc_amt_tbl(p_trx_id_tbl(i))
5931 FROM zx_rep_trx_detail_t itf
5932 WHERE itf.request_id = p_request_id
5933 AND itf.trx_id = p_trx_id_tbl(i)
5934 AND itf.tax_type_code >= P_FED_PERC_TAX_TYPE_FROM
5935 AND itf.tax_type_code <= NVL(P_FED_PERC_TAX_TYPE_TO, P_FED_PERC_TAX_TYPE_FROM);
5936
5937
5938 END IF; -- IF P_REPORT_NAME ...
5939
5940 X_OTHER_FED_PERC_AMT_TBL(i) := l_other_fed_perc_amt_tbl(p_trx_id_tbl(i));
5941
5942
5943 EXCEPTION
5944
5945 WHEN NO_DATA_FOUND THEN
5946
5947 l_other_fed_perc_amt_tbl(p_trx_id_tbl(i)) := 0;
5948 X_OTHER_FED_PERC_AMT_TBL(i) := l_other_fed_perc_amt_tbl(p_trx_id_tbl(i));
5949 NULL;
5950
5951 WHEN OTHERS THEN
5952 IF ( g_level_statement>= g_current_runtime_level ) THEN
5953 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_OTHER_FED_PERC_AMOUNT',
5954 'ZX_JL_EXTRACT_PKG.GET_OTHER_FED_PERC_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
5955 END IF;
5956 END;
5957
5958 ELSE -- if l_vat_perception_amt_tbl is not null
5959
5960 X_OTHER_FED_PERC_AMT_TBL(i) := 0;
5961 -- X_OTHER_FED_PERC_AMT_TBL(i) := l_other_fed_perc_amt_tbl(p_trx_id_tbl(i));
5962
5963 END IF;
5964
5965 IF ( g_level_statement>= g_current_runtime_level ) THEN
5966 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
5967 ' Other Fed perc amt for Report Name : '||p_report_name ||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_OTHER_FED_PERC_AMT_TBL(i)));
5968 END IF;
5969
5970 END LOOP;
5971
5972 IF (g_level_procedure >= g_current_runtime_level ) THEN
5973 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_OTHER_FED_PERC_AMOUNT.END',
5974 'ZX_JL_EXTRACT_PKG.GET_OTHER_FED_PERC_AMOUNT(-)');
5975 END IF;
5976
5977 END GET_OTHER_FED_PERC_AMOUNT;
5978
5979 /*================================================================================+
5980 | PROCEDURE |
5981 | GET_OTHER_TAX_AMOUNT |
5982 | Type : Private |
5983 | Pre-req : None |
5984 | Function : |
5985 | This procedure extract Other Tax Amount for the given report name |
5986 | |
5987 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
5988 | |
5989 | Parameters : |
5990 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
5991 | P_REPORT_NAME IN VARCHAR2 Req |
5992 | P_REQUEST_ID IN NUMBER Req |
5993 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
5994 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
5995 | SUB_TYPE_TBL Opt|
5996 | |
5997 | OUT |
5998 | X_OTHER_TAX_AMT_TBL OUT NUMERIC7_TBL |
5999 | |
6000 | MODIFICATION HISTORY |
6001 | 29-Oct-04 Hidetaka Kojima created |
6002 | |
6003 +================================================================================*/
6004
6005
6006 PROCEDURE GET_OTHER_TAX_AMOUNT
6007 (
6008 P_REPORT_NAME IN VARCHAR2,
6009 p_REQUEST_ID IN NUMBER,
6010 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
6011 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
6012 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
6013 X_OTHER_TAX_AMT_TBL OUT NOCOPY NUMERIC7_TBL
6014 ) IS
6015
6016 l_err_msg VARCHAR2(120);
6017 l_trx_counter NUMBER;
6018 l_other_tax_amt_tbl NUMERIC7_TBL;
6019 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
6020
6021 BEGIN
6022
6023 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6024 --Bug 5058043
6025 IF (g_level_procedure >= g_current_runtime_level ) THEN
6026 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
6027 'GET_OTHER_TAX_AMOUNT(+) ');
6028 END IF;
6029
6030 BEGIN
6031
6032 SELECT count(distinct trx_id)
6033 INTO l_trx_counter
6034 FROM zx_rep_trx_detail_t
6035 WHERE request_id = p_request_id;
6036
6037 IF ( g_level_statement>= g_current_runtime_level ) THEN
6038 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
6039 ' GET_OTHER_TAX_AMOUNT : l_trx_counter : '|| l_trx_counter );
6040 END IF;
6041
6042 EXCEPTION
6043 WHEN OTHERS THEN
6044 l_err_msg := substrb(SQLERRM,1,120);
6045 IF (g_level_procedure >= g_current_runtime_level ) THEN
6046 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
6047 'ZX_JL_EXTRACT_PKG.get_other_tax_amount.'||p_report_name || '.'||l_err_msg);
6048 END IF;
6049
6050 END;
6051
6052 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
6053
6054 IF l_other_tax_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6055 null;
6056 ELSE
6057 l_other_tax_amt_tbl(p_trx_id_tbl(i)) := null;
6058 END IF;
6059
6060 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6061 NULL;
6062 ELSE
6063 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := '0';
6064 END IF;
6065
6066 IF l_other_tax_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
6067
6068 BEGIN
6069
6070 IF P_REPORT_NAME = 'ZXCLPPLR' THEN
6071
6072 IF P_DOCUMENT_SUB_TYPE_TBL(i) = 'DOCUMENT TYPE.JLCLPPLR' THEN
6073
6074 SELECT SUM(nvl(itf.tax_amt_funcl_curr,nvl(itf.tax_amt,0)))
6075 INTO l_other_tax_amt_tbl(p_trx_id_tbl(i))
6076 FROM zx_rep_trx_detail_t itf
6077 WHERE itf.request_id = P_REQUEST_ID
6078 AND itf.trx_id = p_trx_id_tbl(i)
6079 AND itf.tax_type_code <> 'VAT'
6080 AND (itf.reverse_flag IS NULL OR itf.reverse_flag <> 'Y');
6081
6082 ELSE
6083
6084 SELECT SUM(nvl(itf.tax_amt_funcl_curr,nvl(itf.tax_amt,0)))
6085 INTO l_other_tax_amt_tbl(p_trx_id_tbl(i))
6086 FROM zx_rep_trx_detail_t itf
6087 WHERE itf.request_id = p_request_id
6088 AND itf.trx_id = p_trx_id_tbl(i)
6089 AND itf.tax_type_code <> 'VAT';
6090
6091 END IF;
6092
6093 -- ---------------------------------------------- --
6094 -- For AR Reports --
6095 -- ---------------------------------------------- --
6096
6097 ELSIF P_REPORT_NAME = 'ZXCLRSLL' THEN
6098
6099 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' and l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
6100 BEGIN
6101 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
6102 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
6103 FROM ra_customer_trx_all
6104 WHERE customer_trx_id = p_trx_id_tbl(i);
6105
6106 EXCEPTION
6107
6108 WHEN OTHERS THEN
6109 IF ( g_level_statement>= g_current_runtime_level ) THEN
6110 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_OTHER_TAX_AMOUNT',
6111 'ZX_JL_EXTRACT_PKG.GET_OTHER_TAX_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6112 END IF;
6113 END;
6114
6115 END IF;
6116
6117 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
6118
6119 null;
6120 -- OPEN ISSUE --
6121 --Bug 5438742
6122 SELECT SUM(nvl(itf.tax_amt_funcl_curr,nvl(itf.tax_amt,0)))
6123 INTO l_other_tax_amt_tbl(p_trx_id_tbl(i))
6124 FROM zx_rep_trx_detail_t itf
6125 WHERE itf.request_id = P_REQUEST_ID
6126 AND itf.trx_id = p_trx_id_tbl(i)
6127 AND itf.tax_type_code <> 'VAT' ;
6128 -- AND (itf.reverse_flag IS NULL OR itf.reverse_flag <> 'Y');
6129
6130 ELSE
6131
6132 l_other_tax_amt_tbl(p_trx_id_tbl(i)) := 0;
6133
6134 END IF;
6135
6136 END IF;
6137
6138 X_OTHER_TAX_AMT_TBL(i) := l_other_tax_amt_tbl(p_trx_id_tbl(i));
6139
6140 EXCEPTION
6141
6142 WHEN NO_DATA_FOUND THEN
6143
6144 l_other_tax_amt_tbl(p_trx_id_tbl(i)) := 0;
6145 X_OTHER_TAX_AMT_TBL(i) := l_other_tax_amt_tbl(p_trx_id_tbl(i));
6146 NULL;
6147
6148 WHEN OTHERS THEN
6149 l_err_msg := substrb(SQLERRM,1,120);
6150 IF (g_level_procedure >= g_current_runtime_level ) THEN
6151 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
6152 'ZX_JL_EXTRACT_PKG.get_other_tax_amount:'||P_REPORT_NAME||'.'||l_err_msg);
6153 END IF;
6154 END;
6155
6156 ELSE -- if l_other_tax_amt_tbl is not null
6157
6158 -- X_OTHER_TAX_AMT_TBL(i) := l_other_tax_amt_tbl(p_trx_id_tbl(i));
6159 X_OTHER_TAX_AMT_TBL(i) := 0;
6160
6161 END IF;
6162
6163 IF ( g_level_statement>= g_current_runtime_level ) THEN
6164 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
6165 ' Other Tax Amt for Report Name : '||p_report_name ||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_OTHER_TAX_AMT_TBL(i)));
6166 END IF;
6167
6168 END LOOP;
6169
6170 IF (g_level_procedure >= g_current_runtime_level ) THEN
6171 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
6172 'GET_OTHER_TAX_AMOUNT(-) ');
6173 END IF;
6174
6175 END GET_OTHER_TAX_AMOUNT;
6176
6177
6178 /*================================================================================+
6179 | PROCEDURE |
6180 | GET_NOT_REGISTERED_TAX_AMOUNT |
6181 | Type : Private |
6182 | Pre-req : None |
6183 | Function : |
6184 | This procedure extract not registered Tax Amount for the given report name |
6185 | |
6186 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
6187 | |
6188 | Parameters : |
6189 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
6190 | P_REPORT_NAME IN VARCHAR2 Req |
6191 | P_REQUEST_ID IN NUMBER Req |
6192 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
6193 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
6194 | SUB_TYPE_TBL Opt|
6195 | |
6196 | OUT |
6197 | X_OTHER_TAX_AMT_TBL OUT NUMERIC3_TBL |
6198 | |
6199 | MODIFICATION HISTORY |
6200 | 29-Oct-04 Hidetaka Kojima created |
6201 | |
6202 +================================================================================*/
6203
6204
6205 PROCEDURE GET_NOT_REGISTERED_TAX_AMOUNT
6206 (
6207 P_REPORT_NAME IN VARCHAR2,
6208 P_VAT_ADDIT_TAX IN VARCHAR2 DEFAULT NULL,
6209 P_VAT_NOT_CATEG_TAX IN VARCHAR2 DEFAULT NULL,
6210 P_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
6211 p_REQUEST_ID IN NUMBER,
6212 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
6213 P_TAX_RATE_TBL IN ZX_EXTRACT_PKG.TAX_RATE_TBL,
6214 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
6215 X_NOT_REG_TAX_AMT_TBL OUT NOCOPY NUMERIC1_TBL
6216 ) IS
6217
6218 l_err_msg VARCHAR2(120);
6219 l_trx_counter NUMBER;
6220
6221 l_vat_addit_tax_amt_tbl NUMERIC1_TBL;
6222 l_not_categ_tax_amt_tbl NUMERIC1_TBL;
6223 l_not_tax_amt_tbl NUMERIC1_TBL;
6224 l_not_reg_tax_amt_tbl NUMERIC1_TBL;
6225 l_other_tax_amt_tbl NUMERIC1_TBL;
6226 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
6227
6228
6229 BEGIN
6230
6231 IF (g_level_procedure >= g_current_runtime_level ) THEN
6232 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT.BEGIN',
6233 'GET_NOT_REGISTERED_TAX_AMOUNT(+)');
6234 END IF;
6235
6236 BEGIN
6237
6238 SELECT count(distinct trx_id)
6239 INTO l_trx_counter
6240 FROM zx_rep_trx_detail_t
6241 WHERE request_id = p_request_id;
6242
6243 IF ( g_level_statement>= g_current_runtime_level ) THEN
6244 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
6245 ' GET_NOT_REGISTERED_TAX_AMOUNT : l_trx_counter : '|| l_trx_counter );
6246 END IF;
6247 EXCEPTION
6248 WHEN OTHERS THEN
6249 IF ( g_level_statement>= g_current_runtime_level ) THEN
6250 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6251 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6252 END IF;
6253 END;
6254
6255 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
6256 IF l_not_reg_tax_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6257 null;
6258 ELSE
6259 l_not_reg_tax_amt_tbl(p_trx_id_tbl(i)) := NULL;
6260 l_vat_addit_tax_amt_tbl(p_trx_id_tbl(i)) := NULL;
6261 l_not_categ_tax_amt_tbl(p_trx_id_tbl(i)) := NULL;
6262 END IF;
6263
6264 IF l_not_reg_tax_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
6265 BEGIN
6266 IF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
6267 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6268 null;
6269 ELSE
6270 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
6271 END IF;
6272
6273 IF (l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' AND
6274 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) OR
6275 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
6276
6277 BEGIN
6278 IF ( g_level_statement>= g_current_runtime_level ) THEN
6279 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6280 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT : att19-0 '
6281 ||p_report_name ||' : '||l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)));
6282 END IF;
6283
6284 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
6285 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
6286 FROM ra_customer_trx_all
6287 WHERE customer_trx_id = p_trx_id_tbl(i);
6288
6289 EXCEPTION
6290 WHEN OTHERS THEN
6291 IF ( g_level_statement>= g_current_runtime_level ) THEN
6292 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6293 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT : '
6294 ||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6295 END IF;
6296 END;
6297 END IF;
6298
6299 IF ( g_level_statement>= g_current_runtime_level ) THEN
6300 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6301 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT : att19 '
6302 ||p_report_name ||' : '||l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)));
6303 END IF;
6304
6305
6306 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
6307 IF l_vat_addit_tax_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
6308
6309 IF ( g_level_statement>= g_current_runtime_level ) THEN
6310 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6311 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT SQL-1: '||p_tax_regime||p_vat_addit_tax);
6312 END IF;
6313
6314 SELECT sum(nvl(itf.tax_amt,0))
6315 INTO l_vat_addit_tax_amt_tbl(p_trx_id_tbl(i))
6316 FROM zx_rep_trx_detail_t itf
6317 WHERE itf.request_id = p_request_id
6318 AND itf.trx_id = p_trx_id_tbl(i)
6319 AND itf.tax_regime_code = p_tax_regime
6320 AND itf.tax = p_vat_addit_tax
6321 AND nvl(itf.tax_type_code, 'VAT') = 'VAT';
6322
6323
6324 IF ( g_level_statement>= g_current_runtime_level ) THEN
6325 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6326 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT SQL-1: '||to_char(l_vat_addit_tax_amt_tbl(p_trx_id_tbl(i))));
6327 END IF;
6328
6329 END IF;
6330
6331 -- IF l_not_categ_tax_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
6332 BEGIN
6333 SELECT sum(nvl(itf.tax_amt,0))
6334 INTO l_not_categ_tax_amt_tbl(p_trx_id_tbl(i))
6335 FROM zx_rep_trx_detail_t itf
6336 WHERE itf.request_id = p_request_id
6337 AND itf.trx_id = p_trx_id_tbl(i)
6338 AND itf.tax_regime_code = p_tax_regime
6339 AND itf.tax = p_vat_not_categ_tax
6340 AND nvl(itf.tax_type_code, 'VAT') = 'VAT';
6341 EXCEPTION
6342 WHEN OTHERS THEN
6343 IF ( g_level_statement>= g_current_runtime_level ) THEN
6344 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6345 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT : p_vat_not_categ_tax '
6346 ||' : '||substrb(SQLERRM,1,120) );
6347 END IF;
6348
6349 END;
6350 --END IF;
6351
6352 IF ( g_level_statement>= g_current_runtime_level ) THEN
6353 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6354 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT SQL-1: '||to_char(l_not_categ_tax_amt_tbl(p_trx_id_tbl(i))));
6355 END IF;
6356
6357
6358 l_not_reg_tax_amt_tbl(p_trx_id_tbl(i)) := nvl(l_vat_addit_tax_amt_tbl(p_trx_id_tbl(i)),0) +
6359 nvl(l_not_categ_tax_amt_tbl(p_trx_id_tbl(i)),0);
6360 ELSE
6361 l_not_reg_tax_amt_tbl(p_trx_id_tbl(i)) := 0;
6362 END IF;
6363 END IF;
6364
6365 X_NOT_REG_TAX_AMT_TBL(i) := l_not_reg_tax_amt_tbl(p_trx_id_tbl(i));
6366 IF ( g_level_statement>= g_current_runtime_level ) THEN
6367 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6368 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT : '||p_report_name ||' : '
6369 ||to_char( X_NOT_REG_TAX_AMT_TBL(i)));
6370 END IF;
6371
6372 EXCEPTION
6373 WHEN NO_DATA_FOUND THEN
6374 l_other_tax_amt_tbl(p_trx_id_tbl(i)) := 0;
6375 X_NOT_REG_TAX_AMT_TBL(i) := l_not_tax_amt_tbl(p_trx_id_tbl(i));
6376 NULL;
6377
6378 WHEN OTHERS THEN
6379 IF ( g_level_statement>= g_current_runtime_level ) THEN
6380 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT',
6381 'ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT : '||p_report_name
6382 ||' : '||substrb(SQLERRM,1,120) );
6383 END IF;
6384 END;
6385
6386 ELSE -- if l_not_reg_tax_amt_tbl is not null
6387
6388 -- X_NOT_REG_TAX_AMT_TBL(i) := l_not_reg_tax_amt_tbl(p_trx_id_tbl(i));
6389 X_NOT_REG_TAX_AMT_TBL(i) := 0;
6390
6391 END IF;
6392
6393 IF ( g_level_statement>= g_current_runtime_level ) THEN
6394 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
6395 ' Non Registered Tax Amt. for Report Name : '||p_report_name ||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_NOT_REG_TAX_AMT_TBL(i)));
6396 END IF;
6397
6398 END LOOP;
6399
6400 IF (g_level_procedure >= g_current_runtime_level ) THEN
6401 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_NOT_REGISTERED_TAX_AMOUNT.END',
6402 'GET_NOT_REGISTERED_TAX_AMOUNT(-)');
6403 END IF;
6404
6405 END GET_NOT_REGISTERED_TAX_AMOUNT;
6406
6407
6408
6409 /*================================================================================+
6410 | PROCEDURE |
6411 | GET_PROVINCIAL_PERC_AMOUNT |
6412 | Type : Private |
6413 | Pre-req : None |
6414 | Function : |
6415 | This procedure extract Provincial Perception Amount for a given report name |
6416 | |
6417 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
6418 | |
6419 | Parameters : |
6420 | IN : P_PROV_TAX_TYPE_FROM IN VARCHAR2 Opt |
6421 | P_PROV_TAX_TYPE_TO IN VARCHAR2 Opt
6422 | P_PROV_TAX_REGIME IN VARCHAR2 Opt
6423 | P_REPORT_NAME IN VARCHAR2 Req |
6424 | P_REQUEST_ID IN NUMBER Req |
6425 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
6426 | |
6427 | OUT |
6428 | X_PROVINCIAL_PERC_AMT_TBLOUT NUMERIC4_TBL |
6429 | |
6430 | MODIFICATION HISTORY |
6431 | 29-Oct-04 Hidetaka Kojima created |
6432 | |
6433 +================================================================================*/
6434
6435
6436 PROCEDURE GET_PROVINCIAL_PERC_AMOUNT
6437 (
6438 P_PROV_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
6439 P_PROV_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
6440 P_PROV_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
6441 P_REPORT_NAME IN VARCHAR2,
6442 p_REQUEST_ID IN NUMBER,
6443 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
6444 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.TAX_RATE_ID_TBL,
6445 X_PROVINCIAL_PERC_AMT_TBL OUT NOCOPY NUMERIC4_TBL
6446 ) IS
6447
6448 l_err_msg VARCHAR2(120);
6449 l_trx_counter NUMBER;
6450 l_count NUMBER;
6451 l_provincial_perc_amt_tbl NUMERIC4_TBL;
6452 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
6453
6454 BEGIN
6455
6456 IF (g_level_procedure >= g_current_runtime_level ) THEN
6457 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT',
6458 'get_provincial_perc_amount(+) ');
6459 END IF;
6460
6461
6462 BEGIN
6463
6464 SELECT count(distinct trx_id)
6465 INTO l_trx_counter
6466 FROM zx_rep_trx_detail_t
6467 WHERE request_id = p_request_id;
6468
6469 l_count := p_trx_id_tbl.count;
6470
6471
6472 IF (g_level_procedure >= g_current_runtime_level ) THEN
6473 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT',
6474 'Count : '||to_char(l_count));
6475 END IF;
6476
6477
6478 EXCEPTION
6479
6480 WHEN OTHERS THEN
6481 l_err_msg := substrb(SQLERRM,1,120);
6482 IF (g_level_procedure >= g_current_runtime_level ) THEN
6483 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT',
6484 'get_provincial_perc_amount : EXCEPTION '||l_err_msg);
6485 END IF;
6486
6487 END;
6488
6489 l_count := p_trx_id_tbl.count;
6490 --FOR i in 11..nvl(p_trx_id_tbl.last,0) LOOP
6491 FOR i in 1..l_count LOOP
6492 IF (g_level_procedure >= g_current_runtime_level ) THEN
6493 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT',
6494 'get_provincial_perc_amount : For Loop ');
6495 END IF;
6496
6497 IF l_provincial_perc_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6498 null;
6499 ELSE
6500 l_provincial_perc_amt_tbl(p_trx_id_tbl(i)) := null;
6501 END IF;
6502
6503 IF l_provincial_perc_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
6504
6505 BEGIN
6506
6507 IF P_REPORT_NAME = 'JLARPPFF' THEN
6508
6509
6510 SELECT NVL(SUM(itf.tax_amt),0)
6511 INTO l_provincial_perc_amt_tbl(p_trx_id_tbl(i))
6512 FROM zx_rep_trx_detail_t itf
6513 WHERE itf.request_id = p_request_id
6514 AND itf.trx_id = p_trx_id_tbl(i)
6515 AND itf.tax_type_code >= P_PROV_TAX_TYPE_FROM
6516 AND itf.tax_type_code <= P_PROV_TAX_TYPE_TO;
6517
6518 -- ---------------------------------------------- --
6519 -- For AR Reports --
6520 -- ---------------------------------------------- --
6521
6522 ELSIF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
6523
6524 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' and
6525 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
6526
6527 BEGIN
6528 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
6529 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
6530 FROM ra_customer_trx
6531 WHERE customer_trx_id = p_trx_id_tbl(i);
6532
6533 EXCEPTION
6534 WHEN OTHERS THEN
6535 IF ( g_level_statement>= g_current_runtime_level ) THEN
6536 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT',
6537 'ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6538 END IF;
6539 END;
6540
6541 END IF;
6542
6543 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
6544
6545 SELECT sum(nvl(itf.tax_amt,0))
6546 INTO l_provincial_perc_amt_tbl(p_trx_id_tbl(i))
6547 FROM zx_rep_trx_detail_t itf
6548 WHERE itf.request_id = p_request_id
6549 AND itf.trx_id = p_trx_id_tbl(i)
6550 AND itf.tax_regime_code = p_prov_tax_regime
6551 AND nvl(itf.tax_type_code,'VAT') = 'VAT';
6552
6553 ELSE
6554
6555 l_provincial_perc_amt_tbl(p_trx_id_tbl(i)) := 0;
6556
6557 END IF;
6558
6559 ELSIF P_REPORT_NAME = 'JLARTOFF' THEN
6560
6561 IF (g_level_procedure >= g_current_runtime_level ) THEN
6562 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT',
6563 'JLARTOFF:get_provincial_perc_amount ');
6564 END IF;
6565
6566 SELECT sum(nvl(itf.tax_amt,0))
6567 INTO l_provincial_perc_amt_tbl(p_trx_id_tbl(i))
6568 FROM zx_rep_trx_detail_t itf,
6569 jl_zz_ar_tx_categ categ
6570 WHERE itf.request_id = p_request_id
6571 AND itf.trx_id = p_trx_id_tbl(i)
6572 -- AND itf.tax_regime_code = p_prov_tax_regime
6573 AND nvl(itf.tax_type_code,'VAT') = 'VAT'
6574 AND itf.tax_rate_id = p_tax_rate_id_tbl(i)
6575 AND categ.tax_category = itf.tax
6576 AND categ.tax_regime = p_prov_tax_regime
6577 AND categ.org_id = itf.internal_organization_id;
6578
6579 IF (g_level_procedure >= g_current_runtime_level ) THEN
6580 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
6581 'JLARTOFF: SQL Call in get_provincial_perc_amount '
6582 ||to_char(l_provincial_perc_amt_tbl(p_trx_id_tbl(i))));
6583 END IF;
6584
6585 END IF;
6586
6587 X_PROVINCIAL_PERC_AMT_TBL(i) := l_provincial_perc_amt_tbl(p_trx_id_tbl(i));
6588
6589 EXCEPTION
6590
6591 WHEN NO_DATA_FOUND THEN
6592
6593 l_provincial_perc_amt_tbl(p_trx_id_tbl(i)) := 0;
6594 X_PROVINCIAL_PERC_AMT_TBL(i) := l_provincial_perc_amt_tbl(p_trx_id_tbl(i));
6595 NULL;
6596
6597 WHEN OTHERS THEN
6598 IF ( g_level_statement>= g_current_runtime_level ) THEN
6599 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT',
6600 'ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6601 END IF;
6602 END;
6603
6604 ELSE -- if l_provincial_perc_amt_tbl is not null
6605
6606 -- X_PROVINCIAL_PERC_AMT_TBL(i) := l_provincial_perc_amt_tbl(p_trx_id_tbl(i));
6607 X_PROVINCIAL_PERC_AMT_TBL(i) := 0;
6608
6609 END IF;
6610 IF ( g_level_statement>= g_current_runtime_level ) THEN
6611 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
6612 ' PROVINCIAL_PERC_AMOUNT for Report Name : '||p_report_name ||' trx_id : '
6613 ||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_PROVINCIAL_PERC_AMT_TBL(i)));
6614 END IF;
6615
6616 END LOOP;
6617
6618 IF (g_level_procedure >= g_current_runtime_level ) THEN
6619 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_PROVINCIAL_PERC_AMOUNT.END',
6620 'GET_PROVINCIAL_PERC_AMOUNT(-)');
6621 END IF;
6622
6623 END GET_PROVINCIAL_PERC_AMOUNT;
6624
6625
6626 /*================================================================================+
6627 | PROCEDURE |
6628 | GET_MUNICIPAL_PERC_AMOUNT |
6629 | Type : Private |
6630 | Pre-req : None |
6631 | Function : |
6632 | This procedure extract Municipal Perception Amount for the given report name|
6633 | |
6634 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
6635 | |
6636 | Parameters : |
6637 | IN : P_MUN_TAX_TYPE_FROM IN VARCHAR2 Opt |
6638 | P_MUN_TAX_TYPE_TO IN VARCHAR2 Opt |
6639 | P_REPORT_NAME IN VARCHAR2 Req |
6640 | P_REQUEST_ID IN NUMBER Req |
6641 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
6642 | |
6643 | OUT |
6644 | X_MUNICIPAL_PERC_AMT_TBL OUT NUMERIC5_TBL |
6645 | |
6646 | MODIFICATION HISTORY |
6647 | 29-Oct-04 Hidetaka Kojima created |
6648 | |
6649 +================================================================================*/
6650
6651
6652 PROCEDURE GET_MUNICIPAL_PERC_AMOUNT
6653 (
6654 P_MUN_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
6655 P_MUN_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
6656 P_MUN_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
6657 P_REPORT_NAME IN VARCHAR2,
6658 p_REQUEST_ID IN NUMBER,
6659 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
6660 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.TAX_RATE_ID_TBL,
6661 X_MUNICIPAL_PERC_AMT_TBL OUT NOCOPY NUMERIC5_TBL
6662 ) IS
6663
6664 l_err_msg VARCHAR2(120);
6665 l_trx_counter NUMBER;
6666 l_municipal_perc_amt_tbl NUMERIC5_TBL;
6667 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
6668
6669 BEGIN
6670
6671 IF (g_level_procedure >= g_current_runtime_level ) THEN
6672 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT.BEGIN',
6673 'GET_MUNICIPAL_PERC_AMOUNT(+)');
6674 END IF;
6675
6676 BEGIN
6677
6678 SELECT count(distinct trx_id)
6679 INTO l_trx_counter
6680 FROM zx_rep_trx_detail_t
6681 WHERE request_id = p_request_id;
6682
6683 IF ( g_level_statement>= g_current_runtime_level ) THEN
6684 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
6685 ' GET_MUNICIPAL_PERC_AMOUNT : l_trx_counter : '|| l_trx_counter );
6686 END IF;
6687
6688 EXCEPTION
6689
6690 WHEN OTHERS THEN
6691
6692 IF ( g_level_statement>= g_current_runtime_level ) THEN
6693 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT',
6694 'ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6695 END IF;
6696
6697 END;
6698
6699
6700 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
6701
6702 IF l_municipal_perc_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6703 null;
6704 ELSE
6705 l_municipal_perc_amt_tbl(p_trx_id_tbl(i)) := null;
6706 END IF;
6707
6708 IF l_municipal_perc_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
6709
6710 BEGIN
6711
6712 IF P_REPORT_NAME = 'JLARPPFF' THEN
6713
6714 SELECT nvl(SUM(itf.tax_amt),0)
6715 INTO l_municipal_perc_amt_tbl(p_trx_id_tbl(i))
6716 FROM zx_rep_trx_detail_t itf
6717 WHERE itf.request_id = p_request_id
6718 AND itf.trx_id = p_trx_id_tbl(i)
6719 AND itf.tax_type_code >= P_MUN_TAX_TYPE_FROM
6720 AND itf.tax_type_code <= P_MUN_TAX_TYPE_TO;
6721
6722 ELSIF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
6723
6724 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6725 null;
6726 ELSE
6727 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
6728 END IF;
6729
6730 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' and
6731 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
6732
6733 BEGIN
6734 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
6735 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
6736 FROM ra_customer_trx
6737 WHERE customer_trx_id = p_trx_id_tbl(i);
6738
6739 EXCEPTION
6740 WHEN OTHERS THEN
6741 IF ( g_level_statement>= g_current_runtime_level ) THEN
6742 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT',
6743 'ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6744 END IF;
6745 END;
6746
6747 END IF;
6748
6749 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
6750
6751 SELECT sum(nvl(itf.tax_amt,0))
6752 INTO l_municipal_perc_amt_tbl(p_trx_id_tbl(i))
6753 FROM zx_rep_trx_detail_t itf
6754 WHERE itf.request_id = p_request_id
6755 AND itf.trx_id = p_trx_id_tbl(i)
6756 AND itf.tax_regime_code = p_mun_tax_regime
6757 AND nvl(itf.tax_type_code,'VAT') = 'VAT';
6758
6759 ELSE
6760
6761 l_municipal_perc_amt_tbl(p_trx_id_tbl(i)) := 0;
6762
6763 END IF;
6764
6765 ELSIF P_REPORT_NAME = 'JLARTOFF' THEN
6766
6767 IF (g_level_procedure >= g_current_runtime_level ) THEN
6768 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT',
6769 'JLARTOFF:get_muncipal_perc_amount ');
6770 END IF;
6771 l_municipal_perc_amt_tbl(p_trx_id_tbl(i)):= NULL;
6772
6773 SELECT sum(nvl(itf.tax_amt,0))
6774 INTO l_municipal_perc_amt_tbl(p_trx_id_tbl(i))
6775 FROM zx_rep_trx_detail_t itf,
6776 jl_zz_ar_tx_categ categ
6777 WHERE itf.request_id = p_request_id
6778 AND itf.trx_id = p_trx_id_tbl(i)
6779 -- AND itf.tax_regime_code = p_mun_tax_regime
6780 AND nvl(itf.tax_type_code,'VAT') = 'VAT'
6781 AND itf.tax_rate_id = p_tax_rate_id_tbl(i)
6782 AND categ.tax_category = itf.tax
6783 AND categ.tax_regime = p_mun_tax_regime
6784 AND categ.org_id = itf.internal_organization_id;
6785
6786 IF (g_level_procedure >= g_current_runtime_level ) THEN
6787 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.POPULATE_JL_AR',
6788 'JLARTOFF: SQL Call in get_muncipal_perc_amount '
6789 ||to_char(l_municipal_perc_amt_tbl(p_trx_id_tbl(i))));
6790 END IF;
6791
6792
6793 END IF;
6794
6795
6796 /* SELECT sum(nvl(itf.tax_amt,0))
6797 INTO l_municipal_perc_amt_tbl(p_trx_id_tbl(i))
6798 FROM zx_rep_trx_detail_t itf
6799 WHERE itf.request_id = p_request_id
6800 AND itf.trx_id = p_trx_id_tbl(i)
6801 AND itf.tax_regime_code = p_mun_tax_regime
6802 AND nvl(itf.tax_type_code,'VAT') = 'VAT'
6803 AND itf.tax_rate_id = p_tax_rate_id_tbl(i);
6804
6805 END IF; -- IF P_REPORT_NAME = ..*/
6806
6807 X_MUNICIPAL_PERC_AMT_TBL(i) := NVL(l_municipal_perc_amt_tbl(p_trx_id_tbl(i)),0);
6808
6809 EXCEPTION
6810 WHEN NO_DATA_FOUND THEN
6811 l_municipal_perc_amt_tbl(p_trx_id_tbl(i)) := 0;
6812 X_MUNICIPAL_PERC_AMT_TBL(i) := l_municipal_perc_amt_tbl(p_trx_id_tbl(i));
6813 NULL;
6814
6815 WHEN OTHERS THEN
6816 IF ( g_level_statement>= g_current_runtime_level ) THEN
6817 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT',
6818 'ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6819 END IF;
6820 END;
6821
6822 ELSE -- if l_municipal_perc_amt_tbl is not null
6823
6824 X_MUNICIPAL_PERC_AMT_TBL(i) := 0;
6825 -- X_MUNICIPAL_PERC_AMT_TBL(i) := l_municipal_perc_amt_tbl(p_trx_id_tbl(i));
6826
6827 END IF;
6828
6829 IF ( g_level_statement>= g_current_runtime_level ) THEN
6830 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
6831 ' X_MUNICIPAL_PERC_AMT_TBL for Report Name : '||p_report_name
6832 ||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_MUNICIPAL_PERC_AMT_TBL(i)));
6833 END IF;
6834
6835 END LOOP;
6836
6837 IF (g_level_procedure >= g_current_runtime_level ) THEN
6838 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_MUNICIPAL_PERC_AMOUNT.END',
6839 'GET_MUNICIPAL_PERC_AMOUNT(-)');
6840 END IF;
6841
6842 END GET_MUNICIPAL_PERC_AMOUNT;
6843
6844
6845 /*================================================================================+
6846 | PROCEDURE |
6847 | GET_EXCISE_TAX_AMOUNT |
6848 | Type : Private |
6849 | Pre-req : None |
6850 | Function : |
6851 | This procedure extract Municipal Perception Amount for the given report name|
6852 | |
6853 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
6854 | |
6855 | Parameters : |
6856 | IN : P_VAT_TAX_TYPE IN VARCHAR2 Opt |
6857 | P_REPORT_NAME IN VARCHAR2 Req |
6858 | P_REQUEST_ID IN NUMBER Req |
6859 | P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL Req|
6860 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
6861 | SUB_TYPE_TBL Opt|
6862 | |
6863 | OUT |
6864 | X_EXCISE_TAX_AMT_TBL OUT NUMERIC5_TBL |
6865 | |
6866 | MODIFICATION HISTORY |
6867 | 29-Oct-04 Hidetaka Kojima created |
6868 | |
6869 +================================================================================*/
6870
6871
6872 PROCEDURE GET_EXCISE_TAX_AMOUNT
6873 (
6874 P_EXC_TAX_TYPE_FROM IN VARCHAR2 DEFAULT NULL,
6875 P_EXC_TAX_TYPE_TO IN VARCHAR2 DEFAULT NULL,
6876 P_EXC_TAX_REGIME IN VARCHAR2 DEFAULT NULL,
6877 P_REPORT_NAME IN VARCHAR2,
6878 p_REQUEST_ID IN NUMBER,
6879 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
6880 X_EXCISE_AMT_TBL OUT NOCOPY NUMERIC6_TBL
6881 ) IS
6882
6883 l_err_msg VARCHAR2(120);
6884 l_trx_counter NUMBER;
6885 l_excise_amt_tbl NUMERIC6_TBL;
6886 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
6887
6888 BEGIN
6889
6890 IF (g_level_procedure >= g_current_runtime_level ) THEN
6891 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT.BEGIN',
6892 'GET_EXCISE_TAX_AMOUNT(+)');
6893 END IF;
6894
6895 BEGIN
6896
6897 SELECT count(distinct trx_id)
6898 INTO l_trx_counter
6899 FROM zx_rep_trx_detail_t
6900 WHERE request_id = p_request_id;
6901
6902 IF ( g_level_statement>= g_current_runtime_level ) THEN
6903 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
6904 ' GET_EXCISE_TAX_AMOUNT : l_trx_counter : '|| l_trx_counter );
6905 END IF;
6906
6907 EXCEPTION
6908
6909 WHEN OTHERS THEN
6910 IF ( g_level_statement>= g_current_runtime_level ) THEN
6911 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT',
6912 'ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6913 END IF;
6914
6915 END;
6916
6917 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
6918
6919 IF l_excise_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6920 null;
6921 ELSE
6922 l_excise_amt_tbl(p_trx_id_tbl(i)) := null;
6923 END IF;
6924
6925 IF l_excise_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
6926
6927 BEGIN
6928
6929 IF P_REPORT_NAME = 'JLARPPFF' THEN
6930
6931 SELECT nvl(SUM(itf.tax_amt),0)
6932 INTO l_excise_amt_tbl(p_trx_id_tbl(i))
6933 FROM zx_rep_trx_detail_t itf
6934 WHERE itf.request_id = p_request_id
6935 AND itf.trx_id = p_trx_id_tbl(i)
6936 AND itf.tax_type_code >= P_EXC_TAX_TYPE_FROM
6937 AND itf.tax_type_code <= P_EXC_TAX_TYPE_TO;
6938
6939 ELSIF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
6940
6941 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
6942 null;
6943 ELSE
6944 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
6945 END IF;
6946
6947 --IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' and
6948 -- l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) THEN
6949
6950 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
6951 BEGIN
6952 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
6953 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
6954 FROM ra_customer_trx
6955 WHERE customer_trx_id = p_trx_id_tbl(i);
6956
6957 IF ( g_level_statement>= g_current_runtime_level ) THEN
6958 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT',
6959 'l_gdf_ra_cust_trx_att19_tbl : '||l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) );
6960 END IF;
6961
6962 EXCEPTION
6963 WHEN OTHERS THEN
6964
6965 IF ( g_level_statement>= g_current_runtime_level ) THEN
6966 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT',
6967 'ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
6968 END IF;
6969 END;
6970
6971 END IF;
6972
6973 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
6974
6975 SELECT sum(nvl(itf.tax_amt,0))
6976 INTO l_excise_amt_tbl(p_trx_id_tbl(i))
6977 FROM zx_rep_trx_detail_t itf
6978 WHERE itf.request_id = p_request_id
6979 AND itf.trx_id = p_trx_id_tbl(i)
6980 --AND itf.tax_regime_code = p_exc_tax_regime
6981 AND itf.tax = p_exc_tax_regime
6982 AND nvl(itf.tax_type_code,'VAT') = 'VAT';
6983
6984 ELSE
6985
6986 l_excise_amt_tbl(p_trx_id_tbl(i)) := 0;
6987
6988 END IF;
6989
6990
6991 END IF;
6992
6993 X_EXCISE_AMT_TBL(i) := l_excise_amt_tbl(p_trx_id_tbl(i));
6994
6995 EXCEPTION
6996
6997 WHEN NO_DATA_FOUND THEN
6998
6999 l_excise_amt_tbl(p_trx_id_tbl(i)) := 0;
7000 X_EXCISE_AMT_TBL(i) := l_excise_amt_tbl(p_trx_id_tbl(i));
7001 NULL;
7002
7003 WHEN OTHERS THEN
7004
7005 IF ( g_level_statement>= g_current_runtime_level ) THEN
7006 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT',
7007 'ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT : '||p_report_name ||' : '||substrb(SQLERRM,1,120) );
7008 END IF;
7009 END;
7010
7011 ELSE -- if l_excise_tax_amt_tbl is not null
7012
7013 X_EXCISE_AMT_TBL(i) := 0;
7014 -- X_EXCISE_AMT_TBL(i) := l_excise_amt_tbl(p_trx_id_tbl(i));
7015
7016 END IF;
7017
7018 IF ( g_level_statement>= g_current_runtime_level ) THEN
7019 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7020 ' X_EXCISE_AMT_TBL for Report Name : '||p_report_name ||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_EXCISE_AMT_TBL(i)));
7021 END IF;
7022
7023 END LOOP;
7024
7025 IF (g_level_procedure >= g_current_runtime_level ) THEN
7026 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_EXCISE_TAX_AMOUNT.END',
7027 'GET_EXCISE_TAX_AMOUNT(-)');
7028 END IF;
7029
7030 END GET_EXCISE_TAX_AMOUNT;
7031
7032
7033 /*================================================================================+
7034 | PROCEDURE |
7035 | GET_COUNTED_SUM_DOC |
7036 | Type : Private |
7037 | Pre-req : None |
7038 | Function : |
7039 | This procedure extract Municipal Perception Amount for the given report name|
7040 | |
7041 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
7042 | |
7043 | Parameters : |
7044 | IN : P_REPORT_NAME IN VARCHAR2 Req |
7045 | P_REQUEST_ID IN NUMBER Req |
7046 | P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_ |
7047 | SUB_TYPE_TBL Opt|
7048 | |
7049 | OUT |
7050 | X_CL_NUM_OF_DOC_TBL OUT NUMERIC5_TBL |
7051 | |
7052 | |
7053 | MODIFICATION HISTORY |
7054 | 29-Oct-04 Hidetaka Kojima created |
7055 | |
7056 +================================================================================*/
7057
7058 PROCEDURE GET_COUNTED_SUM_DOC
7059 (
7060 P_REPORT_NAME IN VARCHAR2,
7061 P_REQUEST_ID IN NUMBER,
7062 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
7063 X_CL_NUM_OF_DOC_TBL OUT NOCOPY NUMERIC3_TBL,
7064 X_CL_TOTAL_EXEMPT_TBL OUT NOCOPY NUMERIC4_TBL,
7065 X_CL_TOTAL_EFFECTIVE_TBL OUT NOCOPY NUMERIC5_TBL,
7066 X_CL_TOTAL_VAT_TAX_TBL OUT NOCOPY NUMERIC6_TBL,
7067 X_CL_TOTAL_OTHER_TAX_TBL OUT NOCOPY NUMERIC11_TBL
7068
7069 )IS
7070
7071 BEGIN
7072 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
7073 --Bug 5058043
7074 IF (g_level_procedure >= g_current_runtime_level ) THEN
7075 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_COUNTED_SUM_DOC',
7076 'GET_COUNTED_SUM_DOC(+)');
7077 END IF;
7078
7079 IF P_REPORT_NAME = 'ZXCLPPLR' then
7080
7081 FOR i in 1..nvl(p_document_sub_type_tbl.last,0) LOOP
7082
7083 begin
7084 SELECT COUNT(DISTINCT DET.TRX_NUMBER),
7085 /* SUM(DECODE(DET.TAX_RATE,0,
7086 coalesce(DET.TAXABLE_AMT_FUNCL_CURR,DET.TAXABLE_AMT,0),
7087 0)),
7088 SUM(DECODE(DET.TAX_RATE,0,
7089 0,
7090 coalesce(DET.TAXABLE_AMT_FUNCL_CURR,DET.TAXABLE_AMT,0))),*/
7091 SUM(DECODE(DET.TAX_TYPE_CODE,'VAT',
7092 coalesce(DET.TAX_AMT_FUNCL_CURR,DET.TAX_AMT,0),
7093 0)),
7094 SUM(DECODE(DET.TAX_TYPE_CODE,'VAT',
7095 0,
7096 coalesce(DET.TAX_AMT_FUNCL_CURR,DET.TAX_AMT,0)))
7097 INTO X_CL_NUM_OF_DOC_TBL(i),
7098 -- X_CL_TOTAL_EXEMPT_TBL(i),
7099 -- X_CL_TOTAL_EFFECTIVE_TBL(i),
7100 X_CL_TOTAL_VAT_TAX_TBL(i),
7101 X_CL_TOTAL_OTHER_TAX_TBL(i)
7102 FROM ZX_REP_TRX_DETAIL_T DET
7103 WHERE DET.REQUEST_ID = P_REQUEST_ID
7104 AND DET.DOCUMENT_SUB_TYPE = P_DOCUMENT_SUB_TYPE_TBL(i)
7105 GROUP BY DET.DOCUMENT_SUB_TYPE;
7106 EXCEPTION
7107 WHEN NO_DATA_FOUND THEN
7108 X_CL_NUM_OF_DOC_TBL(i) := null;
7109 X_CL_TOTAL_VAT_TAX_TBL(i) := null;
7110 X_CL_TOTAL_OTHER_TAX_TBL(i) := NULL ;
7111 END ;
7112
7113 --Added for the Bug 5413860
7114 BEGIN
7115 SELECT SUM(DECODE(DET.TAX_RATE,0,
7116 coalesce(DET.TAXABLE_AMT_FUNCL_CURR,DET.TAXABLE_AMT,0),
7117 0)),
7118 SUM(DECODE(DET.TAX_RATE,0,
7119 0,
7120 coalesce(DET.TAXABLE_AMT_FUNCL_CURR,DET.TAXABLE_AMT,0)))
7121 INTO
7122 X_CL_TOTAL_EXEMPT_TBL(i),
7123 X_CL_TOTAL_EFFECTIVE_TBL(i)
7124 FROM ZX_REP_TRX_DETAIL_T DET
7125 WHERE DET.REQUEST_ID = P_REQUEST_ID
7126 AND DET.DOCUMENT_SUB_TYPE = P_DOCUMENT_SUB_TYPE_TBL(i)
7127 AND det.ROWID = ( SELECT min(det1.rowid) FROM zx_rep_trx_detail_t det1
7128 WHERE det1.trx_id = det.trx_id
7129 AND det1.request_id = P_REQUEST_ID
7130 AND nvl(det1.trx_line_id,1) = nvl(det.trx_line_id,1) )--check if trx_line_id should be populated at TRANSACTION Level
7131 GROUP BY DET.DOCUMENT_SUB_TYPE;
7132 -- X_CL_TOTAL_EXEMPT_TBL(i) := null;
7133 -- X_CL_TOTAL_EFFECTIVE_TBL(i) := null;
7134
7135 IF (g_level_statement >= g_current_runtime_level ) THEN
7136 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_COUNTED_SUM_DOC',
7137 'i : '||i||'X_CL_TOTAL_EXEMPT_TBL : '||X_CL_TOTAL_EXEMPT_TBL(i)||'X_CL_TOTAL_EFFECTIVE_TBL : '||X_CL_TOTAL_EFFECTIVE_TBL(i) );
7138 END IF;
7139
7140 EXCEPTION
7141 WHEN NO_DATA_FOUND THEN
7142 X_CL_TOTAL_EXEMPT_TBL(i) := null;
7143 X_CL_TOTAL_EFFECTIVE_TBL(i) := null;
7144
7145 END ;
7146
7147 END LOOP;
7148
7149 END IF;
7150
7151 --Bug 5438742
7152 IF P_REPORT_NAME = 'ZXCLRSLL' then
7153
7154 FOR i in 1..nvl(p_document_sub_type_tbl.last,0) LOOP
7155
7156 begin
7157 SELECT COUNT(DISTINCT DET.TRX_NUMBER),
7158 SUM(DECODE(DET.TAX_TYPE_CODE,'VAT',
7159 coalesce(DET.TAX_AMT_FUNCL_CURR,DET.TAX_AMT,0),
7160 0)),
7161 SUM(DECODE(DET.TAX_TYPE_CODE,'VAT',
7162 0,
7163 coalesce(DET.TAX_AMT_FUNCL_CURR,DET.TAX_AMT,0)))
7164 INTO X_CL_NUM_OF_DOC_TBL(i),
7165 X_CL_TOTAL_VAT_TAX_TBL(i),
7166 X_CL_TOTAL_OTHER_TAX_TBL(i)
7167 FROM ZX_REP_TRX_DETAIL_T DET
7168 WHERE DET.REQUEST_ID = P_REQUEST_ID
7169 AND DET.doc_seq_name = P_DOCUMENT_SUB_TYPE_TBL(i)
7170 GROUP BY DET.DOCUMENT_SUB_TYPE;
7171 EXCEPTION
7172 WHEN NO_DATA_FOUND THEN
7173 X_CL_NUM_OF_DOC_TBL(i) := null;
7174 X_CL_TOTAL_VAT_TAX_TBL(i) := null;
7175 X_CL_TOTAL_OTHER_TAX_TBL(i) := NULL ;
7176 END ;
7177
7178 BEGIN
7179 SELECT
7180 SUM(DECODE(DET.TAX_RATE,0,
7181 0,
7182 coalesce(DET.TAXABLE_AMT_FUNCL_CURR,DET.TAXABLE_AMT,0)))
7183 INTO
7184 X_CL_TOTAL_EFFECTIVE_TBL(i)
7185 FROM ZX_REP_TRX_DETAIL_T DET
7186 WHERE DET.REQUEST_ID = P_REQUEST_ID
7187 AND DET.DOC_SEQ_NAME = P_DOCUMENT_SUB_TYPE_TBL(i)
7188 AND det.ROWID = ( SELECT min(det1.rowid) FROM zx_rep_trx_detail_t det1
7189 WHERE det1.trx_id = det.trx_id
7190 AND det1.request_id = P_REQUEST_ID
7191 AND nvl(det1.trx_line_id,1) = nvl(det.trx_line_id,1) )--check if trx_line_id should be populated at TRANSACTION Level
7192 GROUP BY DET.DOCUMENT_SUB_TYPE;
7193
7194 IF (g_level_statement >= g_current_runtime_level ) THEN
7195 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_COUNTED_SUM_DOC',
7196 'i : '||i||'X_CL_TOTAL_EXEMPT_TBL : '||X_CL_TOTAL_EXEMPT_TBL(i)||'X_CL_TOTAL_EFFECTIVE_TBL : '||X_CL_TOTAL_EFFECTIVE_TBL(i) );
7197 END IF;
7198
7199 EXCEPTION
7200 WHEN NO_DATA_FOUND THEN
7201 X_CL_TOTAL_EXEMPT_TBL(i) := null;
7202 X_CL_TOTAL_EFFECTIVE_TBL(i) := null;
7203
7204 END ;
7205
7206 END LOOP;
7207
7208 END IF;
7209 --Bug 5058043
7210 IF (g_level_procedure >= g_current_runtime_level ) THEN
7211 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_COUNTED_SUM_DOC',
7212 'GET_COUNTED_SUM_DOC(-)');
7213 END IF;
7214
7215 END GET_COUNTED_SUM_DOC;
7216
7217
7218 /*=====================================================================================+
7219 | PROCEDURE |
7220 | GET_LOOKUP_INFO |
7221 | Type : Private |
7222 | Pre-req : None |
7223 | Function : |
7224 | This procedure fetched Lookup Code and Meaning from FND_LOOKUPS table |
7225 | using P_DOCUMENT_SUB_TYPE_TBL and returns fetched values. |
7226 | |
7227 | Called from ZX_JL_EXTRACT_PKG.POPULATE |
7228 | |
7229 | Parameters : |
7230 | IN : P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL|
7231 | X_JLCL_AP_DOC_TYPE_MEANING OUT VARCHAR2 |
7232 | X_ORDER_BY_DOC_TYPE OUT VARCHAR2 |
7233 | |
7234 | MODIFICATION HISTORY |
7235 | 07-Nov-03 Hidetaka Kojima created |
7236 | |
7237 | |
7238 +=====================================================================================*/
7239
7240 PROCEDURE GET_LOOKUP_INFO
7241 (
7242 P_DOCUMENT_SUB_TYPE_TBL IN ZX_EXTRACT_PKG.DOCUMENT_SUB_TYPE_TBL,
7243 X_JLCL_AP_DOC_TYPE_MEANING_TBL OUT NOCOPY DOCUMENT_SUB_TYPE_MNG_TBL,
7244 X_ORDER_BY_DOC_TYPE_TBL OUT NOCOPY ATTRIBUTE14_TBL
7245 )
7246
7247 IS
7248
7249 BEGIN
7250
7251 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
7252 --Bug 5058043
7253 IF (g_level_procedure >= g_current_runtime_level ) THEN
7254 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_LOOKUP_INFO',
7255 'GET_LOOKUP_INFO(+)');
7256 END IF;
7257
7258 FOR i in 1..nvl(p_document_sub_type_tbl.last,0) LOOP
7259
7260 IF (g_level_statement >= g_current_runtime_level ) THEN
7261 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_LOOKUP_INFO',
7262 'i : '||i||'P_DOCUMENT_SUB_TYPE_TBL(i) : '||P_DOCUMENT_SUB_TYPE_TBL(i));
7263 END IF;
7264
7265 BEGIN
7266
7267 SELECT
7268 fl.meaning,
7269 DECODE(fl.lookup_code, 'JL_CL_DOMESTIC_INVOICE','1',
7270 'JL_CL_FOREIGN_INVOICE','2',
7271 'JL_CL_DEBIT_MEMO','3',
7272 'JL_CL_CREDIT_MEMO','4',
7273 '5')
7274 INTO
7275 x_jlcl_ap_doc_type_meaning_tbl(i),
7276 x_order_by_doc_type_tbl(i)
7277 FROM
7278 fnd_lookups fl
7279 WHERE
7280 fl.lookup_type = 'JLCL_AP_DOCUMENT_TYPE'
7281 AND
7282 fl.lookup_code = substr(P_DOCUMENT_SUB_TYPE_TBL(i),15); --Bug 5413860
7283
7284 EXCEPTION
7285
7286 WHEN NO_DATA_FOUND THEN
7287
7288 x_jlcl_ap_doc_type_meaning_tbl(i) := Null;
7289 x_order_by_doc_type_tbl(i) := Null;
7290 null;
7291
7292 WHEN OTHERS THEN
7293
7294 l_err_msg := substrb(SQLERRM,1,120);
7295 --Bug 5058043
7296 IF (g_level_procedure >= g_current_runtime_level ) THEN
7297 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_LOOKUP_INFO',
7298 'EXCEPTION raised in ' ||'GET_LOOKUP_INFO: ' ||SQLCODE ||':'||l_err_msg);
7299 END IF;
7300
7301 END;
7302
7303 END LOOP;
7304 --Bug 5058043
7305 IF (g_level_procedure >= g_current_runtime_level ) THEN
7306 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_LOOKUP_INFO',
7307 'GET_LOOKUP_INFO(-)');
7308 END IF;
7309
7310 END GET_LOOKUP_INFO;
7311
7312
7313 /*===========================================================================+
7314 | FUNCTION |
7315 | GET_TAX_AUTHORITY_CODE |
7316 | Type : Private |
7317 | Pre-req : None |
7318 | Function : |
7319 | This function returns the Tax Authority Code |
7320 | from jl_zz_ar_tx_categ table to meet the requirement in the flat file |
7321 | |
7322 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
7323 | |
7324 | Parameters : |
7325 | IN : p_vat_tax IN |
7326 | ZX_REP_TRX_DETAIL_T.TAX%TYPE Required |
7327 | |
7328 | MODIFICATION HISTORY |
7329 | 07-Nov-03 Hidetaka Kojima created |
7330 | |
7331 | |
7332 +===========================================================================*/
7333
7334
7335 FUNCTION GET_TAX_AUTHORITY_CODE
7336 (
7337 P_VAT_TAX IN ZX_REP_TRX_DETAIL_T.TAX%TYPE,
7338 P_ORG_ID IN NUMBER
7339 )
7340 return ZX_REP_TRX_JX_EXT_T.ATTRIBUTE10%TYPE IS
7341
7342 l_tax_authority_code ZX_REP_TRX_JX_EXT_T.ATTRIBUTE10%TYPE;
7343 l_err_msg VARCHAR2(120);
7344
7345 BEGIN
7346
7347
7348 IF (g_level_procedure >= g_current_runtime_level ) THEN
7349 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAX_AUTHORITY_CODE.BEGIN',
7350 'GET_TAX_AUTHORITY_CODE(+)');
7351 END IF;
7352
7353 SELECT tax_authority_code
7354 INTO l_tax_authority_code
7355 FROM jl_zz_ar_tx_categ
7356 WHERE tax_category = p_vat_tax
7357 AND org_id = p_org_id;
7358
7359
7360 IF ( g_level_statement>= g_current_runtime_level ) THEN
7361 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAX_AUTHORITY_CODE',
7362 'l_tax_authority_code : '||l_tax_authority_code);
7363 END IF;
7364
7365 IF (g_level_procedure >= g_current_runtime_level ) THEN
7366
7367 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAX_AUTHORITY_CODE.END',
7368 'GET_TAX_AUTHORITY_CODE(-)');
7369 END IF;
7370
7371 RETURN l_tax_authority_code;
7372
7373 EXCEPTION
7374
7375 WHEN NO_DATA_FOUND THEN
7376
7377 RETURN null;
7378
7379 WHEN OTHERS THEN
7380
7381 IF ( g_level_statement>= g_current_runtime_level ) THEN
7382 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAX_AUTHORITY_CODE',
7383 'ZX_JL_EXTRACT_PKG.GET_TAX_AUTHORITY_CODE : '||substrb(SQLERRM,1,120) );
7384 END IF;
7385
7386 END get_tax_authority_code;
7387
7388
7389 /*=================================================================================+
7390 | PROCEDURE |
7391 | GET_DGI_CODE |
7392 | Type : Private |
7393 | Pre-req : None |
7394 | Function : |
7395 | This function returns the DGI Code |
7396 | from jl_ar_ap_trx_dgi table to meet the requirement in the flat file |
7397 | |
7398 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
7399 | |
7400 | Parameters : |
7401 | IN : P_TRX_NUMBER_TBL IN ZX_EXTRACT_PKG.TRX_NUMBER_TBL Required | |
7402 | P_TRX_TYPE_ID_TBL IN ZX_EXTRACT_PKG.TRX_TYPE_ID_TBL Required |
7403 | |
7404 | MODIFICATION HISTORY |
7405 | 07-Nov-03 Hidetaka Kojima created |
7406 | |
7407 | |
7408 +=================================================================================*/
7409
7410 PROCEDURE GET_DGI_CODE
7411 (
7412 P_TRX_NUMBER_TBL IN ZX_EXTRACT_PKG.TRX_NUMBER_TBL,
7413 P_TRX_CATEGORY_TBL IN ZX_EXTRACT_PKG.TRX_TYPE_ID_TBL,
7414 P_ORG_ID_TBL IN ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL,
7415 X_DGI_CODE_TBL OUT NOCOPY ATTRIBUTE11_TBL
7416 )
7417 IS
7418
7419 l_err_msg VARCHAR2(120);
7420
7421 BEGIN
7422 IF (g_level_procedure >= g_current_runtime_level ) THEN
7423 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_CODE.BEGIN',
7424 'GET_DGI_CODE(+)');
7425 END IF;
7426
7427 FOR i in 1..p_trx_number_tbl.last LOOP
7428
7429 BEGIN
7430
7431 SELECT dgi_code
7432 INTO x_dgi_code_tbl(i)
7433 FROM jl_ar_ap_trx_dgi_codes dgi,
7434 ra_cust_trx_types_all rctt
7435 WHERE trx_letter = substr(p_trx_number_tbl(i),1,1)
7436 AND rctt.cust_trx_type_id = P_TRX_CATEGORY_TBL(i)
7437 AND rctt.org_id = p_org_id_tbl(i)
7438 AND trx_category = rctt.type;
7439
7440 IF ( g_level_statement>= g_current_runtime_level ) THEN
7441 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7442 ' GET_DGI_CODE : i : ');
7443 END IF;
7444
7445 EXCEPTION
7446
7447 WHEN NO_DATA_FOUND THEN
7448 x_dgi_code_tbl(i) := Null;
7449 IF ( g_level_statement>= g_current_runtime_level ) THEN
7450 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7451 ' GET_DGI_CODE : i : ');
7452 END IF;
7453
7454
7455
7456 WHEN OTHERS THEN
7457 IF ( g_level_statement>= g_current_runtime_level ) THEN
7458 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_CODE',
7459 'ZX_JL_EXTRACT_PKG.GET_DGI_CODE : '||substrb(SQLERRM,1,120) );
7460 END IF;
7461 END;
7462
7463 END LOOP;
7464
7465 IF (g_level_procedure >= g_current_runtime_level ) THEN
7466 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_CODE.END',
7467 'GET_DGI_CODE(-)');
7468 END IF;
7469
7470 END get_dgi_code;
7471
7472
7473 /*===========================================================================+
7474 | FUNCTION |
7475 | GET_CUSTOMER_CONDITION_CODE |
7476 | Type : Private |
7477 | Pre-req : None |
7478 | Function : |
7479 | This function returns the customer's tax condition code |
7480 | from jl_zz_ar_tx_val table to meet the requirement in the flat file |
7481 | |
7482 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
7483 | |
7484 | Parameters : |
7485 | IN : p_use_site_prof IN VARCHAR2 Required |
7486 | p_tax_category_id IN NUMBER Required |
7487 | p_contributor_class IN VHARCHAR2 Required |
7488 | p_address_id IN NUMBER Required |
7489 | |
7490 | MODIFICATION HISTORY |
7491 | 07-Nov-03 Asako Takahashi created |
7492 | |
7493 | |
7494 +===========================================================================*/
7495
7496 PROCEDURE GET_CUSTOMER_CONDITION_CODE
7497 (
7498 P_VAT_PERCEP_TAX IN VARCHAR2,
7499 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
7500 P_INTERNAL_ORG_ID_TBL IN ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL,
7501 P_REQUEST_ID IN NUMBER,
7502 X_CUST_CONDITION_CODE_TBL OUT NOCOPY ATTRIBUTE7_TBL
7503 )
7504 is
7505
7506 l_cust_condition_code_tbl ATTRIBUTE7_TBL;
7507 l_counted_trx_number NUMBER;
7508 l_address_id NUMBER;
7509 l_contributor_class VARCHAR2(150);
7510 l_use_site_prof VARCHAR2(150);
7511 l_err_msg VARCHAR2(120);
7512
7513 BEGIN
7514
7515
7516 IF (g_level_procedure >= g_current_runtime_level ) THEN
7517 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7518 'GET_CUSTOMER_CONDITION_CODE(+)');
7519 END IF;
7520
7521 BEGIN
7522
7523 SELECT count(distinct trx_id)
7524 INTO l_counted_trx_number
7525 FROM zx_rep_trx_detail_t
7526 WHERE request_id = p_request_id;
7527
7528 EXCEPTION
7529
7530 WHEN OTHERS THEN
7531 IF ( g_level_statement>= g_current_runtime_level ) THEN
7532 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7533 'ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE : '||substrb(SQLERRM,1,120) );
7534 END IF;
7535
7536 END;
7537
7538 IF (g_level_procedure >= g_current_runtime_level ) THEN
7539 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7540 'l_counted_trx_number :'||to_char(l_counted_trx_number));
7541 END IF;
7542
7543 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
7544
7545 IF l_cust_condition_code_tbl.EXISTS(p_trx_id_tbl(i)) THEN
7546 null;
7547 ELSE
7548 l_cust_condition_code_tbl(p_trx_id_tbl(i)) := null;
7549 END IF;
7550 IF (g_level_procedure >= g_current_runtime_level ) THEN
7551 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7552 'l_cust_condition_code_tbl :');
7553 END IF;
7554
7555
7556 IF l_cust_condition_code_tbl(p_trx_id_tbl(i)) is null THEN
7557 IF (g_level_procedure >= g_current_runtime_level ) THEN
7558 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7559 'l_cust_condition_code_tbl 1 :');
7560 END IF;
7561
7562
7563 BEGIN
7564
7565 SELECT add1.cust_acct_site_id,
7566 add1.global_attribute8,
7567 NVL(add1.global_attribute9,'N')
7568 INTO l_address_id,
7569 l_contributor_class,
7570 l_use_site_prof
7571 FROM ra_customer_trx_all trx,
7572 hz_cust_accounts cust,
7573 hz_cust_acct_sites_all add1,
7574 hz_cust_site_uses_all site
7575 WHERE trx.customer_trx_id = p_trx_id_tbl(i)
7576 AND cust.cust_account_id = nvl(trx.ship_to_customer_id,trx.bill_to_customer_id)
7577 AND cust.cust_account_id = add1.cust_account_id
7578 AND site.cust_acct_site_id = add1.cust_acct_site_id
7579 AND site.site_use_id = nvl(trx.bill_to_site_use_id, ship_to_site_use_id);
7580 IF (g_level_procedure >= g_current_runtime_level ) THEN
7581 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7582 'l_use_site_prof :'||l_use_site_prof);
7583 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7584 'l_contributor_class :'||l_contributor_class);
7585 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7586 'l_address_id :'||to_char(l_address_id));
7587 END IF;
7588
7589
7590 IF l_use_site_prof = 'Y' THEN
7591
7592 SELECT VAL.TAX_ATTR_VALUE_CODE
7593 INTO l_cust_condition_code_tbl(p_trx_id_tbl(i))
7594 FROM JL_ZZ_AR_TX_CUS_CLS_ALL cust,
7595 JL_ZZ_AR_TX_CATEG_ALL categ,
7596 JL_ZZ_AR_TX_ATT_VAL_ALL val
7597 WHERE CUST.TAX_ATTRIBUTE_VALUE = VAL.TAX_ATTRIBUTE_VALUE and
7598 CUST.TAX_CATEGORY_ID = VAL.TAX_CATEGORY_ID and
7599 CUST.TAX_CATEGORY_ID = CATEG.TAX_CATEGORY_ID and
7600 CUST.TAX_ATTRIBUTE_NAME = VAL.TAX_ATTRIBUTE_NAME and
7601 VAL.TAX_ATTRIBUTE_TYPE = 'CONTRIBUTOR_ATTRIBUTE' and
7602 CATEG.TAX_CATEGORY = P_VAT_PERCEP_TAX and
7603 CUST.TAX_ATTR_CLASS_CODE = l_contributor_class and
7604 CUST.ADDRESS_ID = L_ADDRESS_ID AND
7605 CUST.ORG_ID = CATEG.ORG_ID AND
7606 CATEG.ORG_ID = VAL.ORG_ID AND
7607 VAL.ORG_ID = P_INTERNAL_ORG_ID_TBL(I);
7608 IF (g_level_procedure >= g_current_runtime_level ) THEN
7609 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7610 'l_cust_condition_code_tbl Value 1 :'||to_char(l_cust_condition_code_tbl(p_trx_id_tbl(i))));
7611 END IF;
7612
7613
7614 ELSIF l_use_site_prof <> 'Y' THEN
7615
7616 SELECT VAL.TAX_ATTR_VALUE_CODE
7617 INTO l_cust_condition_code_tbl(p_trx_id_tbl(i))
7618 FROM JL_ZZ_AR_TX_ATT_CLS_ALL cust,
7619 JL_ZZ_AR_TX_CATEG_ALL categ,
7620 JL_ZZ_AR_TX_ATT_VAL val
7621 WHERE CUST.TAX_ATTRIBUTE_VALUE = VAL.TAX_ATTRIBUTE_VALUE and
7622 CUST.TAX_CATEGORY_ID = VAL.TAX_CATEGORY_ID and
7623 CUST.TAX_CATEGORY_ID = CATEG.TAX_CATEGORY_ID and
7624 CUST.TAX_ATTRIBUTE_NAME = VAL.TAX_ATTRIBUTE_NAME and
7625 VAL.TAX_ATTRIBUTE_TYPE = 'CUSTOMER_ATTRIBUTE' and
7626 CATEG.TAX_CATEGORY = P_VAT_PERCEP_TAX and
7627 CUST.TAX_ATTR_CLASS_TYPE = 'CONTRIBUTOR_CLASS' and
7628 CUST.TAX_ATTR_CLASS_CODE = L_CONTRIBUTOR_CLASS AND
7629 CUST.ORG_ID = CATEG.ORG_ID AND
7630 CATEG.ORG_ID = VAL.ORG_ID AND
7631 VAL.ORG_ID = P_INTERNAL_ORG_ID_TBL(I);
7632 IF (g_level_procedure >= g_current_runtime_level ) THEN
7633 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.BEGIN',
7634 'l_cust_condition_code_tbl Value 2 :'||to_char(l_cust_condition_code_tbl(p_trx_id_tbl(i))));
7635 END IF;
7636 END IF;
7637
7638 X_CUST_CONDITION_CODE_TBL(i) := l_cust_condition_code_tbl(p_trx_id_tbl(i));
7639
7640 EXCEPTION
7641
7642 WHEN NO_DATA_FOUND THEN
7643 X_CUST_CONDITION_CODE_TBL(i) :=NULL;
7644 IF ( g_level_statement>= g_current_runtime_level ) THEN
7645 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7646 'ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE : '||substrb(SQLERRM,1,120) );
7647 END IF;
7648 WHEN OTHERS THEN
7649 IF ( g_level_statement>= g_current_runtime_level ) THEN
7650 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7651 'ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE : '||substrb(SQLERRM,1,120) );
7652 END IF;
7653
7654 END;
7655
7656 ELSE
7657
7658 X_CUST_CONDITION_CODE_TBL(i) := l_cust_condition_code_tbl(p_trx_id_tbl(i));
7659
7660 END IF;
7661 IF ( g_level_statement>= g_current_runtime_level ) THEN
7662 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7663 ' X_CUST_CONDITION_CODE_TBL (i) for : '||' i: '||i||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_CUST_CONDITION_CODE_TBL(i)));
7664 END IF;
7665
7666 END LOOP;
7667
7668 IF (g_level_procedure >= g_current_runtime_level ) THEN
7669 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE.END',
7670 'GET_CUSTOMER_CONDITION_CODE(-)');
7671 END IF;
7672
7673 END get_customer_condition_code;
7674
7675
7676 PROCEDURE GET_DGI_TAX_REGIME_CODE
7677 (
7678 P_VAT_PERCEP_TAX IN VARCHAR2,
7679 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
7680 P_TRX_LINE_ID_TBL IN ZX_EXTRACT_PKG.TRX_LINE_ID_TBL,
7681 P_INTERNAL_ORG_ID_TBL IN ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL,
7682 P_REQUEST_ID IN NUMBER,
7683 X_DGI_TAX_REGIME_CODE_TBL OUT NOCOPY ATTRIBUTE25_TBL
7684 )
7685 IS
7686
7687 l_dgi_tax_regime_code_tbl ATTRIBUTE25_TBL;
7688 l_counted_trx_number NUMBER;
7689 l_err_msg VARCHAR2(120);
7690
7691 BEGIN
7692
7693 IF (g_level_procedure >= g_current_runtime_level ) THEN
7694 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_TAX_REGIME_CODE.BEGIN',
7695 'GET_DGI_TAX_REGIME_CODE(+)');
7696 END IF;
7697
7698 BEGIN
7699 SELECT count(distinct trx_id)
7700 INTO l_counted_trx_number
7701 FROM zx_rep_trx_detail_t
7702 WHERE request_id = p_request_id;
7703 EXCEPTION
7704 WHEN OTHERS THEN
7705 IF ( g_level_statement>= g_current_runtime_level ) THEN
7706 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7707 'ZX_JL_EXTRACT_PKG.GET_DGI_TAX_REGIME_CODE : '||substrb(SQLERRM,1,120) );
7708 END IF;
7709 END;
7710
7711 IF (g_level_procedure >= g_current_runtime_level ) THEN
7712 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_TAX_REGIME_CODE',
7713 'l_counted_trx_number :'||to_char(l_counted_trx_number));
7714 END IF;
7715
7716 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
7717 IF l_dgi_tax_regime_code_tbl.EXISTS(p_trx_line_id_tbl(i)) THEN
7718 null;
7719 ELSE
7720 l_dgi_tax_regime_code_tbl(p_trx_line_id_tbl(i)) := null;
7721 END IF;
7722 IF (g_level_procedure >= g_current_runtime_level ) THEN
7723 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_TAX_REGIME_CODE',
7724 'p_trx_id_tbl, p_trx_line_id_tbl :'||to_char(p_trx_id_tbl(i))||' '||to_char(p_trx_line_id_tbl(i)));
7725 END IF;
7726 IF l_dgi_tax_regime_code_tbl(p_trx_line_id_tbl(i)) IS NULL THEN
7727 BEGIN
7728 SELECT val.tax_attr_value_code
7729 INTO l_dgi_tax_regime_code_tbl(p_trx_line_id_tbl(i))
7730 FROM zx_lines lines,
7731 jl_zz_ar_tx_categ_all catg,
7732 jl_zz_ar_tx_att_cls_all attcls,
7733 jl_zz_ar_tx_att_val_all val
7734 WHERE catg.tax_category = P_VAT_PERCEP_TAX
7735 ANd catg.tax_category = lines.tax
7736 AND attcls.tax_attribute_value = val.tax_attribute_value
7737 AND attcls.tax_category_id = val.tax_category_id
7738 AND attcls.tax_attribute_name = val.tax_attribute_name
7739 AND val.tax_attribute_type = 'TRANSACTION_ATTRIBUTE'
7740 AND attcls.tax_category_id = catg.tax_category_id
7741 AND attcls.tax_attr_class_code = lines.global_attribute3
7742 AND lines.trx_id = p_trx_id_tbl(i)
7743 AND lines.trx_line_id = p_trx_line_id_tbl(i)
7744 AND attcls.ORG_ID = CATG.ORG_ID
7745 AND CATG.ORG_ID = VAL.ORG_ID
7746 AND lines.internal_organization_id = val.org_id
7747 AND VAL.ORG_ID = P_INTERNAL_ORG_ID_TBL(i);
7748
7749 IF (g_level_procedure >= g_current_runtime_level ) THEN
7750 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CUSTOMER_CONDITION_CODE',
7751 'l_dgi_tax_regime_code :'||l_dgi_tax_regime_code_tbl(p_trx_line_id_tbl(i)));
7752 END IF;
7753
7754 X_DGI_TAX_REGIME_CODE_TBL(i) := l_dgi_tax_regime_code_tbl(p_trx_line_id_tbl(i));
7755
7756 EXCEPTION
7757 WHEN NO_DATA_FOUND THEN
7758 X_DGI_TAX_REGIME_CODE_TBL(i) :=NULL;
7759 IF (g_level_statement>= g_current_runtime_level ) THEN
7760 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7761 'ZX_JL_EXTRACT_PKG.GET_DGI_TAX_REGIME_CODE : '||substrb(SQLERRM,1,120) );
7762 END IF;
7763 WHEN OTHERS THEN
7764 IF ( g_level_statement>= g_current_runtime_level ) THEN
7765 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7766 'ZX_JL_EXTRACT_PKG.GET_DGI_TAX_REGIME_CODE : '||substrb(SQLERRM,1,120) );
7767 END IF;
7768
7769 END;
7770
7771 ELSE
7772
7773 X_DGI_TAX_REGIME_CODE_TBL(i) := l_dgi_tax_regime_code_tbl(p_trx_line_id_tbl(i));
7774
7775 END IF;
7776
7777 END LOOP;
7778
7779 IF (g_level_procedure >= g_current_runtime_level ) THEN
7780 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_TAX_REGIME_CODE.END',
7781 'GET_DGI_TAX_REGIME_CODE(-)');
7782 END IF;
7783
7784 END GET_DGI_TAX_REGIME_CODE;
7785
7786 /*===========================================================================+
7787 | PROCEDURE |
7788 | GET_VAT_REG_STAT_CODE |
7789 | Type : Private |
7790 | Pre-req : None |
7791 | Function : |
7792 | This function returns the Customer VAT Registration Status Code |
7793 | from fnd_lookups, jl_zz_ar_tx_cus_cls and jl_zz_ar_tx_categry table to |
7794 | meet the requirement in the flat file |
7795 | |
7796 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
7797 | |
7798 | Parameters : |
7799 | IN : p_use_site_prof IN VARCHAR2 Required |
7800 | p_class_code IN VARCHAR2 Required |
7801 | p_address_id IN NUMBER Required |
7802 | p_tax_category_id IN NUMBER Required |
7803 | |
7804 | MODIFICATION HISTORY |
7805 | 07-Nov-03 Hidetaka Kojima created |
7806 | |
7807 | |
7808 +===========================================================================*/
7809
7810 PROCEDURE GET_VAT_REG_STAT_CODE
7811 (
7812 P_VAT_TAX IN VARCHAR2,
7813 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
7814 P_INTERNAL_ORG_ID_TBL IN ZX_EXTRACT_PKG.INTERNAL_ORGANIZATION_ID_TBL,
7815 P_REQUEST_ID IN NUMBER,
7816 X_VAT_REG_STAT_CODE_TBL OUT NOCOPY ATTRIBUTE8_TBL
7817 )
7818 IS
7819
7820 l_vat_reg_stat_code_tbl ATTRIBUTE8_TBL;
7821 l_counted_trx_number NUMBER;
7822 l_address_id NUMBER;
7823 l_class_code VARCHAR2(150);
7824 l_use_site_prof VARCHAR2(150);
7825 l_err_msg VARCHAR2(120);
7826
7827 BEGIN
7828
7829 IF (g_level_procedure >= g_current_runtime_level ) THEN
7830 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_REG_STAT_CODE.BEGIN',
7831 'GET_VAT_REG_STAT_CODE(+)');
7832 END IF;
7833
7834 BEGIN
7835
7836 SELECT count(distinct trx_id)
7837 INTO l_counted_trx_number
7838 FROM zx_rep_trx_detail_t
7839 WHERE request_id = p_request_id;
7840
7841 IF (g_level_procedure >= g_current_runtime_level ) THEN
7842 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_REG_STAT_CODE.BEGIN',
7843 'GET_VAT_REG_STAT_CODE : transaction count '||to_char(l_counted_trx_number));
7844 END IF;
7845
7846 EXCEPTION
7847
7848 WHEN OTHERS THEN
7849 IF ( g_level_statement>= g_current_runtime_level ) THEN
7850 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7851 'ZX_JL_EXTRACT_PKG.GET_VAT_REG_STAT_CODE : '||substrb(SQLERRM,1,120) );
7852 END IF;
7853
7854 END;
7855
7856
7857 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
7858 IF ( g_level_statement>= g_current_runtime_level ) THEN
7859 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7860 ' For Loop 0 : X_VAT_REG_STAT_CODE_TBL for i: ');
7861 END IF;
7862
7863
7864 IF l_vat_reg_stat_code_tbl.EXISTS(p_trx_id_tbl(i)) THEN
7865 null;
7866 ELSE
7867 l_vat_reg_stat_code_tbl(p_trx_id_tbl(i)) := null;
7868 END IF;
7869
7870 IF ( g_level_statement>= g_current_runtime_level ) THEN
7871 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7872 ' For Loop1 : X_VAT_REG_STAT_CODE_TBL for i: ');
7873 END IF;
7874
7875 IF l_vat_reg_stat_code_tbl(p_trx_id_tbl(i)) is null THEN
7876
7877 BEGIN
7878 IF ( g_level_statement>= g_current_runtime_level ) THEN
7879 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7880 'For Loop 1-1: l_use_site_prof : '||l_use_site_prof);
7881 END IF;
7882
7883 SELECT add1.cust_acct_site_id,
7884 add1.global_attribute8,
7885 NVL(add1.global_attribute9,'N')
7886 INTO l_address_id,
7887 l_class_code,
7888 l_use_site_prof
7889 FROM ra_customer_trx_all trx,
7890 hz_cust_accounts cust,
7891 hz_cust_acct_sites_all add1,
7892 hz_cust_site_uses_all site
7893 WHERE trx.customer_trx_id = p_trx_id_tbl(i)
7894 AND cust.cust_account_id = NVL(trx.ship_to_customer_id,trx.bill_to_customer_id)
7895 AND cust.cust_account_id = add1.cust_account_id
7896 AND site.cust_acct_site_id = add1.cust_acct_site_id
7897 AND site.site_use_id = NVL(trx.bill_to_site_use_id, ship_to_site_use_id);
7898
7899 IF ( g_level_statement>= g_current_runtime_level ) THEN
7900 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7901 'For Loop 2: l_use_site_prof : '||l_use_site_prof);
7902 END IF;
7903
7904 IF l_use_site_prof = 'Y' THEN
7905
7906 SELECT lkp.meaning
7907 INTO l_vat_reg_stat_code_tbl(p_trx_id_tbl(i))
7908 FROM jl_zz_ar_tx_cus_cls_all cls,
7909 jl_zz_ar_tx_categ_all catg,
7910 fnd_lookups lkp
7911 WHERE cls.tax_attr_class_code = l_class_code
7912 AND cls.tax_attribute_name = 'VAT CONT STATUS'
7913 AND cls.tax_category_id = catg.tax_category_id
7914 AND cls.address_id = l_address_id
7915 AND lkp.lookup_type = 'JLZZ_AR_TX_ATTR_VALUE'
7916 AND lkp.lookup_code = cls.tax_attribute_value
7917 AND cls.enabled_flag = 'Y'
7918 AND cls.org_id = catg.org_id
7919 AND cls.org_id = p_internal_org_id_tbl(i)
7920 AND catg.tax_category = p_vat_tax;
7921
7922 ELSE
7923
7924 SELECT lkp.meaning
7925 INTO l_vat_reg_stat_code_tbl(p_trx_id_tbl(i))
7926 FROM jl_zz_ar_tx_att_cls_all cls,
7927 jl_zz_ar_tx_categ_all catg,
7928 fnd_lookups lkp
7929 WHERE cls.tax_attr_class_type = 'CONTRIBUTOR_CLASS'
7930 AND cls.tax_attr_class_code = l_class_code
7931 AND cls.tax_attribute_name = 'VAT CONT STATUS'
7932 AND lkp.lookup_type = 'JLZZ_AR_TX_ATTR_VALUE'
7933 AND lkp.lookup_code = cls.tax_attribute_value
7934 AND cls.tax_attribute_type = 'CONTRIBUTOR_ATTRIBUTE'
7935 AND cls.enabled_flag = 'Y'
7936 AND cls.tax_category_id = catg.tax_category_id
7937 AND catg.tax_category = p_vat_tax
7938 AND cls.org_id = catg.org_id
7939 AND cls.org_id = p_internal_org_id_tbl(i);
7940
7941 END IF;
7942
7943
7944 X_VAT_REG_STAT_CODE_TBL(i) := l_vat_reg_stat_code_tbl(p_trx_id_tbl(i));
7945 IF ( g_level_statement>= g_current_runtime_level ) THEN
7946 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7947 'For Loop 3: X_VAT_REG_STAT_CODE_TBL for i: '||i||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_VAT_REG_STAT_CODE_TBL(i)));
7948 END IF;
7949
7950
7951 EXCEPTION
7952
7953 WHEN NO_DATA_FOUND THEN
7954 IF ( g_level_statement>= g_current_runtime_level ) THEN
7955 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7956 'ZX_JL_EXTRACT_PKG.GET_VAT_REG_STAT_CODE : No data Found ');
7957 END IF;
7958 X_VAT_REG_STAT_CODE_TBL(i) := NULL;
7959
7960 WHEN OTHERS THEN
7961 IF ( g_level_statement>= g_current_runtime_level ) THEN
7962 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7963 'ZX_JL_EXTRACT_PKG.GET_VAT_REG_STAT_CODE : '||substrb(SQLERRM,1,120) );
7964 END IF;
7965
7966 END;
7967
7968 ELSE
7969
7970 X_VAT_REG_STAT_CODE_TBL(i) := l_vat_reg_stat_code_tbl(p_trx_id_tbl(i));
7971
7972 END IF;
7973
7974 IF ( g_level_statement>= g_current_runtime_level ) THEN
7975 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
7976 ' X_VAT_REG_STAT_CODE_TBL for i: '||i||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_VAT_REG_STAT_CODE_TBL(i)));
7977 END IF;
7978
7979 END LOOP;
7980
7981 IF (g_level_procedure >= g_current_runtime_level ) THEN
7982 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_REG_STAT_CODE.END',
7983 'GET_VAT_REG_STAT_CODE(-)');
7984 END IF;
7985
7986 END get_vat_reg_stat_code;
7987
7988 /*===========================================================================+
7989 | PROCEDURE |
7990 | GET_REC_COUNT |
7991 | Type : Private |
7992 | Pre-req : None |
7993 | Function : |
7994 | This function returns the Tax Authority Code |
7995 | from jl_zz_ar_tx_categ table to meet the requirement in the flat file |
7996 | |
7997 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
7998 | |
7999 | Parameters : |
8000 | IN : p_vat_tax IN |
8001 | ZX_REP_TRX_DETAIL_T.TAX%TYPE Required |
8002 | |
8003 | MODIFICATION HISTORY |
8004 | 07-Nov-03 Hidetaka Kojima created |
8005 | |
8006 | |
8007 +===========================================================================*/
8008
8009
8010 PROCEDURE GET_REC_COUNT
8011 (
8012 P_VAT_TAX IN ZX_REP_TRX_DETAIL_T.TAX%TYPE,
8013 P_TAX_REGIME IN ZX_REP_TRX_DETAIL_T.TAX_REGIME_CODE%TYPE,
8014 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8015 P_REQUEST_ID IN NUMBER,
8016 X_REC_COUNT_TBL OUT NOCOPY NUMERIC11_TBL
8017 )
8018 IS
8019
8020 l_rec_count_tbl NUMERIC11_TBL;
8021
8022 BEGIN
8023
8024
8025 IF (g_level_procedure >= g_current_runtime_level ) THEN
8026 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_REC_COUNT.BEGIN',
8027 'GET_REC_COUNT(+)');
8028 END IF;
8029
8030 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
8031
8032 IF l_rec_count_tbl.EXISTS(p_trx_id_tbl(i)) THEN
8033 null;
8034 ELSE
8035 l_rec_count_tbl(p_trx_id_tbl(i)) := null;
8036 END IF;
8037
8038 IF l_rec_count_tbl(p_trx_id_tbl(i)) is null THEN
8039
8040 BEGIN
8041
8042 SELECT count(distinct tax_rate)
8043 INTO l_rec_count_tbl(p_trx_id_tbl(i))
8044 FROM zx_rep_trx_detail_t
8045 WHERE request_id = p_request_id
8046 AND trx_id = p_trx_id_tbl(i)
8047 AND tax_regime_code = p_tax_regime
8048 AND tax = p_vat_tax;
8049
8050 X_REC_COUNT_TBL(i) := l_rec_count_tbl(p_trx_id_tbl(i));
8051
8052 EXCEPTION
8053
8054 WHEN OTHERS THEN
8055
8056 l_rec_count_tbl(p_trx_id_tbl(i)) := 0;
8057 X_REC_COUNT_TBL(i) := l_rec_count_tbl(p_trx_id_tbl(i));
8058 null;
8059 END;
8060
8061
8062 ELSE
8063
8064 X_REC_COUNT_TBL(i) := l_rec_count_tbl(p_trx_id_tbl(i));
8065
8066 END IF;
8067
8068 END LOOP;
8069
8070 IF (g_level_procedure >= g_current_runtime_level ) THEN
8071 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_REC_COUNT.END',
8072 'GET_REC_COUNT(-)');
8073 END IF;
8074
8075 END get_rec_count;
8076
8077 /*===========================================================================+
8078 | PROCEDURE |
8079 | GET_DGI_DOC_TYPE |
8080 | Type : Private |
8081 | Pre-req : None |
8082 | Function : |
8083 | This function returns the DGI document type |
8084 | from ap_invoices_all table to meet the requirement in the flat file |
8085 | |
8086 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AP |
8087 | |
8088 | Parameters : |
8089 | IN : P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL |
8090 | |
8091 +==========================================================================*/
8092 PROCEDURE GET_DGI_DOC_TYPE
8093 (
8094 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8095 X_DGI_DOC_TYPE_TBL OUT NOCOPY ATTRIBUTE1_TBL,
8096 X_GDF_AP_INV_ATT11_TBL OUT NOCOPY GDF_AP_INV_ATT11_TBL,
8097 X_GDF_AP_INV_ATT12_TBL OUT NOCOPY GDF_AP_INV_ATT12_TBL
8098 )
8099 IS
8100
8101 l_dgi_doc_type_tbl ATTRIBUTE1_TBL;
8102 l_gdf_ap_inv_att11_tbl GDF_AP_INV_ATT11_TBL;
8103 l_gdf_ap_inv_att12_tbl GDF_AP_INV_ATT12_TBL;
8104
8105 BEGIN
8106
8107
8108 IF (g_level_procedure >= g_current_runtime_level ) THEN
8109 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_DOC_TYPE.BEGIN',
8110 'GET_DGI_DOC_TYP(+)');
8111 END IF;
8112
8113 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
8114
8115 IF l_dgi_doc_type_tbl.EXISTS(p_trx_id_tbl(i)) THEN
8116 null;
8117 ELSE
8118 l_dgi_doc_type_tbl(p_trx_id_tbl(i)) := null;
8119 END IF;
8120
8121 IF l_dgi_doc_type_tbl(p_trx_id_tbl(i)) is null THEN
8122
8123 BEGIN
8124
8125 SELECT global_attribute11,
8126 global_attribute12,
8127 global_attribute13
8128 INTO l_gdf_ap_inv_att11_tbl(p_trx_id_tbl(i)),
8129 l_gdf_ap_inv_att12_tbl(p_trx_id_tbl(i)),
8130 l_dgi_doc_type_tbl(p_trx_id_tbl(i))
8131 FROM ap_invoices_all
8132 WHERE invoice_id = p_trx_id_tbl(i);
8133
8134 X_GDF_AP_INV_ATT11_TBL(i) := l_gdf_ap_inv_att11_tbl(p_trx_id_tbl(i));
8135 X_GDF_AP_INV_ATT12_TBL(i) := l_gdf_ap_inv_att12_tbl(p_trx_id_tbl(i));
8136 X_DGI_DOC_TYPE_TBL(i) := l_dgi_doc_type_tbl(p_trx_id_tbl(i));
8137
8138 EXCEPTION
8139 WHEN OTHERS THEN
8140 l_dgi_doc_type_tbl(p_trx_id_tbl(i)) := '0';
8141 l_gdf_ap_inv_att11_tbl(p_trx_id_tbl(i)) := NULL;
8142 l_gdf_ap_inv_att11_tbl(p_trx_id_tbl(i)) := NULL;
8143 X_GDF_AP_INV_ATT11_TBL(i) := l_gdf_ap_inv_att11_tbl(p_trx_id_tbl(i));
8144 X_GDF_AP_INV_ATT12_TBL(i) := l_gdf_ap_inv_att12_tbl(p_trx_id_tbl(i));
8145 X_DGI_DOC_TYPE_TBL(i) := l_dgi_doc_type_tbl(p_trx_id_tbl(i));
8146 NULL;
8147 END;
8148
8149
8150 ELSE
8151
8152 X_GDF_AP_INV_ATT11_TBL(i) := l_gdf_ap_inv_att11_tbl(p_trx_id_tbl(i));
8153 X_GDF_AP_INV_ATT12_TBL(i) := l_gdf_ap_inv_att12_tbl(p_trx_id_tbl(i));
8154 X_DGI_DOC_TYPE_TBL(i) := l_dgi_doc_type_tbl(p_trx_id_tbl(i));
8155
8156 END IF;
8157
8158 END LOOP;
8159
8160 IF (g_level_procedure >= g_current_runtime_level ) THEN
8161 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_DGI_DOC_TYPE.END',
8162 'GET_DGI_DOC_TYPE(-)');
8163 END IF;
8164
8165 END GET_DGI_DOC_TYPE;
8166
8167
8168 PROCEDURE UPDATE_DGI_CURR_CODE
8169 (
8170 P_REQUEST_ID IN NUMBER
8171 )
8172 IS
8173 BEGIN
8174 IF (g_level_procedure >= g_current_runtime_level ) THEN
8175 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.UPDATE_DGI_CURR_CODE.END',
8176 'UPDATE_DGI_CURR_CODE(+)');
8177 END IF;
8178
8179 UPDATE zx_rep_trx_detail_t dtl
8180 SET gdf_fnd_currencies_att1= (SELECT global_attribute1
8181 FROM fnd_currencies
8182 WHERE currency_code = dtl.trx_currency_code)
8183 WHERE request_id = p_request_id;
8184
8185 IF (g_level_procedure >= g_current_runtime_level ) THEN
8186 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.UPDATE_DGI_CURR_CODE.END',
8187 'UPDATE_DGI_CURR_CODE(-)');
8188 END IF;
8189
8190 END;
8191
8192
8193 /*===========================================================================+
8194 | PROCEDURE |
8195 | GET_VAT_NONVAT_RATE_COUNT |
8196 | Type : Private |
8197 | Pre-req : None |
8198 | Function : |
8199 | This function returns the Tax Authority Code |
8200 | from jl_zz_ar_tx_categ table to meet the requirement in the flat file |
8201 | |
8202 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
8203 | |
8204 | Parameters : |
8205 | IN : p_vat_tax IN |
8206 | ZX_REP_TRX_DETAIL_T.TAX%TYPE Required |
8207 | |
8208 | MODIFICATION HISTORY |
8209 | 07-Nov-03 Hidetaka Kojima created |
8210 | |
8211 | |
8212 +===========================================================================*/
8213
8214
8215 PROCEDURE GET_VAT_NONVAT_RATE_COUNT
8216 (
8217 P_VAT_TAX IN ZX_REP_TRX_DETAIL_T.TAX%TYPE,
8218 P_VAT_NON_TAX IN ZX_REP_TRX_DETAIL_T.TAX%TYPE,
8219 P_TAX_REGIME IN ZX_REP_TRX_DETAIL_T.TAX_REGIME_CODE%TYPE,
8220 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8221 P_REQUEST_ID IN NUMBER,
8222 X_RATE_COUNT_TBL OUT NOCOPY NUMERIC13_TBL
8223 )
8224 IS
8225
8226 l_rate_count_tbl NUMERIC13_TBL;
8227
8228 BEGIN
8229
8230
8231 IF (g_level_procedure >= g_current_runtime_level ) THEN
8232 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_NONVAT_RATE_COUNT.BEGIN',
8233 'GET_VAT_NONVAT_RATE_COUNT(+)');
8234 END IF;
8235
8236 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
8237
8238 IF l_rate_count_tbl.EXISTS(p_trx_id_tbl(i)) THEN
8239 null;
8240 ELSE
8241 l_rate_count_tbl(p_trx_id_tbl(i)) := null;
8242 END IF;
8243
8244 IF l_rate_count_tbl(p_trx_id_tbl(i)) is null THEN
8245
8246 BEGIN
8247
8248 SELECT count(distinct t1.tax_rate)
8249 INTO l_rate_count_tbl(p_trx_id_tbl(i))
8250 FROM zx_rep_trx_detail_t t1
8251 WHERE t1.request_id = p_request_id
8252 AND t1.trx_id = p_trx_id_tbl(i)
8253 AND NVL(t1.TAX_TYPE_CODE, 'VAT') = 'VAT'
8254 AND tax_regime_code = p_tax_regime
8255 AND tax in (p_vat_tax, p_vat_non_tax)
8256 AND EXISTS ( SELECT 1
8257 FROM zx_rep_trx_detail_t t2
8258 WHERE t2.request_id = p_request_id
8259 AND t2.trx_id = t1.trx_id
8260 AND t2.tax_rate = 0
8261 AND t2.tax_regime_code = p_tax_regime
8262 AND t2.tax = p_vat_non_tax);
8263
8264 X_RATE_COUNT_TBL(i) := l_rate_count_tbl(p_trx_id_tbl(i));
8265
8266 EXCEPTION
8267
8268 WHEN OTHERS THEN
8269
8270 l_rate_count_tbl(p_trx_id_tbl(i)) := 1;
8271 X_RATE_COUNT_TBL(i) := l_rate_count_tbl(p_trx_id_tbl(i));
8272 null;
8273 END;
8274
8275
8276 ELSE
8277
8278 X_RATE_COUNT_TBL(i) := l_rate_count_tbl(p_trx_id_tbl(i));
8279
8280 END IF;
8281
8282 END LOOP;
8283
8284 IF (g_level_procedure >= g_current_runtime_level ) THEN
8285 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_VAT_NONVAT_RATE_COUNT.END',
8286 'GET_VAT_NONVAT_RATE_COUNT(-)');
8287 END IF;
8288
8289 END get_vat_nonvat_rate_count;
8290
8291 /*===========================================================================+
8292 | PROCEDURE |
8293 | GET_TOTAL_DOCUMENT_AMOUNT |
8294 | Type : Private |
8295 | Pre-req : None |
8296 | Function : |
8297 | This function returns the Tax Authority Code |
8298 | from jl_zz_ar_tx_categ table to meet the requirement in the flat file |
8299 | |
8300 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
8301 | |
8302 | Parameters : |
8303 | IN : p_trx_id_tbl IN ZX_EXTRACT_PKG.TRX_ID_TBL Required |
8304 | |
8305 | MODIFICATION HISTORY |
8306 | 07-Nov-03 Hidetaka Kojima created |
8307 | |
8308 | |
8309 +===========================================================================*/
8310
8311
8312 PROCEDURE GET_TOTAL_DOCUMENT_AMOUNT
8313 (
8314 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8315 P_EXCHANGE_RATE_TBL IN ZX_EXTRACT_PKG.CURRENCY_CONVERSION_RATE_TBL,
8316 P_REPORT_NAME IN VARCHAR2,
8317 X_TOTAL_DOC_AMT_TBL OUT NOCOPY NUMERIC12_TBL
8318 )
8319 IS
8320
8321 l_total_doc_amt_tbl NUMERIC12_TBL;
8322 l_gdf_ra_cust_trx_att19_tbl GDF_RA_CUST_TRX_ATT19_TBL;
8323
8324 BEGIN
8325
8326 IF (g_level_procedure >= g_current_runtime_level ) THEN
8327 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT.BEGIN',
8328 'GET_TOTAL_DOCUMENT_AMOUNT(+)');
8329 END IF;
8330
8331
8332
8333 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
8334 --Bug 5396444
8335 IF (g_level_statement >= g_current_runtime_level ) THEN
8336 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT',
8337 'i :'||i);
8338 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT',
8339 'trx_id :'||P_TRX_ID_TBL(i));
8340 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT',
8341 'P_EXCHANGE_RATE_TBL :'||P_EXCHANGE_RATE_TBL(i));
8342 END IF;
8343
8344 IF l_total_doc_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
8345 null;
8346 ELSE
8347 l_total_doc_amt_tbl(p_trx_id_tbl(i)) := NULL;
8348 END IF;
8349
8350 IF l_total_doc_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
8351
8352 IF P_REPORT_NAME = 'JLARTPFF' THEN
8353
8354 SELECT abs(sum(nvl(extended_amount,0) * nvl(p_exchange_rate_tbl(i),1)))
8355 INTO l_total_doc_amt_tbl(p_trx_id_tbl(i))
8356 FROM ra_customer_trx_lines
8357 WHERE customer_trx_id = p_trx_id_tbl(i);
8358
8359 ELSIF P_REPORT_NAME = 'ZXCOARSB' THEN -- : Total Doc Amt.
8360
8361 SELECT (SUM(DECODE(ctl.line_type,'LINE', NVL(ctl.extended_amount,0),0))
8362 + SUM(DECODE(ctl.line_type,'FREIGHT',NVL(ctl.extended_amount,0),0))
8363 + SUM(DECODE(ctl.line_type,'CHARGE',NVL(ctl.extended_amount,0),0)))-- * p_exchange_rate_tbl(i)
8364 INTO l_total_doc_amt_tbl(p_trx_id_tbl(i))
8365 FROM ra_customer_trx_lines_all ctl --Bug 5396444
8366 WHERE ctl.customer_trx_id = p_trx_id_tbl(i);
8367
8368 ELSIF P_REPORT_NAME = 'ZXZZTVSR' THEN
8369
8370 SELECT (nvl(SUM(NVL(L.GROSS_EXTENDED_AMOUNT, nvl(L.EXTENDED_AMOUNT,0))),0) * p_exchange_rate_tbl(i))
8371 INTO l_total_doc_amt_tbl(p_trx_id_tbl(i))
8372 FROM RA_CUSTOMER_TRX_LINES L
8373 WHERE L.CUSTOMER_TRX_ID = p_trx_id_tbl(i);
8374
8375 ELSIF P_REPORT_NAME in ('JLARTSFF','JLARTDFF') THEN
8376
8377 IF ( g_level_statement>= g_current_runtime_level ) THEN
8378 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
8379 'ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT : att19 '||P_REPORT_NAME);
8380 END IF;
8381
8382
8383 IF l_gdf_ra_cust_trx_att19_tbl.EXISTS(p_trx_id_tbl(i)) THEN
8384 null;
8385 ELSE
8386 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) := null;
8387 END IF;
8388
8389 IF ( l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'IS_NULL' and
8390 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) <> 'NOT_NULL' ) OR
8391 l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) IS NULL THEN
8392
8393 BEGIN
8394
8395 SELECT decode(global_attribute19,NULL,'IS_NULL','NOT_NULL')
8396 INTO l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i))
8397 FROM ra_customer_trx_all
8398 WHERE customer_trx_id = p_trx_id_tbl(i);
8399
8400 IF ( g_level_statement>= g_current_runtime_level ) THEN
8401 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
8402 'ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT : att19 '||l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)));
8403 END IF;
8404
8405 EXCEPTION
8406 WHEN OTHERS THEN
8407 IF ( g_level_statement>= g_current_runtime_level ) THEN
8408 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
8409 'ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT : '||substrb(SQLERRM,1,120) );
8410 END IF;
8411 END;
8412
8413 END IF;
8414
8415 IF l_gdf_ra_cust_trx_att19_tbl(p_trx_id_tbl(i)) = 'IS_NULL' THEN
8416
8417 IF P_REPORT_NAME= 'JLARTDFF' THEN
8418
8419 SELECT nvl(SUM(abs(NVL(GROSS_EXTENDED_AMOUNT, nvl(EXTENDED_AMOUNT,0)))),0)
8420 INTO l_total_doc_amt_tbl(p_trx_id_tbl(i))
8421 FROM ra_customer_trx_lines
8422 WHERE customer_trx_id = p_trx_id_tbl(i);
8423
8424 ELSIF P_REPORT_NAME = 'JLARTSFF' THEN
8425
8426 IF ( g_level_statement>= g_current_runtime_level ) THEN
8427 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
8428 'ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT : exchange rate : '||to_char(p_exchange_rate_tbl(i)));
8429 END IF;
8430
8431 SELECT (nvl(SUM(NVL(L.GROSS_EXTENDED_AMOUNT, nvl(L.EXTENDED_AMOUNT,0))),0)
8432 * nvl(p_exchange_rate_tbl(i),1))
8433 INTO l_total_doc_amt_tbl(p_trx_id_tbl(i))
8434 FROM RA_CUSTOMER_TRX_LINES L
8435 WHERE L.CUSTOMER_TRX_ID = p_trx_id_tbl(i);
8436 END IF;
8437
8438 ELSE
8439 l_total_doc_amt_tbl(p_trx_id_tbl(i)) := 0;
8440 END IF;
8441
8442 ELSIF P_REPORT_NAME = 'JLARPPFF' THEN
8443
8444 SELECT abs(nvl(SUM(NVL(aid.base_amount, aid.amount)),0))
8445 INTO l_total_doc_amt_tbl(p_trx_id_tbl(i))
8446 FROM ap_invoice_distributions aid
8447 WHERE aid.invoice_id = p_trx_id_tbl(i)
8448 AND aid.line_type_lookup_code <> 'AWT';
8449 END IF;
8450
8451 X_TOTAL_DOC_AMT_TBL(i) := l_total_doc_amt_tbl(p_trx_id_tbl(i));
8452
8453 ELSE
8454
8455 -- X_TOTAL_DOC_AMT_TBL(i) := l_total_doc_amt_tbl(p_trx_id_tbl(i));
8456 X_TOTAL_DOC_AMT_TBL(i) := 0;
8457
8458 END IF;
8459
8460
8461 IF ( g_level_statement>= g_current_runtime_level ) THEN
8462 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
8463 ' X_TOTAL_DOC_AMT_TBL for Report Name : '||p_report_name ||' i: '||i||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_TOTAL_DOC_AMT_TBL(i)));
8464 END IF;
8465
8466 END LOOP;
8467 IF (g_level_procedure >= g_current_runtime_level ) THEN
8468 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TOTAL_DOCUMENT_AMOUNT.END',
8469 'GET_TOTAL_DOCUMENT_AMOUNT(-)');
8470 END IF;
8471
8472 END GET_TOTAL_DOCUMENT_AMOUNT;
8473
8474
8475
8476 PROCEDURE DGI_TRX_CODE
8477 (
8478 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8479 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
8480 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.tax_rate_id_tbl,
8481 X_DGI_TRX_CODE_TBL OUT NOCOPY ATTRIBUTE4_TBL
8482 ) IS
8483
8484
8485 l_dgi_trx_code_tbl ATTRIBUTE4_TBL;
8486 l_err_msg VARCHAR2(120);
8487
8488
8489
8490 BEGIN
8491 IF (g_level_procedure >= g_current_runtime_level ) THEN
8492 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE.BEGIN',
8493 'DGI_TRX_CODE(+)');
8494 END IF;
8495
8496 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
8497
8498 IF ( g_level_statement>= g_current_runtime_level ) THEN
8499 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8500 'P_TAX_RATE_ID_TBL: '||to_char(P_TAX_RATE_ID_TBL(i)));
8501 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8502 'P_TAX_REGIME_CODE_TBL : '||P_TAX_REGIME_CODE_TBL(i));
8503 END IF;
8504
8505 IF l_dgi_trx_code_tbl.EXISTS(p_tax_rate_id_tbl(i)) THEN
8506 NULL;
8507 ELSE
8508 l_dgi_trx_code_tbl(p_tax_rate_id_tbl(i)) := null;
8509 END IF;
8510
8511 IF l_dgi_trx_code_tbl(p_tax_rate_id_tbl(i)) IS NULL THEN
8512 BEGIN
8513 SELECT rep_ass.reporting_code_char_value
8514 INTO l_dgi_trx_code_tbl(p_tax_rate_id_tbl(i))
8515 FROM zx_reporting_types_b rep_type,
8516 zx_report_codes_assoc rep_ass
8517 WHERE rep_type.reporting_type_code = 'AR_DGI_TRX_CODE'
8518 AND rep_ass.reporting_type_id = rep_type.reporting_type_id
8519 AND rep_ass.entity_code = 'ZX_RATES'
8520 AND rep_ass.entity_id =P_TAX_RATE_ID_TBL(i)
8521 AND rep_type.tax_regime_code =P_TAX_REGIME_CODE_TBL(i);
8522
8523
8524 EXCEPTION
8525 WHEN NO_DATA_FOUND THEN
8526 IF (g_level_procedure >= g_current_runtime_level ) THEN
8527 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8528 'NO_DATA_FOUND : '||to_char(i));
8529 END IF;
8530 X_DGI_TRX_CODE_TBL(i) := NULL;
8531 --X_DGI_TRX_CODE_TBL(i) := 'T';
8532 END;
8533
8534 IF l_dgi_trx_code_tbl(p_tax_rate_id_tbl(i)) IS NULL THEN
8535 X_DGI_TRX_CODE_TBL(i) := NULL;
8536 --X_DGI_TRX_CODE_TBL(i) := 'T';
8537 ELSE
8538 X_DGI_TRX_CODE_TBL(i) := l_dgi_trx_code_tbl(p_tax_rate_id_tbl(i));
8539 END IF;
8540 ELSE
8541 X_DGI_TRX_CODE_TBL(i) := l_dgi_trx_code_tbl(p_tax_rate_id_tbl(i));
8542 END IF;
8543 IF (g_level_procedure >= g_current_runtime_level ) THEN
8544 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8545 'l_dgi_trx_code_tbl : '||to_char(i) ||':'|| X_DGI_TRX_CODE_TBL(i));
8546 END IF;
8547 END LOOP;
8548
8549 IF (g_level_procedure >= g_current_runtime_level ) THEN
8550 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE.END',
8551 'DGI_TRX_CODE(-)');
8552 END IF;
8553
8554
8555 EXCEPTION
8556 WHEN NO_DATA_FOUND THEN
8557 IF ( g_level_statement>= g_current_runtime_level ) THEN
8558 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8559 'ZX_JL_EXTRACT_PKG.DGI_TRX_CODE : '||substrb(SQLERRM,1,120) );
8560 END IF;
8561
8562 WHEN OTHERS THEN
8563
8564 IF ( g_level_statement>= g_current_runtime_level ) THEN
8565 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8566 'ZX_JL_EXTRACT_PKG.DGI_TRX_CODE : '||substrb(SQLERRM,1,120) );
8567 END IF;
8568
8569 END DGI_TRX_CODE;
8570
8571
8572 PROCEDURE GET_TAX_AUTH_CATEG
8573 (
8574 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8575 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
8576 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.tax_rate_id_tbl,
8577 X_TAX_AUTH_CATEG_TBL OUT NOCOPY ATTRIBUTE10_TBL
8578 ) IS
8579
8580
8581 l_tax_auth_categ_tbl ATTRIBUTE10_TBL;
8582 l_err_msg VARCHAR2(120);
8583
8584
8585
8586 BEGIN
8587 IF (g_level_procedure >= g_current_runtime_level ) THEN
8588 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAX_AUTH_CATEG.BEGIN',
8589 'GET_TAX_AUTH_CATEG(+)');
8590 END IF;
8591
8592 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
8593
8594 IF ( g_level_statement>= g_current_runtime_level ) THEN
8595 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8596 'P_TAX_RATE_ID_TBL: '||to_char(P_TAX_RATE_ID_TBL(i)));
8597 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8598 'P_TAX_REGIME_CODE_TBL : '||P_TAX_REGIME_CODE_TBL(i));
8599 END IF;
8600
8601 IF l_tax_auth_categ_tbl.EXISTS(p_tax_rate_id_tbl(i)) THEN
8602 NULL;
8603 ELSE
8604 l_tax_auth_categ_tbl(p_tax_rate_id_tbl(i)) := null;
8605 END IF;
8606
8607 IF l_tax_auth_categ_tbl(p_tax_rate_id_tbl(i)) IS NULL THEN
8608 BEGIN
8609 SELECT rep_ass.reporting_code_char_value
8610 INTO l_tax_auth_categ_tbl(p_tax_rate_id_tbl(i))
8611 FROM zx_reporting_types_b rep_type,
8612 zx_report_codes_assoc rep_ass
8613 WHERE rep_type.reporting_type_code = 'AR_TAX_AUTHORITY_CATEG'
8614 AND rep_ass.reporting_type_id = rep_type.reporting_type_id
8615 AND rep_ass.entity_code = 'ZX_RATES'
8616 AND rep_ass.entity_id =P_TAX_RATE_ID_TBL(i)
8617 AND rep_type.tax_regime_code =P_TAX_REGIME_CODE_TBL(i);
8618
8619
8620 EXCEPTION
8621 WHEN NO_DATA_FOUND THEN
8622 X_TAX_AUTH_CATEG_TBL(i) := NULL;
8623
8624 END;
8625
8626 IF l_tax_auth_categ_tbl(p_tax_rate_id_tbl(i)) IS NULL THEN
8627 X_TAX_AUTH_CATEG_TBL(i) := NULL;
8628 ELSE
8629 X_TAX_AUTH_CATEG_TBL(i) := l_tax_auth_categ_tbl(p_tax_rate_id_tbl(i));
8630 END IF;
8631 END IF;
8632 END LOOP;
8633
8634 IF (g_level_procedure >= g_current_runtime_level ) THEN
8635 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAX_AUTH_CATEG.END',
8636 'GET_TAX_AUTH_CATEG(-)');
8637 END IF;
8638
8639
8640 EXCEPTION
8641 WHEN NO_DATA_FOUND THEN
8642 IF ( g_level_statement>= g_current_runtime_level ) THEN
8643 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAX_AUTH_CATEG',
8644 'ZX_JL_EXTRACT_PKG.GET_TAX_AUTH_CATEG : '||substrb(SQLERRM,1,120) );
8645 END IF;
8646
8647 WHEN OTHERS THEN
8648 IF ( g_level_statement>= g_current_runtime_level ) THEN
8649 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAX_AUTH_CATEG',
8650 'ZX_JL_EXTRACT_PKG.GET_TAX_AUTH_CATEG : '||substrb(SQLERRM,1,120) );
8651 END IF;
8652
8653 END GET_TAX_AUTH_CATEG;
8654
8655
8656 PROCEDURE PROV_JURISDICTION_CODE
8657 (
8658 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8659 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
8660 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.tax_rate_id_tbl,
8661 X_PROV_JURIS_CODE_TBL OUT NOCOPY ATTRIBUTE1_TBL
8662 ) IS
8663
8664 l_prov_juris_code_tbl ATTRIBUTE1_TBL;
8665 l_err_msg VARCHAR2(120);
8666
8667
8668
8669 BEGIN
8670 IF (g_level_procedure >= g_current_runtime_level ) THEN
8671 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.PROV_JURISDICTION_CODE.BEGIN',
8672 'PROV_JURISDICTION_CODE(+)');
8673 END IF;
8674
8675 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
8676
8677 IF ( g_level_statement>= g_current_runtime_level ) THEN
8678 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8679 'P_TAX_RATE_ID_TBL: '||to_char(P_TAX_RATE_ID_TBL(i)));
8680 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8681 'P_TAX_REGIME_CODE_TBL : '||P_TAX_REGIME_CODE_TBL(i));
8682 END IF;
8683
8684 IF l_prov_juris_code_tbl.EXISTS(p_tax_rate_id_tbl(i)) THEN
8685 X_PROV_JURIS_CODE_TBL(i) := l_prov_juris_code_tbl(p_tax_rate_id_tbl(i));
8686 IF ( g_level_statement>= g_current_runtime_level ) THEN
8687 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8688 'P_TRX_ID_TBL: Not NULL '||to_char(P_TRX_ID_TBL(i))||'-'||to_char(i));
8689 END IF;
8690 IF ( g_level_statement>= g_current_runtime_level ) THEN
8691 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8692 'X_PROV_JURIS_CODE_TBL: '||l_prov_juris_code_tbl(p_tax_rate_id_tbl(i)));
8693 END IF;
8694
8695 NULL;
8696 ELSE
8697 l_prov_juris_code_tbl(p_tax_rate_id_tbl(i)) := null;
8698 IF ( g_level_statement>= g_current_runtime_level ) THEN
8699 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8700 'P_TRX_ID_TBL: NULL assign '||to_char(P_TRX_ID_TBL(i))||'-'||to_char(i));
8701 END IF;
8702 END IF;
8703
8704 IF l_prov_juris_code_tbl(p_tax_rate_id_tbl(i)) IS NULL THEN
8705 BEGIN
8706 /* SELECT rep_ass.reporting_code_char_value
8707 INTO l_prov_juris_code_tbl(p_tax_rate_id_tbl(i))
8708 FROM zx_reporting_types_b rep_type,
8709 zx_report_codes_assoc rep_ass
8710 WHERE rep_type.reporting_type_code = 'AR_TURN_OVER_JUR_CODE'
8711 AND rep_ass.reporting_type_id = rep_type.reporting_type_id
8712 AND rep_ass.entity_code = 'ZX_RATES'
8713 AND rep_ass.entity_id =P_TAX_RATE_ID_TBL(i)
8714 AND rep_type.tax_regime_code =P_TAX_REGIME_CODE_TBL(i);
8715
8716 IF ( g_level_statement>= g_current_runtime_level ) THEN
8717 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8718 'X_PROV_JURIS_CODE_TBL: '||l_prov_juris_code_tbl(p_tax_rate_id_tbl(i)));
8719 END IF;
8720
8721 EXCEPTION
8722 WHEN NO_DATA_FOUND THEN
8723 X_PROV_JURIS_CODE_TBL(i) := NULL; */
8724 SELECT global_attribute5
8725 INTO l_prov_juris_code_tbl(p_tax_rate_id_tbl(i))
8726 FROM ar_vat_tax_all
8727 WHERE VAT_TAX_ID = P_TAX_RATE_ID_TBL(i);
8728
8729 X_PROV_JURIS_CODE_TBL(i) := l_prov_juris_code_tbl(p_tax_rate_id_tbl(i));
8730
8731 IF ( g_level_statement>= g_current_runtime_level ) THEN
8732 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8733 'X_PROV_JURIS_CODE_TBL: '||X_PROV_JURIS_CODE_TBL(i));
8734 END IF;
8735
8736 END;
8737
8738 -- IF l_prov_juris_code_tbl(p_tax_rate_id_tbl(i)) IS NULL THEN
8739 -- X_PROV_JURIS_CODE_TBL(i) := NULL;
8740 -- ELSE
8741 X_PROV_JURIS_CODE_TBL(i) := l_prov_juris_code_tbl(p_tax_rate_id_tbl(i));
8742 END IF;
8743 --END IF;
8744 END LOOP;
8745
8746 IF (g_level_procedure >= g_current_runtime_level ) THEN
8747 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.PROV_JURISDICTION_CODE.END',
8748 'PROV_JURISDICTION_CODE(-)');
8749 END IF;
8750
8751
8752 EXCEPTION
8753 WHEN NO_DATA_FOUND THEN
8754 IF ( g_level_statement>= g_current_runtime_level ) THEN
8755 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.PROV_JURISDICTION_CODE',
8756 'ZX_JL_EXTRACT_PKG.PROV_JURISDICTION_CODE : '||substrb(SQLERRM,1,120) );
8757 END IF;
8758
8759 WHEN OTHERS THEN
8760 IF ( g_level_statement>= g_current_runtime_level ) THEN
8761 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.PROV_JURISDICTION_CODE',
8762 'ZX_JL_EXTRACT_PKG.PROV_JURISDICTION_CODE : '||substrb(SQLERRM,1,120) );
8763 END IF;
8764
8765 END PROV_JURISDICTION_CODE;
8766
8767
8768 PROCEDURE MUN_JURISDICTION_CODE
8769 (
8770 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8771 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
8772 P_TAX_RATE_ID_TBL IN ZX_EXTRACT_PKG.tax_rate_id_tbl,
8773 X_MUN_JURIS_CODE_TBL OUT NOCOPY ATTRIBUTE3_TBL
8774 ) IS
8775
8776
8777 l_mun_juris_code_tbl ATTRIBUTE3_TBL;
8778 l_err_msg VARCHAR2(120);
8779
8780
8781
8782 BEGIN
8783 IF (g_level_procedure >= g_current_runtime_level ) THEN
8784 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE.BEGIN',
8785 'MUN_JURISDICTION_CODE(+)');
8786 END IF;
8787
8788 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
8789
8790 IF ( g_level_statement>= g_current_runtime_level ) THEN
8791 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8792 'P_TAX_RATE_ID_TBL: '||to_char(P_TAX_RATE_ID_TBL(i)));
8793 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.DGI_TRX_CODE',
8794 'P_TAX_REGIME_CODE_TBL : '||P_TAX_REGIME_CODE_TBL(i));
8795 END IF;
8796
8797 IF l_mun_juris_code_tbl.EXISTS(p_tax_rate_id_tbl(i)) THEN
8798 X_MUN_JURIS_CODE_TBL(i) := l_mun_juris_code_tbl(p_tax_rate_id_tbl(i));
8799 NULL;
8800 ELSE
8801 l_mun_juris_code_tbl(p_tax_rate_id_tbl(i)) := null;
8802 END IF;
8803
8804 IF l_mun_juris_code_tbl(p_tax_rate_id_tbl(i)) IS NULL THEN
8805 BEGIN
8806 /* SELECT rep_ass.reporting_code_char_value
8807 INTO l_mun_juris_code_tbl(p_tax_rate_id_tbl(i))
8808 FROM zx_reporting_types_b rep_type,
8809 zx_report_codes_assoc rep_ass
8810 WHERE rep_type.reporting_type_code = 'AR_MUNICIPAL_JUR'
8811 AND rep_ass.reporting_type_id = rep_type.reporting_type_id
8812 AND rep_ass.entity_code = 'ZX_RATES'
8813 AND rep_ass.entity_id =P_TAX_RATE_ID_TBL(i)
8814 AND rep_type.tax_regime_code =P_TAX_REGIME_CODE_TBL(i);
8815
8816
8817 IF ( g_level_statement>= g_current_runtime_level ) THEN
8818 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE',
8819 'Reporting Types : X_MUN_JURIS_CODE_TBL: '||l_mun_juris_code_tbl(p_tax_rate_id_tbl(i)));
8820 END IF;
8821
8822 EXCEPTION
8823 WHEN NO_DATA_FOUND THEN
8824 X_MUN_JURIS_CODE_TBL(i) := NULL; */
8825
8826 SELECT global_attribute6
8827 INTO l_mun_juris_code_tbl(p_tax_rate_id_tbl(i))
8828 FROM ar_vat_tax_all
8829 WHERE VAT_TAX_ID = P_TAX_RATE_ID_TBL(i);
8830
8831 IF ( g_level_statement>= g_current_runtime_level ) THEN
8832 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE',
8833 'Exception : X_MUN_JURIS_CODE_TBL: '||l_mun_juris_code_tbl(p_tax_rate_id_tbl(i)));
8834 END IF;
8835 X_MUN_JURIS_CODE_TBL(i) := l_mun_juris_code_tbl(p_tax_rate_id_tbl(i));
8836
8837 END;
8838
8839 -- IF l_mun_juris_code_tbl(p_tax_rate_id_tbl(i)) IS NULL THEN
8840 -- X_MUN_JURIS_CODE_TBL(i) := NULL;
8841 -- ELSE
8842 X_MUN_JURIS_CODE_TBL(i) := l_mun_juris_code_tbl(p_tax_rate_id_tbl(i));
8843 END IF;
8844 IF ( g_level_statement>= g_current_runtime_level ) THEN
8845 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE',
8846 'X_MUN_JURIS_CODE_TBL: '||X_MUN_JURIS_CODE_TBL(i));
8847 END IF;
8848
8849 --END IF;
8850 END LOOP;
8851
8852 IF (g_level_procedure >= g_current_runtime_level ) THEN
8853 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE.END',
8854 'MUN_JURISDICTION_CODE(-)');
8855 END IF;
8856
8857
8858 EXCEPTION
8859 WHEN NO_DATA_FOUND THEN
8860 IF ( g_level_statement>= g_current_runtime_level ) THEN
8861 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE',
8862 'ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE : '||substrb(SQLERRM,1,120) );
8863 END IF;
8864
8865 WHEN OTHERS THEN
8866 IF ( g_level_statement>= g_current_runtime_level ) THEN
8867 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE',
8868 'ZX_JL_EXTRACT_PKG.MUN_JURISDICTION_CODE : '||substrb(SQLERRM,1,120) );
8869 END IF;
8870
8871 END MUN_JURISDICTION_CODE;
8872
8873 /*
8874 PROCEDURE GET_CAI_NUM
8875 (
8876 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8877 P_REPORT_NAME IN VARCHAR2,
8878 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
8879 P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
8880 P_BILL_FROM_SITE_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
8881 X_CAI_NUMBER_TBL OUT NOCOPY ATTRIBUTE19_TBL,
8882 X_CAI_DUE_DATE_TBL OUT NOCOPY ATTRIBUTE23_TBL
8883 ) IS
8884
8885
8886 l_cai_num_tbl ATTRIBUTE19_TBL;
8887 l_cai_due_date_tbl ATTRIBUTE23_TBL;
8888 l_rep_cai_num_tbl ATTRIBUTE19_TBL;
8889 l_err_msg VARCHAR2(120);
8890
8891
8892 PROCEDURE GET_CAI_NUM
8893 PROCEDURE GET_CAI_NUM
8894 (
8895 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8896 P_REPORT_NAME IN VARCHAR2,
8897 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
8898 P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
8899 P_BILL_FROM_SITE_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
8900 X_CAI_NUMBER_TBL OUT NOCOPY ATTRIBUTE19_TBL,
8901 X_CAI_DUE_DATE_TBL OUT NOCOPY ATTRIBUTE23_TBL
8902 ) IS
8903
8904
8905 l_cai_num_tbl ATTRIBUTE19_TBL;
8906 l_cai_due_date_tbl ATTRIBUTE23_TBL;
8907 l_rep_cai_num_tbl ATTRIBUTE19_TBL;
8908 l_err_msg VARCHAR2(120);
8909
8910
8911 PROCEDURE GET_CAI_NUM
8912 PROCEDURE GET_CAI_NUM
8913 (
8914 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8915 P_REPORT_NAME IN VARCHAR2,
8916 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
8917 P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
8918 P_BILL_FROM_SITE_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
8919 X_CAI_NUMBER_TBL OUT NOCOPY ATTRIBUTE19_TBL,
8920 X_CAI_DUE_DATE_TBL OUT NOCOPY ATTRIBUTE23_TBL
8921 ) IS
8922
8923
8924 l_cai_num_tbl ATTRIBUTE19_TBL;
8925 l_cai_due_date_tbl ATTRIBUTE23_TBL;
8926 l_rep_cai_num_tbl ATTRIBUTE19_TBL;
8927 l_err_msg VARCHAR2(120);
8928 */
8929
8930 PROCEDURE GET_CAI_NUM
8931 (
8932 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
8933 P_REPORT_NAME IN VARCHAR2,
8934 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
8935 P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
8936 P_BILL_FROM_SITE_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
8937 X_CAI_NUMBER_TBL OUT NOCOPY ATTRIBUTE19_TBL,
8938 X_CAI_DUE_DATE_TBL OUT NOCOPY ATTRIBUTE23_TBL
8939 ) IS
8940
8941
8942 l_cai_num_tbl ATTRIBUTE19_TBL;
8943 l_cai_due_date_tbl ATTRIBUTE23_TBL;
8944 l_rep_cai_num_tbl ATTRIBUTE19_TBL;
8945 l_err_msg VARCHAR2(120);
8946
8947
8948
8949 BEGIN
8950 IF (g_level_procedure >= g_current_runtime_level ) THEN
8951 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM.BEGIN',
8952 'GET_CAI_NUM(+)');
8953 END IF;
8954
8955 IF P_REPORT_NAME = 'JLARPPFF' THEN
8956 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
8957
8958 /* IF ( g_level_statement>= g_current_runtime_level ) THEN
8959 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
8960 'P_BILL_FROM_SITE_ID_TBL : '||to_char(P_BILL_FROM_SITE_ID_TBL(i)));
8961 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
8962 'P_BILL_FROM_SITE_PROF_ID_TBL : '||to_char(P_BILL_FROM_SITE_PROF_ID_TBL(i)));
8963 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
8964 'P_TAX_REGIME_CODE_TBL : '||P_TAX_REGIME_CODE_TBL(i));
8965 END IF; */
8966
8967 IF l_cai_num_tbl.EXISTS(p_trx_id_tbl(i)) THEN
8968 NULL;
8969 ELSE
8970 l_cai_due_date_tbl(p_trx_id_tbl(i)) := NULL;
8971 l_cai_num_tbl(p_trx_id_tbl(i)) := null;
8972 END IF;
8973
8974 IF l_cai_num_tbl(p_trx_id_tbl(i)) is null THEN
8975 BEGIN
8976 IF ( g_level_statement>= g_current_runtime_level ) THEN
8977 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
8978 'P_BILL_FROM_SITE_ID_TBL : '||to_char(P_BILL_FROM_SITE_ID_TBL(i)));
8979 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
8980 'P_BILL_FROM_SITE_PROF_ID_TBL : '||to_char(P_BILL_FROM_SITE_PROF_ID_TBL(i)));
8981 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
8982 'P_TAX_REGIME_CODE_TBL : '||P_TAX_REGIME_CODE_TBL(i));
8983 END IF;
8984 SELECT rep_ass.reporting_code_char_value
8985 INTO l_cai_num_tbl(p_trx_id_tbl(i))
8986 FROM zx_reporting_types_b rep_type,
8987 zx_report_codes_assoc rep_ass
8988 WHERE rep_type.reporting_type_code = 'CAI NUMBER'
8989 AND rep_ass.reporting_type_id = rep_type.reporting_type_id
8990 AND rep_ass.entity_code = 'ZX_PARTY_TAX_PROFILE'
8991 AND rep_ass.entity_id = P_BILL_FROM_SITE_PROF_ID_TBL(i)
8992 AND rep_type.tax_regime_code = P_TAX_REGIME_CODE_TBL(i);
8993
8994 X_CAI_NUMBER_TBL(i) := nvl(l_cai_num_tbl(p_trx_id_tbl(i)),0);
8995 EXCEPTION
8996 WHEN NO_DATA_FOUND THEN
8997 -- BEGIN
8998 IF ( g_level_statement>= g_current_runtime_level ) THEN
8999 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
9000 'l_cai_num : '||l_cai_num_tbl(p_trx_id_tbl(i))||'-'||l_cai_due_date_tbl(p_trx_id_tbl(i)));
9001 END IF;
9002 X_CAI_NUMBER_TBL(i) := NULL;
9003 -- IF l_rep_cai_num_tbl(p_trx_id_tbl(i)) IS NULL THEN
9004 SELECT nvl(global_attribute19,0),nvl(global_attribute20,' ')
9005 INTO l_cai_num_tbl(p_trx_id_tbl(i)),
9006 l_cai_due_date_tbl(p_trx_id_tbl(i))
9007 FROM ap_supplier_sites_all
9008 WHERE vendor_site_id = P_BILL_FROM_SITE_ID_TBL(i);
9009 -- END IF;
9010
9011 X_CAI_NUMBER_TBL(i) := nvl(l_cai_num_tbl(p_trx_id_tbl(i)),0);
9012 X_CAI_DUE_DATE_TBL(i) := nvl(l_cai_due_date_tbl(p_trx_id_tbl(i)),' ');
9013 IF ( g_level_statement>= g_current_runtime_level ) THEN
9014 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
9015 'l_cai_num : '||l_cai_num_tbl(p_trx_id_tbl(i))||'-'||l_cai_due_date_tbl(p_trx_id_tbl(i)));
9016 END IF;
9017 -- END;
9018
9019 END;
9020 ELSE
9021 IF ( g_level_statement>= g_current_runtime_level ) THEN
9022 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
9023 'Else : l_cai_num : '||l_cai_num_tbl(p_trx_id_tbl(i)));
9024 END IF;
9025 X_CAI_NUMBER_TBL(i) := l_cai_num_tbl(p_trx_id_tbl(i));
9026 X_CAI_DUE_DATE_TBL(i) := l_cai_due_date_tbl(p_trx_id_tbl(i));
9027 /*
9028 IF l_cai_num_tbl(p_trx_id_tbl(i)) IS NULL THEN
9029 X_CAI_NUMBER_TBL(i) := NULL;
9030 X_CAI_DUE_DATE_TBL(i) := NULL;
9031 ELSE
9032 X_CAI_NUMBER_TBL(i) := l_cai_num_tbl(p_trx_id_tbl(i));
9033 X_CAI_DUE_DATE_TBL(i) := l_cai_due_date_tbl(p_trx_id_tbl(i));
9034 END IF; */
9035 END IF;
9036 END LOOP;
9037 ENd IF;
9038
9039 IF (g_level_procedure >= g_current_runtime_level ) THEN
9040 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM.END',
9041 'GET_CAI_NUM(-)');
9042 END IF;
9043
9044
9045 EXCEPTION
9046 WHEN NO_DATA_FOUND THEN
9047 IF ( g_level_statement>= g_current_runtime_level ) THEN
9048 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
9049 'ZX_JL_EXTRACT_PKG.GET_CAI_NUM : '||substrb(SQLERRM,1,120) );
9050 END IF;
9051
9052 -- X_CAI_NUMBER_TBL(i) := NULL;
9053
9054 WHEN OTHERS THEN
9055
9056 IF ( g_level_statement>= g_current_runtime_level ) THEN
9057 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM',
9058 'ZX_JL_EXTRACT_PKG.GET_CAI_NUM : '||substrb(SQLERRM,1,120) );
9059 END IF;
9060
9061 END GET_CAI_NUM;
9062
9063 PROCEDURE GET_CAI_NUM_AR
9064 (
9065 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
9066 P_REPORT_NAME IN VARCHAR2,
9067 X_CAI_NUMBER_TBL OUT NOCOPY ATTRIBUTE19_TBL,
9068 X_CAI_DUE_DATE_TBL OUT NOCOPY ATTRIBUTE23_TBL
9069 ) IS
9070
9071
9072 l_cai_num_tbl ATTRIBUTE19_TBL;
9073 l_cai_due_date_tbl ATTRIBUTE23_TBL;
9074 l_rep_cai_num_tbl ATTRIBUTE19_TBL;
9075 l_err_msg VARCHAR2(120);
9076
9077
9078
9079 BEGIN
9080 IF (g_level_procedure >= g_current_runtime_level ) THEN
9081 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM_AR.BEGIN',
9082 'GET_CAI_NUM_AR(+)');
9083 END IF;
9084
9085 IF P_REPORT_NAME IN ('JLARTSFF','JLARTDFF') THEN -- Report Name Check
9086
9087 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
9088 IF l_cai_num_tbl.EXISTS(p_trx_id_tbl(i)) THEN
9089 NULL;
9090 ELSE
9091 l_cai_num_tbl(p_trx_id_tbl(i)) := null;
9092 END IF;
9093
9094 IF l_cai_num_tbl(p_trx_id_tbl(i)) is null THEN
9095 BEGIN
9096 SELECT global_attribute17,global_attribute18
9097 INTO l_cai_num_tbl(p_trx_id_tbl(i)),
9098 l_cai_due_date_tbl(p_trx_id_tbl(i))
9099 FROM ra_customer_trx
9100 WHERE customer_trx_id = p_trx_id_tbl(i);
9101
9102 EXCEPTION
9103 WHEN NO_DATA_FOUND THEN
9104 X_CAI_NUMBER_TBL(i) := NULL;
9105 X_CAI_DUE_DATE_TBL(i) := NULL;
9106 END;
9107
9108 IF l_cai_num_tbl(p_trx_id_tbl(i)) IS NULL THEN
9109 X_CAI_NUMBER_TBL(i) := NULL;
9110 X_CAI_DUE_DATE_TBL(i) := NULL;
9111 ELSE
9112 X_CAI_NUMBER_TBL(i) := l_cai_num_tbl(p_trx_id_tbl(i));
9113 X_CAI_DUE_DATE_TBL(i) := l_cai_due_date_tbl(p_trx_id_tbl(i));
9114 END IF;
9115 ELSE
9116 X_CAI_NUMBER_TBL(i) := l_cai_num_tbl(p_trx_id_tbl(i));
9117 X_CAI_DUE_DATE_TBL(i) := l_cai_due_date_tbl(p_trx_id_tbl(i));
9118
9119 END IF;
9120 END LOOP;
9121 END IF;
9122 IF (g_level_procedure >= g_current_runtime_level ) THEN
9123 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM_AR.END',
9124 'GET_CAI_NUM_AR(-)');
9125 END IF;
9126
9127
9128 EXCEPTION
9129 WHEN NO_DATA_FOUND THEN
9130 IF ( g_level_statement>= g_current_runtime_level ) THEN
9131 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM_AR',
9132 'ZX_JL_EXTRACT_PKG.GET_CAI_NUM_AR : '||substrb(SQLERRM,1,120) );
9133 END IF;
9134
9135 -- X_CAI_NUMBER_TBL(i) := NULL;
9136
9137 WHEN OTHERS THEN
9138
9139 IF ( g_level_statement>= g_current_runtime_level ) THEN
9140 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_CAI_NUM_AR',
9141 'ZX_JL_EXTRACT_PKG.GET_CAI_NUM_AR : '||substrb(SQLERRM,1,120) );
9142 END IF;
9143
9144 END GET_CAI_NUM_AR;
9145
9146
9147 PROCEDURE GET_FISCAL_PRINTER
9148 (
9149 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
9150 P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
9151 P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
9152 P_BILL_FROM_SITE_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
9153 X_FISCAL_PRINTER_TBL OUT NOCOPY ATTRIBUTE20_TBL
9154 ) IS
9155
9156 l_fiscal_printer_tbl ATTRIBUTE20_TBL;
9157 l_rep_fiscal_printer_tbl ATTRIBUTE20_TBL;
9158 l_err_msg VARCHAR2(120);
9159
9160 BEGIN
9161
9162
9163 IF (g_level_procedure >= g_current_runtime_level ) THEN
9164 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER.BEGIN',
9165 'GET_FISCAL_PRINTER(+)');
9166 END IF;
9167
9168
9169 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
9170
9171 IF l_fiscal_printer_tbl.EXISTS(p_trx_id_tbl(i)) THEN
9172 null;
9173 ELSE
9174 l_fiscal_printer_tbl(p_trx_id_tbl(i)) := null;
9175 END IF;
9176
9177 IF l_fiscal_printer_tbl(p_trx_id_tbl(i)) is null THEN
9178 BEGIN
9179 SELECT rep_ass.reporting_code_char_value
9180 INTO l_rep_fiscal_printer_tbl(i)
9181 FROM zx_reporting_types_b rep_type,
9182 zx_report_codes_assoc rep_ass
9183 WHERE rep_type.reporting_type_code = 'FISCAL PRINTER'
9184 AND rep_ass.reporting_type_id = rep_type.reporting_type_id
9185 AND rep_ass.entity_code = 'ZX_PARTY_TAX_PROFILE'
9186 AND rep_ass.entity_id = P_BILL_FROM_SITE_PROF_ID_TBL(i)
9187 AND rep_type.tax_regime_code = P_TAX_REGIME_CODE_TBL(i);
9188
9189 EXCEPTION
9190 WHEN NO_DATA_FOUND THEN
9191 X_FISCAL_PRINTER_TBL(i):=NULL;
9192 IF ( g_level_statement>= g_current_runtime_level ) THEN
9193 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER',
9194 'EXCEPTION : '||P_BILL_FROM_SITE_ID_TBL(i));
9195 END IF;
9196 -- IF l_rep_fiscal_printer_tbl IS NULL THEN
9197 SELECT global_attribute18
9198 INTO l_fiscal_printer_tbl(i)
9199 FROM ap_supplier_sites_all
9200 WHERE vendor_site_id = P_BILL_FROM_SITE_ID_TBL(i);
9201 -- END IF;
9202 IF ( g_level_statement>= g_current_runtime_level ) THEN
9203 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER',
9204 'l_fiscal_printer : '||l_fiscal_printer_tbl(i));
9205 END IF;
9206 X_FISCAL_PRINTER_TBL(i):=l_fiscal_printer_tbl(i);
9207
9208 END;
9209
9210 IF l_fiscal_printer_tbl(i) IS NULL THEN
9211 X_FISCAL_PRINTER_TBL(i):= NULL;
9212 ELSE
9213 X_FISCAL_PRINTER_TBL(i):=l_fiscal_printer_tbl(i);
9214 END IF;
9215
9216 END IF;
9217 END LOOP;
9218
9219 IF (g_level_procedure >= g_current_runtime_level ) THEN
9220 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER.END',
9221 'GET_FISCAL_PRINTER(-)');
9222 END IF;
9223
9224 EXCEPTION
9225
9226 WHEN NO_DATA_FOUND THEN
9227 IF ( g_level_statement>= g_current_runtime_level ) THEN
9228 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER',
9229 'ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER : '||substrb(SQLERRM,1,120) );
9230 END IF;
9231 -- X_FISCAL_PRINTER_TBL(i) := NULL;
9232
9233 WHEN OTHERS THEN
9234
9235 IF ( g_level_statement>= g_current_runtime_level ) THEN
9236 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER',
9237 'ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER : '||substrb(SQLERRM,1,120) );
9238 END IF;
9239
9240 END GET_FISCAL_PRINTER;
9241
9242
9243 PROCEDURE GET_TAXPAYERID_TYPE
9244 (
9245 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
9246 --P_TAX_REGIME_CODE_TBL IN ZX_EXTRACT_PKG.TAX_REGIME_CODE_TBL,
9247 --P_BILL_FROM_SITE_PROF_ID_TBL IN ZX_EXTRACT_PKG.BILL_FROM_SITE_TAX_PROF_ID_TBL,
9248 P_BILL_FROM_TP_ID_TBL IN ZX_EXTRACT_PKG.SHIPPING_TP_ADDRESS_ID_TBL,
9249 X_TAXPAYERID_TYPE_TBL OUT NOCOPY ATTRIBUTE21_TBL,
9250 X_REG_STATUS_CODE_TBL OUT NOCOPY ATTRIBUTE22_TBL
9251 ) IS
9252
9253 l_taxpayerid_type_tbl ATTRIBUTE21_TBL;
9254 l_reg_status_code_tbl ATTRIBUTE22_TBL;
9255 -- l_rep_fiscal_printer_tbl ATTRIBUTE20_TBL;
9256 l_err_msg VARCHAR2(120);
9257
9258 BEGIN
9259
9260
9261 IF (g_level_procedure >= g_current_runtime_level ) THEN
9262 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAXPAYERID_TYPE.BEGIN',
9263 'GET_TAXPAYERID_TYPE(+)');
9264 END IF;
9265
9266
9267 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
9268
9269 IF l_taxpayerid_type_tbl.EXISTS(p_trx_id_tbl(i)) THEN
9270 null;
9271 ELSE
9272 l_taxpayerid_type_tbl(p_trx_id_tbl(i)) := null;
9273 l_reg_status_code_tbl(p_trx_id_tbl(i)) := null;
9274 END IF;
9275
9276 IF l_taxpayerid_type_tbl(p_trx_id_tbl(i)) is null THEN
9277 BEGIN
9278 SELECT global_attribute10, global_attribute1
9279 INTO l_taxpayerid_type_tbl(p_trx_id_tbl(i)),
9280 l_reg_status_code_tbl(p_trx_id_tbl(i))
9281 FROM ap_suppliers
9282 WHERE vendor_id = P_BILL_FROM_TP_ID_TBL(i);
9283
9284 /* IF ( g_level_statement>= g_current_runtime_level ) THEN
9285 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAXPAYERID_TYPE',
9286 'l_taxpayerid_type_tbl : '||l_taxpayerid_type_tbl(p_trx_id_tbl(i)));
9287 END IF; */
9288 X_TAXPAYERID_TYPE_TBL(i):=l_taxpayerid_type_tbl(p_trx_id_tbl(i));
9289 X_REG_STATUS_CODE_TBL(i) := l_reg_status_code_tbl(p_trx_id_tbl(i));
9290
9291 END;
9292 -- END IF;
9293 IF l_taxpayerid_type_tbl(p_trx_id_tbl(i)) IS NULL THEN
9294 X_TAXPAYERID_TYPE_TBL(i):= NULL;
9295 X_REG_STATUS_CODE_TBL(i) := NULL;
9296 ELSE
9297 IF ( g_level_statement>= g_current_runtime_level ) THEN
9298 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAXPAYERID_TYPE',
9299 'l_taxpayerid_type_tbl : '||to_char(i)||'-'||l_taxpayerid_type_tbl(p_trx_id_tbl(i)));
9300 END IF;
9301 X_TAXPAYERID_TYPE_TBL(i):=l_taxpayerid_type_tbl(p_trx_id_tbl(i));
9302 X_REG_STATUS_CODE_TBL(i) := l_reg_status_code_tbl(p_trx_id_tbl(i));
9303 END IF;
9304 ELSE
9305 X_TAXPAYERID_TYPE_TBL(i):=l_taxpayerid_type_tbl(p_trx_id_tbl(i));
9306 X_REG_STATUS_CODE_TBL(i) := l_reg_status_code_tbl(p_trx_id_tbl(i));
9307 END IF;
9308 END LOOP;
9309
9310 IF (g_level_procedure >= g_current_runtime_level ) THEN
9311 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAXPAYERID_TYPE.END',
9312 'GET_TAXPAYERID_TYPE(-)');
9313 END IF;
9314
9315 EXCEPTION
9316
9317 WHEN NO_DATA_FOUND THEN
9318 IF ( g_level_statement>= g_current_runtime_level ) THEN
9319 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAXPAYERID_TYPE',
9320 'ZX_JL_EXTRACT_PKG.GET_TAXPAYERID_TYPE : '||substrb(SQLERRM,1,120) );
9321 END IF;
9322 -- X_FISCAL_PRINTER_TBL(i) := NULL;
9323
9324 WHEN OTHERS THEN
9325
9326 IF ( g_level_statement>= g_current_runtime_level ) THEN
9327 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TAXPAYERID_TYPE',
9328 'ZX_JL_EXTRACT_PKG.GET_TAXPAYERID_TYPE : '||substrb(SQLERRM,1,120) );
9329 END IF;
9330
9331 END GET_TAXPAYERID_TYPE;
9332
9333 PROCEDURE GET_FISCAL_PRINTER_AR
9334 (
9335 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
9336 P_BATCH_SOURCE_ID_TBL IN ZX_EXTRACT_PKG.BATCH_SOURCE_ID_TBL,
9337 X_FISCAL_PRINTER_TBL OUT NOCOPY GDF_RA_BATCH_SOURCES_ATT7_TBL
9338 ) IS
9339
9340 l_fiscal_printer_tbl GDF_RA_BATCH_SOURCES_ATT7_TBL;
9341 l_err_msg VARCHAR2(120);
9342
9343 BEGIN
9344
9345
9346 IF (g_level_procedure >= g_current_runtime_level ) THEN
9347 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER_AR.BEGIN',
9348 'GET_FISCAL_PRINTER_AR(+)');
9349 END IF;
9350
9351
9352 FOR i in 1..nvl(P_TRX_ID_TBL.last,0) LOOP
9353
9354 IF l_fiscal_printer_tbl.EXISTS(p_trx_id_tbl(i)) THEN
9355 null;
9356 ELSE
9357 l_fiscal_printer_tbl(p_trx_id_tbl(i)) := null;
9358 END IF;
9359
9360 IF l_fiscal_printer_tbl(p_trx_id_tbl(i)) is null THEN
9361 BEGIN
9362 SELECT global_attribute7
9363 INTO l_fiscal_printer_tbl(i)
9364 FROM ra_batch_sources_all
9365 WHERE batch_source_id = P_BATCH_SOURCE_ID_TBL(i);
9366
9367 IF ( g_level_statement>= g_current_runtime_level ) THEN
9368 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER_AR',
9369 'l_fiscal_printer : '||l_fiscal_printer_tbl(i));
9370 END IF;
9371 X_FISCAL_PRINTER_TBL(i):=l_fiscal_printer_tbl(i);
9372
9373 END;
9374
9375 -- IF l_fiscal_printer_tbl(i) IS NULL THEN
9376 -- X_FISCAL_PRINTER_TBL(i):= NULL;
9377 -- ELSE
9378 -- X_FISCAL_PRINTER_TBL(i):=l_fiscal_printer_tbl(i);
9379 --END IF;
9380
9381 END IF;
9382 END LOOP;
9383
9384 IF (g_level_procedure >= g_current_runtime_level ) THEN
9385 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER_AR.END',
9386 'GET_FISCAL_PRINTER_AR(-)');
9387 END IF;
9388
9389 EXCEPTION
9390
9391 WHEN NO_DATA_FOUND THEN
9392 IF ( g_level_statement>= g_current_runtime_level ) THEN
9393 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER',
9394 'ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER_AR : '||substrb(SQLERRM,1,120) );
9395 END IF;
9396
9397 WHEN OTHERS THEN
9398
9399 IF ( g_level_statement>= g_current_runtime_level ) THEN
9400 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER',
9401 'ZX_JL_EXTRACT_PKG.GET_FISCAL_PRINTER : '||substrb(SQLERRM,1,120) );
9402 END IF;
9403
9404 END GET_FISCAL_PRINTER_AR;
9405
9406 /*===========================================================================+
9407 | PROCEDURE |
9408 | GET_TOTAL_DOC_TAXABLE_AMOUNT |
9409 | Type : Private |
9410 | Pre-req : None |
9411 | Function : |
9412 | This function returns the Tax Authority Code |
9413 | from jl_zz_ar_tx_categ table to meet the requirement in the flat file |
9414 | |
9415 | Called from ZX_JL_EXTRACT_PKG.POPULATE_JL_AR |
9416 | |
9417 | Parameters : |
9418 | IN : p_trx_id_tbl IN ZX_EXTRACT_PKG.TRX_ID_TBL Required|
9419 | |
9420 | MODIFICATION HISTORY |
9421 | 07-Nov-03 Hidetaka Kojima created |
9422 | |
9423 | |
9424 +===========================================================================*/
9425
9426 PROCEDURE GET_TOTAL_DOC_TAXABLE_AMOUNT
9427 (
9428 P_TRX_ID_TBL IN ZX_EXTRACT_PKG.TRX_ID_TBL,
9429 P_REQUEST_ID IN NUMBER,
9430 X_TOTAL_DOC_TAXAB_AMT_TBL OUT NOCOPY NUMERIC8_TBL
9431 )
9432 IS
9433
9434 l_err_msg VARCHAR2(120);
9435 l_total_doc_taxab_amt_tbl NUMERIC8_TBL;
9436
9437 BEGIN
9438
9439 IF (g_level_procedure >= g_current_runtime_level ) THEN
9440 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TOTAL_DOC_TAXABLE_AMOUNT',
9441 'GET_TOTAL_DOC_TAXABLE_AMOUNT(+) ');
9442 END IF;
9443
9444 FOR i in 1..nvl(p_trx_id_tbl.last,0) LOOP
9445 IF l_total_doc_taxab_amt_tbl.EXISTS(p_trx_id_tbl(i)) THEN
9446 NULL;
9447 ELSE
9448 l_total_doc_taxab_amt_tbl(p_trx_id_tbl(i)) := null;
9449 END IF;
9450
9451 IF l_total_doc_taxab_amt_tbl(p_trx_id_tbl(i)) is NULL THEN
9452
9453 BEGIN
9454
9455 SELECT SUM(DECODE(DET.TAX_RATE,0,
9456 0,
9457 coalesce(DET.TAXABLE_AMT_FUNCL_CURR,DET.TAXABLE_AMT,0)))
9458 INTO l_total_doc_taxab_amt_tbl(p_trx_id_tbl(i))
9459 FROM ZX_REP_TRX_DETAIL_T DET
9460 WHERE REQUEST_ID = P_REQUEST_ID
9461 AND TRX_ID = p_trx_id_tbl(i);
9462
9463 X_TOTAL_DOC_TAXAB_AMT_TBL(i) := l_total_doc_taxab_amt_tbl(p_trx_id_tbl(i));
9464
9465 EXCEPTION
9466 WHEN NO_DATA_FOUND THEN
9467 l_total_doc_taxab_amt_tbl(p_trx_id_tbl(i)) := 0;
9468 X_TOTAL_DOC_TAXAB_AMT_TBL(i) := l_total_doc_taxab_amt_tbl(p_trx_id_tbl(i));
9469 null;
9470 WHEN OTHERS THEN
9471 l_err_msg := substrb(SQLERRM,1,120);
9472 IF (g_level_procedure >= g_current_runtime_level ) THEN
9473 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TOTAL_DOC_TAXABLE_AMOUNT',
9474 'EXCEPTION raised in ' ||'GET_TOTAL_DOC_TAXABLE_AMOUNT: ' ||SQLCODE ||':'||l_err_msg);
9475 END IF;
9476
9477 END;
9478
9479 ELSE
9480
9481 X_TOTAL_DOC_TAXAB_AMT_TBL(i) := l_total_doc_taxab_amt_tbl(p_trx_id_tbl(i));
9482
9483 END IF;
9484
9485 IF ( g_level_statement>= g_current_runtime_level ) THEN
9486 FND_LOG.STRING(g_level_statement, 'ZX.TRL.ZX_JL_EXTRACT_PKG',
9487 ' X_TOTAL_DOC_TAXAB_AMT_TBL for i: '||i||' trx_id : '||to_char(p_trx_id_tbl(i))||' is : '||to_char(X_TOTAL_DOC_TAXAB_AMT_TBL(i)));
9488 END IF;
9489
9490 END LOOP;
9491 IF (g_level_procedure >= g_current_runtime_level ) THEN
9492 FND_LOG.STRING(g_level_procedure, 'ZX.TRL.ZX_JL_EXTRACT_PKG.GET_TOTAL_DOC_TAXABLE_AMOUNT',
9493 'GET_TOTAL_DOC_TAXABLE_AMOUNT(-) ');
9494 END IF;
9495
9496 END GET_TOTAL_DOC_TAXABLE_AMOUNT;
9497
9498
9499 PROCEDURE initialize_variables (
9500 p_count IN NUMBER) IS
9501 i number;
9502 BEGIN
9503 /*
9504 FOR i IN 1.. p_count LOOP
9505 l_detail_tax_line_id_tbl(i) := NULL;
9506 l_trx_id_tbl(i) := NULL;
9507 l_trx_number_tbl(i) := NULL;
9508 l_trx_type_id_tbl(i) := NULL;
9509 l_tax_rate_tbl(i) := NULL;
9510 l_tax_rate_id_tbl(i) := NULL;
9511 l_document_sub_type_tbl(i) := NULL;
9512 l_exchange_rate_tbl(i) := NULL;
9513
9514 l_not_reg_tax_amt_tbl(i) := NULL;
9515 l_vat_exempt_amt_tbl(i) := NULL;
9516 l_vat_perc_amt_tbl(i) := NULL;
9517 l_prov_perc_amt_tbl(i) := NULL;
9518 l_munic_perc_amt_tbl(i) := NULL;
9519 l_excise_amt_tbl(i) := NULL;
9520 l_other_tax_amt_tbl(i) := NULL;
9521 l_non_taxable_amt_tbl(i) := NULL;
9522 l_vat_amt_tbl(i) := NULL;
9523 l_taxable_amt_tbl(i) := NULL;
9524 l_vat_additional_amt_tbl(i) := NULL;
9525 l_total_doc_amt_tbl(i) := NULL;
9526 l_rec_count_tbl(i) := NULL;
9527 l_rate_count_tbl(i) := NULL;
9528
9529 l_tax_authority_code := NULL;
9530 l_dgi_code_tbl(i) := NULL;
9531 l_cust_condition_code_tbl(i) := NULL;
9532 l_vat_reg_stat_code_tbl(i) := NULL;
9533
9534 END LOOP;
9535 */
9536 NULL;
9537
9538 END initialize_variables ;
9539
9540
9541 END ZX_JL_EXTRACT_PKG;