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