[Home] [Help]
PACKAGE BODY: APPS.ZX_VALIDATE_API_PKG
Source
1 PACKAGE BODY Zx_Validate_Api_Pkg AS
2 /* $Header: zxapdefvalpkgb.pls 120.80.12010000.4 2009/02/05 14:44:37 tsen ship $ */
3
4 g_current_runtime_level NUMBER;
5 g_level_statement CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
6 g_level_procedure CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
7 g_level_event CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
8 g_level_exception CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
9 g_level_unexpected CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
10 g_first_pty_org_id NUMBER;
11 l_le_id NUMBER;
12 l_ou_id NUMBER;
13 l_regime_not_exists VARCHAR2(2000);
14 l_regime_not_effective VARCHAR2(2000);
15 l_tax_not_exists VARCHAR2(2000);
16 l_tax_not_live VARCHAR2(2000);
17 l_tax_not_effective VARCHAR2(2000);
18 l_tax_recov_or_offset VARCHAR2(2000);
19 l_tax_status_not_exists VARCHAR2(2000);
20 l_tax_status_not_effective VARCHAR2(2000);
21 l_tax_rate_not_exists VARCHAR2(2000);
22 l_tax_rate_not_effective VARCHAR2(2000);
23 l_tax_rate_not_active VARCHAR2(2000);
24 l_tax_rate_code_not_exists VARCHAR2(2000);
25 --l_tax_rate_code_not_effective VARCHAR2(2000);
26 --l_tax_rate_code_not_active VARCHAR2(2000);
27 l_tax_rate_percentage_invalid VARCHAR2(2000);
28 l_jur_code_not_exists VARCHAR2(2000);
29 l_jur_code_not_effective VARCHAR2(2000);
30 l_ref_doc_missing VARCHAR2(2000);
31 l_rel_doc_missing VARCHAR2(2000);
32 l_app_from_doc_missing VARCHAR2(2000);
33 l_app_to_doc_missing VARCHAR2(2000);
34 l_adj_doc_missing VARCHAR2(2000);
35 l_source_doc_missing VARCHAR2(2000);
36 l_round_party_missing VARCHAR2(2000);
37 l_location_missing VARCHAR2(2000);
38 l_ctrl_flag_missing VARCHAR2(2000);
39 l_line_class_invalid VARCHAR2(2000);
40 l_trx_line_type_invalid VARCHAR2(2000);
41 l_line_amt_incl_tax_invalid VARCHAR2(2000);
42 l_default_status_not_exists VARCHAR2(2000);
43 l_default_rate_code_not_exists VARCHAR2(2000);
44 l_default_jur_code_not_exists VARCHAR2(2000);
45 l_taxation_country_not_exists VARCHAR2(2000);
46 l_prd_categ_not_exists VARCHAR2(2000);
47 l_prd_categ_not_effective VARCHAR2(2000);
48 l_prd_categ_country_inconsis VARCHAR2(2000);
49 l_usr_df_fc_code_not_exists VARCHAR2(2000);
50 l_usr_df_fc_code_not_effective VARCHAR2(2000);
51 l_usr_df_country_inconsis VARCHAR2(2000);
52 l_doc_fc_code_not_exists VARCHAR2(2000);
53 l_doc_fc_code_not_effective VARCHAR2(2000);
54 l_doc_fc_country_inconsis VARCHAR2(2000);
55 l_trx_biz_fc_code_not_exists VARCHAR2(2000);
56 l_trx_biz_fc_code_not_effect VARCHAR2(2000);
57 l_trx_biz_fc_country_inconsis VARCHAR2(2000);
58 l_intended_use_code_not_exists VARCHAR2(2000);
59 l_intended_use_not_effective VARCHAR2(2000);
60 l_intended_use_contry_inconsis VARCHAR2(2000);
61 l_prd_type_code_not_exists VARCHAR2(2000);
62 l_prd_type_not_effective VARCHAR2(2000);
63 l_prd_fc_code_not_exists VARCHAR2(2000);
64 l_party_not_exists VARCHAR2(2000);
65 l_ship_to_party_not_exists VARCHAR2(2000);
66 l_ship_frm_party_not_exits VARCHAR2(2000);
67 l_bill_to_party_not_exists VARCHAR2(2000);
68 l_bill_frm_party_not_exists VARCHAR2(2000);
69 l_shipto_party_site_not_exists VARCHAR2(2000);
70 l_shipfrm_party_site_not_exits VARCHAR2(2000);
71 l_billto_party_site_not_exists VARCHAR2(2000);
72 l_billfrm_party_site_not_exist VARCHAR2(2000);
73 l_tax_multialloc_to_sameln VARCHAR2(2000);
74 l_imptax_multialloc_to_sameln VARCHAR2(2000);
75 l_tax_only_line_multi_allocate VARCHAR2(2000);
76 l_pseudo_line_has_multi_taxall VARCHAR2(2000);
77 --l_tax_amt_miss_for_mul_alloc VARCHAR2(2000);
78 l_tax_amt_missing VARCHAR2(2000);
79 --l_tax_only_ln_w_null_tax_amt VARCHAR2(2000);
80 l_tax_ln_typ_loc_not_allw_f_ar VARCHAR2(2000);
81 l_tax_incl_flag_mismatch VARCHAR2(2000);
82 l_imp_tax_missing_in_appld_frm VARCHAR2(2000);
83 l_imp_tax_missing_in_adjust_to VARCHAR2(2000);
84 l_currency_info_reqd VARCHAR2(2000);
85 l_line_ctrl_amt_invalid VARCHAR2(2000);
86 l_line_ctrl_amt_not_null VARCHAR2(2000);
87 l_unit_price_missing VARCHAR2(2000);
88 l_line_quantity_missing VARCHAR2(2000);
89
90 l_exemption_ctrl_flag_invalid VARCHAR2(2000);
91 l_product_type_invalid VARCHAR2(2000);
92 l_quote_flag_invalid VARCHAR2(2000);
93 l_doc_lvl_recalc_flag_invalid VARCHAR2(2000);
94 l_tax_line_alloc_flag_invalid VARCHAR2(2000);
95
96 l_inval_tax_lines_for_ctrl_flg VARCHAR2(2000);
97 l_invald_line_for_ctrl_tot_amt VARCHAR2(2000);
98 l_inval_tax_line_for_alloc_flg VARCHAR2(2000);
99 l_invalid_tax_only_tax_lines VARCHAR2(2000);
100 l_invalid_tax_line_alloc_flag VARCHAR2(2000);
101 l_invd_trx_line_id_in_link_gt VARCHAR2(2000);
102 l_invalid_summary_tax_line_id VARCHAR2(2000);
103 l_regime_not_eff_in_subscrptn VARCHAR2(2000);
104 l_tax_rate_id_code_missing VARCHAR2(2000);
105 l_imp_tax_rate_amt_mismatch VARCHAR2(2000);
106
107 l_return_status VARCHAR2(30);
108
109 l_count_header NUMBER;
110 l_count_lines NUMBER;
111 l_count_tax_lines NUMBER;
112 l_count_link_gt NUMBER;
113
114 l_count_error NUMBER;
115
116 l_error_rec ZX_VALIDATION_ERRORS_GT%rowtype;
117
118 --Declare Forward references
119 PROCEDURE Validate_Other_Documents(x_return_status OUT NOCOPY VARCHAR2);
120 procedure def_additional_tax_attribs;
121
122 ------------ Main Procedure(Called from AP) ---------------------------
123
124 PROCEDURE Default_And_Validate_Tax_Attr(
125 p_api_version IN NUMBER,
126 p_init_msg_list IN VARCHAR2,
127 p_commit IN VARCHAR2,
128 p_validation_level IN VARCHAR2,
129 x_return_status OUT NOCOPY VARCHAR2,
130 x_msg_count OUT NOCOPY NUMBER,
131 x_msg_data OUT NOCOPY VARCHAR2) IS
132
133 CURSOR check_eror IS
134 select
135 application_id,
136 entity_code,
137 event_class_code,
138 trx_id,
139 trx_line_id,
140 message_name,
141 message_text,
142 trx_level_type,
143 other_doc_application_id,
144 other_doc_entity_code,
145 other_doc_event_class_code,
146 other_doc_trx_id,
147 interface_line_entity_code,
148 interface_line_id
149 from zx_validation_errors_gt;
150
151 BEGIN
152
153 x_return_status := FND_API.G_RET_STS_SUCCESS;
154 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
155
156 IF (g_level_procedure >= g_current_runtime_level ) THEN
157 FND_LOG.STRING(g_level_procedure,
158 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
159 'ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR(+)');
160 END IF;
161
162 SELECT count(1) INTO l_count_header FROM zx_trx_headers_gt;
163
164 SELECT count(1) INTO l_count_lines FROM ZX_TRANSACTION_LINES_GT;
165
166 SELECT count(1) INTO l_count_tax_lines FROM ZX_IMPORT_TAX_LINES_GT;
167
168 SELECT count(1) INTO l_count_link_gt FROM ZX_TRX_TAX_LINK_GT;
169
170 IF ( g_level_statement >= g_current_runtime_level) THEN
171 FND_LOG.STRING(g_level_statement,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
172 'Count of ZX_TRX_HEADERS_GT '||to_char(l_count_header));
173 FND_LOG.STRING(g_level_statement,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
174 'Count of ZX_TRANSACTION_LINES_GT '||to_char(l_count_lines));
175 FND_LOG.STRING(g_level_statement,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
176 'Count of ZX_IMPORT_TAX_LINES_GT '||to_char(l_count_tax_lines));
177 FND_LOG.STRING(g_level_statement,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
178 'Count of ZX_TRX_TAX_LINK_GT '||to_char(l_count_link_gt));
179 END IF;
180
181 ---------------------------------------------------------------------------------
182 -- Select First Party Organization to be used for validations and defaulting
183 -- for Imported Tax Lines
184
185 -- Assumption: Operating Unit and Legal Entity will be same for all input
186 -- transactions
187 ---------------------------------------------------------------------------------
188
189 BEGIN
190
191 SELECT
192 legal_entity_id , internal_organization_id
193 INTO l_le_id, l_ou_id
194 FROM
195 ZX_TRX_HEADERS_GT Header
196 WHERE rownum = 1;
197
198 EXCEPTION
199
200 WHEN NO_DATA_FOUND THEN
201 IF (g_level_exception >= g_current_runtime_level ) THEN
202 FND_LOG.STRING(g_level_exception,
203 'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR:
204 First Party Org Id : Not able to fetch
205 OU and LE',
206 sqlerrm);
207 END IF;
208
209 app_exception.raise_exception;
210
211 END;
212
213 IF ( g_level_statement >= g_current_runtime_level) THEN
214
215 FND_LOG.STRING(g_level_statement,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
216 'Call ZX_TCM_PTP_PKG.GET_TAX_SUBSCRIBER() with OU: '||to_char(l_ou_id)||' and LE: '||to_char(l_le_id));
217 END IF;
218
219 ZX_TCM_PTP_PKG.GET_TAX_SUBSCRIBER(l_le_id,
220 l_ou_id,
221 g_first_pty_org_id,
222 l_return_status);
223
224 IF ( g_level_statement >= g_current_runtime_level) THEN
225 FND_LOG.STRING(g_level_statement,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
226 'G_FIRST_PTY_ORG_ID: '||to_char(g_first_pty_org_id));
227 END IF;
228
229 -- Need to verify if we need to raise a UNEXPECTED error if we fail to set first party
230 -- Checked with Isaac. This should not be an unexpected error, but raise one valdn error for
231 -- all transactions and do not proceed further => Changes yet to be implemented
232
233 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
234 IF (g_level_exception >= g_current_runtime_level ) THEN
235 FND_LOG.STRING(g_level_exception,
236 'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR:
237 Get Tax Subscriber : Returned Error Status',
238 sqlerrm);
239 END IF;
240 -- Return;
241 END IF;
242
243 ------------------------------------------------------------------------------------
244 -- End logic for getting the first party org id
245 ------------------------------------------------------------------------------------
246
247 IF ( g_level_event >= g_current_runtime_level) THEN
248 FND_LOG.STRING(g_level_event,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
249 'Validating Other Documents');
250 END IF;
251
252 Validate_Other_Documents(x_return_status);
253
254 IF ( g_level_event >= g_current_runtime_level) THEN
255 FND_LOG.STRING(g_level_event,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
256 'Executing On the Fly Migration If Needed');
257 END IF;
258
259 zx_on_fly_trx_upgrade_pkg.upgrade_trx_on_fly_blk(x_return_status);
260
261 -- Bug # 4697301
262 delete from ZX_VALIDATION_ERRORS_GT err where EXISTS
263 (Select 1 from ZX_LINES_DET_FACTORS linedet where
264 linedet.application_id = err.other_doc_application_id and
265 linedet.entity_code = err.other_doc_entity_code and
266 linedet.event_class_code = err.other_doc_event_class_code and
267 linedet.trx_id = err.other_doc_trx_id and
268 rownum =1);
269
270 --Bug # 4917256
271 IF ( g_level_event >= g_current_runtime_level) THEN
272 FND_LOG.STRING(g_level_event,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
273 'Before defaulting, validate either tax_rate_id or tax_rate_code is passed in the import tax lines GT table');
274 END IF;
275
276 INSERT INTO
277 ZX_VALIDATION_ERRORS_GT(
278 application_id,
279 entity_code,
280 event_class_code,
281 trx_id,
282 trx_line_id,
283 summary_tax_line_number,
284 message_name,
285 message_text,
286 trx_level_type,
287 interface_tax_entity_code,
288 interface_tax_line_id
289 )
290 SELECT
291 application_id,
292 entity_code,
293 event_class_code,
294 trx_id,
295 trx_line_id,
296 summary_tax_line_number,
297 'ZX_TAX_RATE_ID_CODE_MISSING',
298 l_tax_rate_id_code_missing,
299 null,
300 interface_entity_code,
301 interface_tax_line_id
302 FROM
303 ZX_IMPORT_TAX_LINES_GT
304 WHERE
305 tax_rate_code IS NULL AND tax_rate_id IS NULL;
306
307 IF ( g_level_event >= g_current_runtime_level) THEN
308 FND_LOG.STRING(g_level_event,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
309 'Defaulting Additional Tax Det Attrs and Tax Line Attrs');
310 END IF;
311
312 Default_Tax_Attr(x_return_status);
313
314 IF ( g_level_event >= g_current_runtime_level) THEN
315 FND_LOG.STRING(g_level_event,'ZX_VALIDATEAPI_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
316 'Validating Transaction and Imported tax line info');
317 END IF;
318
319 Validate_Tax_Attr(x_return_status);
320
321 IF (g_level_statement >= g_current_runtime_level ) THEN
322
323 OPEN check_eror;
324 LOOP
325 fetch check_eror into l_error_rec.application_id,
326 l_error_rec.entity_code,
327 l_error_rec.event_class_code,
328 l_error_rec.trx_id,
329 l_error_rec.trx_line_id,
330 l_error_rec.message_name,
331 l_error_rec.message_text,
332 l_error_rec.trx_level_type,
333 l_error_rec.other_doc_application_id,
334 l_error_rec.other_doc_entity_code,
335 l_error_rec.other_doc_event_class_code,
336 l_error_rec.other_doc_trx_id,
337 l_error_rec.interface_line_entity_code,
338 l_error_rec.interface_line_id;
339 EXIT WHEN check_eror%NOTFOUND ; -- Added exit conditon .
340
341 FND_LOG.STRING(g_level_statement,
342 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
343 'error application_id is '||l_error_rec.application_id);
344 FND_LOG.STRING(g_level_statement,
345 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
346 'error entity_code is '||l_error_rec.entity_code);
347 FND_LOG.STRING(g_level_statement,
348 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
349 'error event_class_code is '||l_error_rec.event_class_code);
350 FND_LOG.STRING(g_level_statement,
351 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
352 'error trx_id is '||l_error_rec.trx_id);
353 FND_LOG.STRING(g_level_statement,
354 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
355 'error trx_line_id is '||l_error_rec.trx_line_id);
356 FND_LOG.STRING(g_level_statement,
357 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
358 'error message_name is '||l_error_rec.message_name);
359 FND_LOG.STRING(g_level_statement,
360 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
361 'error trx_level_type is '||l_error_rec.trx_level_type);
362 FND_LOG.STRING(g_level_statement,
363 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
364 'error other_doc_application_id is '||l_error_rec.other_doc_application_id);
365 FND_LOG.STRING(g_level_statement,
366 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
367 'error other_doc_entity_code is '||l_error_rec.other_doc_entity_code);
368 FND_LOG.STRING(g_level_statement,
369 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
370 'error other_doc_event_class_code is '||l_error_rec.other_doc_event_class_code);
371 FND_LOG.STRING(g_level_statement,
372 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
373 'error other_doc_trx_id is '||l_error_rec.other_doc_trx_id);
374
375 END LOOP;
376
377 END IF;
378
379 ZX_GLOBAL_STRUCTURES_PKG.delete_trx_line_dist_tbl;
380
381 IF (g_level_statement >= g_current_runtime_level ) THEN
382 FND_LOG.STRING(g_level_statement,
383 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
384 'x_return_status from Validate_Tax_Attr is '||x_return_status);
385 END IF;
386 IF (g_level_procedure >= g_current_runtime_level ) THEN
387 FND_LOG.STRING(g_level_procedure,
388 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
389 'ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR(-)');
390 END IF;
391
392 EXCEPTION
393 WHEN OTHERS THEN
394 IF (g_level_unexpected >= g_current_runtime_level ) THEN
395 FND_LOG.STRING(g_level_unexpected,
396 'ZX_VALIDATE_API_PKG.DEFAULT_AND_VALIDATE_TAX_ATTR',
397 sqlerrm);
398 END IF;
399 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
400 app_exception.raise_exception;
401 END Default_And_Validate_Tax_Attr;
402
403
404 ------------------ Procedure For Defaulting -----------------------
405
406 PROCEDURE Default_Tax_Attr(x_return_status OUT NOCOPY VARCHAR2) IS
407
408 l_owner_table_code ZX_FC_TYPES_B.owner_table_code%Type;
409 l_owner_id_num ZX_FC_TYPES_B.owner_id_num%Type;
410 l_le_id ZX_TRX_HEADERS_GT.legal_entity_id%Type;
411 l_org_id ZX_TRX_HEADERS_GT.internal_organization_id%Type;
412 l_effective_date Date;
413 l_return_status varchar2(30);
414
415 --Bug 5018766 : Added for Defaulting the Tax Dates on the Newly added columns in zx_transaction_lines_gt
416 c_lines_per_commit CONSTANT NUMBER := ZX_TDS_CALC_SERVICES_PUB_PKG.G_LINES_PER_COMMIT;
417 l_application_id_tbl APPLICATION_ID_TBL;
418 l_entity_code_tbl ENTITY_CODE_TBL;
419 l_event_class_code_tbl EVENT_CLASS_CODE_TBL;
420 l_trx_id_tbl TRX_ID_TBL;
421 l_trx_line_id_tbl TRX_LINE_ID_TBL;
422 l_trx_level_type_tbl TRX_LEVEL_TYPE_TBL;
423 l_trx_date_tbl TRX_DATE_TBL;
424 l_subscription_date_tb1 TRX_DATE_TBL;
425 L_COUNT NUMBER ;
426
427 cursor c_lines is
428 select lines.application_id,
429 lines.entity_code,
430 lines.event_class_code,
431 lines.trx_id,
432 lines.trx_line_id,
433 lines.trx_level_type,
434 COALESCE(header.related_doc_date,
435 header.provnl_tax_determination_date,
436 Lines.adjusted_doc_date,
437 Lines.trx_line_date,
438 header.trx_date) Tax_Date,
439 COALESCE(header.related_doc_date,
440 header.provnl_tax_determination_date,
441 Lines.adjusted_doc_date,
442 header.trx_date) subscription_date
443 from zx_trx_headers_gt header,
444 zx_transaction_lines_gt lines
445 where header.application_id = lines.application_id
446 and header.ENTITY_CODE = lines.ENTITY_CODE
447 and header.EVENT_CLASS_CODE = lines.EVENT_CLASS_CODE
448 and header.TRX_ID = lines.TRX_ID ;
449
450 BEGIN
451
452 x_return_status := FND_API.G_RET_STS_SUCCESS;
453 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
454 IF (g_level_procedure >= g_current_runtime_level ) THEN
455 FND_LOG.STRING(g_level_procedure,
456 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
457 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR(+)');
458 END IF;
459
460
461 --Bug 5018766 : Default the tax_date , tax_determine_date and tax_point_date for all the trx_lines
462 IF (g_level_statement >= g_current_runtime_level ) THEN
463 FND_LOG.STRING(g_level_statement,
464 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
465 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:
466 Stamping the Dates onto zx_transaction_lines_gt');
467 END IF;
468
469 OPEN c_lines;
470 loop
471 fetch c_lines bulk collect into
472 l_application_id_tbl,
473 l_entity_code_tbl,
474 l_event_class_code_tbl,
475 l_trx_id_tbl,
476 l_trx_line_id_tbl,
477 l_trx_level_type_tbl,
478 l_trx_date_tbl,
479 l_subscription_date_tb1
480 LIMIT C_LINES_PER_COMMIT;
481
482 l_count := nvl(l_trx_line_id_tbl.COUNT,0);
483
484 -- Stamp the tax_date , tax_determine_date and tax_point_date to the same value
485 if ( l_count > 0 ) THEN
486 FORALL i IN 1 .. l_count
487 update zx_transaction_lines_gt
488 set tax_date = l_trx_date_tbl(i),
489 tax_determine_date = l_trx_date_tbl(i),
490 tax_point_date = l_trx_date_tbl(i),
491 subscription_date = l_subscription_date_tb1(i)
492 where application_id = l_application_id_tbl(i)
493 AND entity_code = l_entity_code_tbl(i)
494 AND event_class_code = l_event_class_code_tbl(i)
495 AND trx_id = l_trx_id_tbl(i)
496 AND trx_line_id = l_trx_line_id_tbl(i)
497 AND trx_level_type = l_trx_level_type_tbl(i);
498 l_count := 0;
499 else
500 exit;
501 end if;
502 end loop;
503
504 IF ( c_lines%ISOPEN ) THEN
505 CLOSE c_lines;
506 END IF ;
507
508 --Defaulting for Taxation Country
509
510 IF (g_level_statement >= g_current_runtime_level ) THEN
511 FND_LOG.STRING(g_level_statement,
512 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
513 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:
514 Defaulting for Taxation Country');
515 END IF;
516
517 UPDATE ZX_TRX_HEADERS_GT Header
518 SET default_taxation_country =
519 (SELECT le.country
520 FROM
521 XLE_FIRSTPARTY_INFORMATION_V le
522 WHERE
523 le.legal_entity_id = Header.legal_entity_id
524 )
525 WHERE default_taxation_country is NULL;
526
527 --Defaulting for Tax Regime Code and Tax Code
528
529 IF (g_level_statement >= g_current_runtime_level ) THEN
530 FND_LOG.STRING(g_level_statement,
531 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
532 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:
533 Defaulting for Tax Regime Code and Tax Code');
534 END IF;
535
536 /* Default Logic based on Rate Code and Rate Id are seperated
537 to accomodate defaulting when one of them is passed and the other is null.*/
538
539 -- This Update is to Ensure that the regime and tax get defaulted in case Rate Id is null and Rate Code being passed.
540 UPDATE ZX_IMPORT_TAX_LINES_GT TaxLines
541 SET (tax_regime_code, tax) =
542 (SELECT NVL(TaxLines.tax_regime_code, qry.tax_regime_code),
543 NVL(TaxLines.tax, qry.tax)
544 FROM (SELECT NVL(rates.tax_regime_code,
545 nvl2(to_char(taxlines_gt.tax_rate_id),null,ContDef.tax_regime_code)) tax_regime_code,
546 NVL(rates.tax, nvl2(to_char(taxlines_gt.tax_rate_id),null,ContDef.tax)) tax,
547 TaxLines_gt.application_id application_id,
548 TaxLines_gt.entity_code entity_code,
549 TaxLines_gt.event_class_code event_class_code,
550 TaxLines_gt.trx_id trx_id,
551 TaxLines_gt.summary_tax_line_number summary_tax_line_number
552 FROM ZX_FC_COUNTRY_DEFAULTS ContDef,
553 ZX_IMPORT_TAX_LINES_GT TaxLines_gt,
554 ZX_TRX_HEADERS_GT Header,
555 ZX_TRANSACTION_LINES_GT Lines,
556 ZX_RATES_B rates,
557 ZX_SUBSCRIPTION_DETAILS sd_rates
558 WHERE TaxLines_gt.tax_rate_code = rates.tax_rate_code(+)
559 AND (Taxlines_gt.tax_rate_code IS NOT NULL OR Taxlines_gt.tax_rate_id IS NOT NULL)
560 AND lines.tax_date --Bug 5018766
561 BETWEEN nvl(rates.effective_from,lines.tax_date)
562 AND nvl(rates.effective_to,lines.tax_date)
563 AND ContDef.country_code(+) = Header.default_taxation_country
564 AND TaxLines_gt.application_id = Header.application_id
565 AND TaxLines_gt.entity_code = Header.entity_code
566 AND TaxLines_gt.event_class_code = Header.event_class_code
567 AND TaxLines_gt.trx_id = Header.trx_id
568 AND Lines.application_id = Header.application_id
569 AND Lines.entity_code = Header.entity_code
570 AND Lines.event_class_code = Header.event_class_code
571 AND Lines.trx_id = Header.trx_id
572 AND
573 ( -- One to One Alloc
574 (
575 lines.trx_line_id = taxlines_gt.trx_line_id
576 )
577 OR
578 --Multi Alloc
579 (
580 taxlines_gt.trx_line_id IS NULL
581 AND taxlines_gt.tax_line_allocation_flag = 'Y'
582 AND lines.trx_line_id =
583 (
584 SELECT
585 MIN(trx_line_id)
586 FROM zx_trx_tax_link_gt link_gt
587 WHERE link_gt.TRX_ID = taxlines_gt.trx_id
588 AND link_gt.application_id = taxlines_gt.application_id
589 AND link_gt.entity_code = taxlines_gt.entity_code
590 AND link_gt.event_class_code = taxlines_gt.event_class_code
591 AND link_gt.summary_tax_line_number = taxlines_gt.summary_tax_line_number
592 )
593 )
594 OR
595 --All Alloc
596 (
597 taxlines_gt.trx_line_id IS NULL
598 AND taxlines_gt.tax_line_allocation_flag = 'N'
599 AND lines.trx_line_id =
600 (
601 SELECT
602 MIN(trx_line_id)
603 FROM zx_transaction_lines_gt trans_line_gt
604 WHERE trans_line_gt.trx_id = taxlines_gt.trx_id
605 AND trans_line_gt.application_id = taxlines_gt.application_id
606 AND trans_line_gt.entity_code = taxlines_gt.entity_code
607 AND trans_line_gt.event_class_code = taxlines_gt.event_class_code
608 )
609 )
610 )
611 AND Rates.tax_regime_code = sd_rates.tax_regime_code(+)
612 AND Rates.rate_type_code <> 'RECOVERY' -- Added for Bug#7504455
613 AND
614 ( Rates.content_owner_id = sd_rates.parent_first_pty_org_id
615 OR
616 sd_rates.parent_first_pty_org_id IS NULL )
617 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
618 AND ( lines.subscription_date
619 BETWEEN NVL(sd_rates.effective_from,
620 lines.subscription_date)
621 AND NVL(sd_rates.effective_to,
622 lines.subscription_date)
623 OR
624 Rates.effective_from = (SELECT MIN(effective_from)
625 FROM zx_rates_b
626 WHERE
627 tax_regime_code = Rates.tax_regime_code and
628 tax = Rates.tax and
629 tax_status_code = Rates.tax_status_code and
630 tax_rate_code = Rates.tax_rate_code and
631 content_owner_id = Rates.content_owner_id and
632 rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
633 )
634 )
635 AND (NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC') OR
636 (NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
637 AND NOT EXISTS (SELECT 1 FROM zx_rates_b b
638 WHERE b.tax_regime_code = Rates.tax_regime_code
639 AND b.tax = Rates.tax
640 AND b.tax_status_code = Rates.tax_status_code
641 AND b.tax_rate_code = Rates.tax_rate_code
642 AND b.content_owner_id = sd_rates.first_pty_org_id
643 AND b.rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
644 )
645 )
646 )
647 ) qry
648 where TaxLines.application_id = qry.application_id
649 AND TaxLines.entity_code = qry.entity_code
650 AND TaxLines.event_class_code = qry.event_class_code
651 AND TaxLines.trx_id = qry.trx_id
652 AND TaxLines.summary_tax_line_number = qry.summary_tax_line_number
653 AND ROWNUM = 1 -- To Prevent more than one row being fetched for a single row update
654 );
655
656 -- This Update is to Ensure that the regime and tax get defaulted in case rate code is null and rate id being passed
657 UPDATE ZX_IMPORT_TAX_LINES_GT TaxLines
658 SET (tax_regime_code, tax) =
659 (SELECT NVL(TaxLines.tax_regime_code, qry.tax_regime_code),
660 NVL(TaxLines.tax, qry.tax)
661 FROM (SELECT NVL(rates.tax_regime_code,
662 ContDef.tax_regime_code) tax_regime_code,
663 NVL(rates.tax, ContDef.tax) tax,
664 TaxLines_gt.application_id application_id,
665 TaxLines_gt.entity_code entity_code,
666 TaxLines_gt.event_class_code event_class_code,
667 TaxLines_gt.trx_id trx_id,
668 TaxLines_gt.summary_tax_line_number summary_tax_line_number
669 FROM ZX_FC_COUNTRY_DEFAULTS ContDef,
670 ZX_IMPORT_TAX_LINES_GT TaxLines_gt,
671 ZX_TRX_HEADERS_GT Header,
672 ZX_TRANSACTION_LINES_GT Lines,
673 ZX_RATES_B rates,
674 ZX_SUBSCRIPTION_DETAILS sd_rates
675 WHERE TaxLines_gt.tax_rate_id = rates.tax_rate_id(+)
676 AND (Taxlines_gt.tax_rate_code IS NOT NULL OR Taxlines_gt.tax_rate_id IS NOT NULL)
677 AND lines.tax_date --Bug 5018766
678 BETWEEN nvl(rates.effective_from,lines.tax_date)
679 AND nvl(rates.effective_to,lines.tax_date )
680 AND ContDef.country_code(+) = Header.default_taxation_country
681 AND TaxLines_gt.application_id = Header.application_id
682 AND TaxLines_gt.entity_code = Header.entity_code
683 AND TaxLines_gt.event_class_code = Header.event_class_code
684 AND TaxLines_gt.trx_id = Header.trx_id
685 AND Lines.application_id = Header.application_id
686 AND Lines.entity_code = Header.entity_code
687 AND Lines.event_class_code = Header.event_class_code
688 AND Lines.trx_id = Header.trx_id
689 AND
690 (-- One to One Alloc
691 (
692 lines.trx_line_id = taxlines_gt.trx_line_id
693 )
694 OR
695 --Multi Alloc
696 (
697 taxlines_gt.trx_line_id IS NULL
698 AND taxlines_gt.tax_line_allocation_flag = 'Y'
699 AND lines.trx_line_id =
700 (
701 SELECT
702 MIN(trx_line_id)
703 FROM zx_trx_tax_link_gt link_gt
704 WHERE link_gt.TRX_ID = taxlines_gt.trx_id
705 AND link_gt.application_id = taxlines_gt.application_id
706 AND link_gt.entity_code = taxlines_gt.entity_code
707 AND link_gt.event_class_code = taxlines_gt.event_class_code
708 AND link_gt.summary_tax_line_number = taxlines_gt.summary_tax_line_number
709 )
710 )
711 OR
712 --All Alloc
713 (
714 taxlines_gt.trx_line_id IS NULL
715 AND taxlines_gt.tax_line_allocation_flag = 'N'
716 AND lines.trx_line_id =
717 (
718 SELECT
719 MIN(trx_line_id)
720 FROM zx_transaction_lines_gt trans_line_gt
721 WHERE trans_line_gt.trx_id = taxlines_gt.trx_id
722 AND trans_line_gt.application_id = taxlines_gt.application_id
723 AND trans_line_gt.entity_code = taxlines_gt.entity_code
724 AND trans_line_gt.event_class_code = taxlines_gt.event_class_code
725 )
726 )
727 )
728 AND Rates.tax_regime_code = sd_rates.tax_regime_code(+)
729 AND Rates.rate_type_code <> 'RECOVERY' -- Added for Bug#7504455
730 AND
731 ( Rates.content_owner_id = sd_rates.parent_first_pty_org_id
732 OR
733 sd_rates.parent_first_pty_org_id IS NULL )
734 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
735 AND (lines.subscription_date
736 BETWEEN NVL(sd_rates.effective_from,
737 lines.subscription_date)
738 AND NVL(sd_rates.effective_to,
739 lines.subscription_date)
740 OR
741 Rates.effective_from = (SELECT MIN(effective_from)
742 FROM zx_rates_b
743 WHERE
744 tax_regime_code = Rates.tax_regime_code and
745 tax = Rates.tax and
746 tax_status_code = Rates.tax_status_code and
747 tax_rate_code = Rates.tax_rate_code and
748 content_owner_id = Rates.content_owner_id and
749 rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
750 )
751 )
752 AND (NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC') OR
753 (NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
754 AND NOT EXISTS (SELECT 1 FROM zx_rates_b b
755 WHERE b.tax_regime_code = Rates.tax_regime_code
756 AND b.tax = Rates.tax
757 AND b.tax_status_code = Rates.tax_status_code
758 AND b.tax_rate_code = Rates.tax_rate_code
759 AND b.content_owner_id = sd_rates.first_pty_org_id
760 AND b.rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
761 )
762 )
763 )
764 ) qry
765 where TaxLines.application_id = qry.application_id
766 AND TaxLines.entity_code = qry.entity_code
767 AND TaxLines.event_class_code = qry.event_class_code
768 AND TaxLines.trx_id = qry.trx_id
769 AND TaxLines.summary_tax_line_number = qry.summary_tax_line_number
770 AND ROWNUM = 1 -- To Prevent more than one row being fetched for a single row update
771 )
772 WHERE TaxLines.tax_rate_code IS NULL
773 AND TaxLines.tax_rate_id IS NOT NULL
774 AND ( TaxLines.tax_regime_code IS NULL OR TaxLines.tax IS NULL );
775
776 IF (g_level_statement >= g_current_runtime_level ) THEN
777 FND_LOG.STRING(g_level_statement,
778 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
779 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:Defaulting for Tax Status Code');
780 END IF;
781
782 UPDATE ZX_IMPORT_TAX_LINES_GT TaxLines
783 SET tax_status_code =
784 (SELECT Status.tax_status_code
785 FROM ZX_STATUS_B Status,
786 ZX_TRX_HEADERS_GT Header,
787 ZX_TRANSACTION_LINES_GT Lines,
788 ZX_SUBSCRIPTION_DETAILS sd_status,
789 ZX_RATES_B rates,
790 ZX_SUBSCRIPTION_DETAILS sd_rates
791 WHERE Status.tax_regime_code = TaxLines.tax_regime_code
792 AND Status.tax = TaxLines.tax
793 --AND Status.default_status_flag = 'Y'
794 AND (Taxlines.tax_rate_code IS NOT NULL OR Taxlines.tax_rate_id IS NOT NULL)
795 AND ((Taxlines.tax_rate_code IS NOT NULL and rates.tax_rate_code = Taxlines.tax_rate_code)
796 OR (Taxlines.tax_rate_id IS NOT NULL and rates.tax_rate_id = Taxlines.tax_rate_id))
797 AND rates.tax_status_code = Status.tax_status_code
798 AND lines.tax_date --Bug 5018766
799 BETWEEN status.effective_from
800 AND NVL(Status.effective_to, lines.tax_date ) --Bug 5018766,6982881
801 AND TaxLines.application_id = Header.application_id
802 AND TaxLines.entity_code = Header.entity_code
803 AND TaxLines.event_class_code = Header.event_class_code
804 AND TaxLines.trx_id = Header.trx_id
805 AND Lines.application_id = Header.application_id
806 AND Lines.entity_code = Header.entity_code
807 AND Lines.event_class_code = Header.event_class_code
808 AND Lines.trx_id = Header.trx_id
809 AND
810 (-- One to One Alloc
811 (
812 lines.trx_line_id = TaxLines.trx_line_id
813 )
814 OR
815 --Multi Alloc
816 (
817 TaxLines.trx_line_id IS NULL
818 AND TaxLines.tax_line_allocation_flag = 'Y'
819 AND lines.trx_line_id =
820 (
821 SELECT
822 MIN(trx_line_id)
823 FROM zx_trx_tax_link_gt link_gt
824 WHERE link_gt.TRX_ID = TaxLines.trx_id
825 AND link_gt.application_id = TaxLines.application_id
826 AND link_gt.entity_code = TaxLines.entity_code
827 AND link_gt.event_class_code = TaxLines.event_class_code
828 AND link_gt.summary_tax_line_number = TaxLines.summary_tax_line_number
829 )
830 )
831 OR
832 --All Alloc
833 (
834 TaxLines.trx_line_id IS NULL
835 AND TaxLines.tax_line_allocation_flag = 'N'
836 AND lines.trx_line_id =
837 (
838 SELECT
839 MIN(trx_line_id)
840 FROM zx_transaction_lines_gt trans_line_gt
841 WHERE trans_line_gt.trx_id = TaxLines.trx_id
842 AND trans_line_gt.application_id = TaxLines.application_id
843 AND trans_line_gt.entity_code = TaxLines.entity_code
844 AND trans_line_gt.event_class_code = TaxLines.event_class_code
845 )
846 )
847 )
848 AND status.tax_regime_code = sd_status.tax_regime_code
849 AND status.content_owner_id = sd_status.parent_first_pty_org_id
850 AND sd_status.first_pty_org_id = g_first_pty_org_id
851 AND (lines.subscription_date
852 BETWEEN NVL(sd_status.effective_from,
853 lines.subscription_date
854 )
855 AND NVL(sd_status.effective_to,
856 lines.subscription_date
857 )
858 OR status.effective_from = (SELECT MIN(effective_from)
859 FROM ZX_STATUS_B
860 WHERE tax_regime_code = status.tax_regime_code and
861 tax = status.tax and
862 tax_status_code = status.tax_status_code and
863 content_owner_id = status.content_owner_id
864 )
865 )
866 AND (NVL(sd_status.view_options_code,'NONE') in ('NONE', 'VFC') OR
867 (NVL(sd_status.view_options_code,'VFR') = 'VFR'
868 AND NOT EXISTS ( SELECT 1 FROM zx_status_vl b
869 WHERE b.tax_regime_code = status.tax_regime_code
870 AND b.tax = status.tax
871 AND b.tax_status_code = status.tax_status_code
872 AND b.content_owner_id = sd_status.first_pty_org_id
873 )
874 )
875 )
876 AND Rates.tax_regime_code = sd_rates.tax_regime_code(+)
877 AND Rates.rate_type_code <> 'RECOVERY' -- Added for Bug#7504455
878 AND ( Rates.content_owner_id = sd_rates.parent_first_pty_org_id
879 OR sd_rates.parent_first_pty_org_id IS NULL )
880 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
881 AND (lines.subscription_date
882 BETWEEN NVL(sd_rates.effective_from,
883 lines.subscription_date)
884 AND NVL(sd_rates.effective_to,
885 lines.subscription_date)
886 OR
887 Rates.effective_from = (SELECT MIN(effective_from)
888 FROM zx_rates_b
889 WHERE
890 tax_regime_code = Rates.tax_regime_code and
891 tax = Rates.tax and
892 tax_status_code = Rates.tax_status_code and
893 tax_rate_code = Rates.tax_rate_code and
894 content_owner_id = Rates.content_owner_id and
895 rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
896 )
897 )
898 AND (NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC') OR
899 (NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
900 AND NOT EXISTS (SELECT 1 FROM zx_rates_b b
901 WHERE b.tax_regime_code = Rates.tax_regime_code
902 AND b.tax = Rates.tax
903 AND b.tax_status_code = Rates.tax_status_code
904 AND b.tax_rate_code = Rates.tax_rate_code
905 AND b.content_owner_id = sd_rates.first_pty_org_id
906 AND b.rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
907 )
908 ))
909 AND ROWNUM = 1 -- To Prevent more than one row being fetched for a single row update
910 )
911 WHERE tax_status_code is NULL AND
912 (tax_rate_code IS NOT NULL OR tax_rate_id IS NOT NULL);
913
914
915 IF (g_level_statement >= g_current_runtime_level ) THEN
916 FND_LOG.STRING(g_level_statement,
917 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
918 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:Defaulting for tax_provider_id in ZX_IMPORT_TAX_LINES_GT ');
919 END IF;
920
921 --Defaulting for tax Provider Id
922 Update ZX_IMPORT_TAX_LINES_GT TaxLines
923 SET tax_provider_id =
924 (SELECT srvc.srvc_provider_id
925 FROM ZX_SRVC_SUBSCRIPTIONS srvc,
926 ZX_REGIMES_USAGES reg,
927 ZX_TRX_HEADERS_GT Header,
928 ZX_TRANSACTION_LINES_GT Lines,
929 ZX_EVNT_CLS_MAPPINGS mapp
930 WHERE reg.tax_regime_code = TaxLines.tax_regime_code
931 AND srvc.regime_usage_id = reg.regime_usage_id
932 AND srvc.enabled_flag = 'Y'
933 AND mapp.application_id = TaxLines.application_id
934 AND mapp.entity_code = TaxLines.entity_code
935 AND mapp.event_class_code = TaxLines.event_class_code
936 AND TaxLines.application_id = Header.application_id
937 AND TaxLines.entity_code = Header.entity_code
938 AND TaxLines.event_class_code = Header.event_class_code
939 AND TaxLines.trx_id = Header.trx_id
940 AND srvc.prod_family_grp_code = mapp.prod_family_grp_code
941 AND Lines.application_id = Header.application_id
942 AND Lines.entity_code = Header.entity_code
943 AND Lines.event_class_code = Header.event_class_code
944 AND Lines.trx_id = Header.trx_id
945 AND
946 (-- One to One Alloc
947 (
948 lines.trx_line_id = TaxLines.trx_line_id
949 )
950 OR
951 --Multi Alloc
952 (
953 TaxLines.trx_line_id IS NULL
954 AND TaxLines.tax_line_allocation_flag = 'Y'
955 AND lines.trx_line_id =
956 (
957 SELECT
958 MIN(trx_line_id)
959 FROM zx_trx_tax_link_gt link_gt
960 WHERE link_gt.TRX_ID = TaxLines.trx_id
961 AND link_gt.application_id = TaxLines.application_id
962 AND link_gt.entity_code = TaxLines.entity_code
963 AND link_gt.event_class_code = TaxLines.event_class_code
964 AND link_gt.summary_tax_line_number = TaxLines.summary_tax_line_number
965 )
966 )
967 OR
968 --All Alloc
969 (
970 TaxLines.trx_line_id IS NULL
971 AND TaxLines.tax_line_allocation_flag = 'N'
972 AND lines.trx_line_id =
973 (
974 SELECT
975 MIN(trx_line_id)
976 FROM zx_transaction_lines_gt trans_line_gt
977 WHERE trans_line_gt.trx_id = TaxLines.trx_id
978 AND trans_line_gt.application_id = TaxLines.application_id
979 AND trans_line_gt.entity_code = TaxLines.entity_code
980 AND trans_line_gt.event_class_code = TaxLines.event_class_code
981 )
982 )
983 )
984 AND lines.subscription_date
985 BETWEEN(srvc.effective_from) AND
986 NVL(srvc.effective_to,
987 lines.subscription_date)
988 AND reg.first_pty_org_id = g_first_pty_org_id
989 AND NOT EXISTS (SELECT 1
990 FROM ZX_SRVC_SBSCRPTN_EXCLS excl
991 WHERE excl.application_id = TaxLines.application_id
992 AND excl.entity_code = TaxLines.entity_code
993 AND excl.event_class_code = TaxLines.event_class_code
994 AND excl.srvc_subscription_id = srvc_subscription_id
995 )
996 AND ROWNUM = 1 -- To Prevent more than one row being fetched for a single row update
997 )
998 WHERE tax_provider_id is NULL AND
999 (tax_rate_code IS NOT NULL OR tax_rate_id IS NOT NULL);
1000
1001
1002 /* Bug 4703541 : Defaulting for Tax Jurisdiction Code */
1003 /* Seperated the Defaulting for Tax Jurisdiction Code as tax_rate_code
1004 is defaulted based on the Jurisdiction Code */
1005 IF (g_level_statement >= g_current_runtime_level ) THEN
1006 FND_LOG.STRING(g_level_statement,
1007 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
1008 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:Defaulting for Tax Jurisdiction Code ');
1009 END IF;
1010
1011 UPDATE ZX_IMPORT_TAX_LINES_GT TaxLines
1012 SET tax_jurisdiction_code =
1013 (SELECT jur.TAX_JURISDICTION_CODE
1014 FROM ZX_JURISDICTIONS_B Jur,
1015 ZX_TRX_HEADERS_GT Header,
1016 ZX_TRANSACTION_LINES_GT Lines,
1017 ZX_RATES_B rates,
1018 ZX_SUBSCRIPTION_DETAILS sd_rates
1019 WHERE
1020 Jur.tax = TaxLines.Tax
1021 AND Jur.tax_regime_code = TaxLines.Tax_Regime_Code
1022 --AND Jur.default_jurisdiction_flag = 'Y'
1023 AND Jur.tax_jurisdiction_code = rates.tax_jurisdiction_code(+)
1024 AND (Taxlines.tax_rate_code IS NOT NULL OR Taxlines.tax_rate_id IS NOT NULL)
1025 AND ((Taxlines.tax_rate_code IS NOT NULL and rates.tax_rate_code = Taxlines.tax_rate_code)
1026 OR (Taxlines.tax_rate_id IS NOT NULL and rates.tax_rate_id = Taxlines.tax_rate_id))
1027 AND lines.tax_date --Bug 5018766
1028 BETWEEN Jur.effective_from
1029 AND NVL(Jur.effective_to, lines.tax_date ) --Bug 5018766
1030 --AND lines.tax_date --Bug 5018766
1031 --BETWEEN Jur.default_flg_effective_from
1032 --AND NVL(Jur.default_flg_effective_to,
1033 -- lines.tax_date)
1034 AND TaxLines.application_id = Header.application_id
1035 AND TaxLines.entity_code = Header.entity_code
1036 AND TaxLines.event_class_code = Header.event_class_code
1037 AND TaxLines.trx_id = Header.trx_id
1038 AND Lines.application_id = TaxLines.application_id
1039 AND Lines.entity_code = TaxLines.entity_code
1040 AND Lines.event_class_code = TaxLines.event_class_code
1041 AND Lines.trx_id = TaxLines.trx_id
1042 AND
1043 (-- One to One Alloc
1044 (
1045 lines.trx_line_id = TaxLines.trx_line_id
1046 )
1047 OR
1048 --Multi Alloc
1049 (
1050 TaxLines.trx_line_id IS NULL
1051 AND TaxLines.tax_line_allocation_flag = 'Y'
1052 AND lines.trx_line_id =
1053 (
1054 SELECT
1055 MIN(trx_line_id)
1056 FROM zx_trx_tax_link_gt link_gt
1057 WHERE link_gt.TRX_ID = TaxLines.trx_id
1058 AND link_gt.application_id = TaxLines.application_id
1059 AND link_gt.entity_code = TaxLines.entity_code
1060 AND link_gt.event_class_code = TaxLines.event_class_code
1061 AND link_gt.summary_tax_line_number = TaxLines.summary_tax_line_number
1062 )
1063 )
1064 OR
1065 --All Alloc
1066 (
1067 TaxLines.trx_line_id IS NULL
1068 AND TaxLines.tax_line_allocation_flag = 'N'
1069 AND lines.trx_line_id =
1070 (
1071 SELECT
1072 MIN(trx_line_id)
1073 FROM zx_transaction_lines_gt trans_line_gt
1074 WHERE trans_line_gt.trx_id = TaxLines.trx_id
1075 AND trans_line_gt.application_id = TaxLines.application_id
1076 AND trans_line_gt.entity_code = TaxLines.entity_code
1077 AND trans_line_gt.event_class_code = TaxLines.event_class_code
1078 )
1079 )
1080 )
1081 AND Rates.tax_regime_code = sd_rates.tax_regime_code(+)
1082 AND ( Rates.content_owner_id = sd_rates.parent_first_pty_org_id
1083 OR sd_rates.parent_first_pty_org_id IS NULL )
1084 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
1085 AND (lines.subscription_date
1086 BETWEEN NVL(sd_rates.effective_from,
1087 lines.subscription_date)
1088 AND NVL(sd_rates.effective_to,
1089 lines.subscription_date)
1090 OR
1091 Rates.effective_from = (SELECT MIN(effective_from)
1092 FROM zx_rates_b
1093 WHERE
1094 tax_regime_code = Rates.tax_regime_code and
1095 tax = Rates.tax and
1096 tax_status_code = Rates.tax_status_code and
1097 tax_rate_code = Rates.tax_rate_code and
1098 content_owner_id = Rates.content_owner_id
1099 )
1100 )
1101 AND (NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC') OR
1102 (NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
1103 AND NOT EXISTS (SELECT 1 FROM zx_rates_b b
1104 WHERE b.tax_regime_code = Rates.tax_regime_code
1105 AND b.tax = Rates.tax
1106 AND b.tax_status_code = Rates.tax_status_code
1107 AND b.tax_rate_code = Rates.tax_rate_code
1108 AND b.content_owner_id = sd_rates.first_pty_org_id
1109 )
1110 ))
1111 AND ROWNUM = 1 -- To Prevent more than one row being fetched for a single row update
1112 )
1113 WHERE tax_jurisdiction_code is NULL AND
1114 (tax_rate_code IS NOT NULL OR tax_rate_id IS NOT NULL);
1115
1116 IF (g_level_statement >= g_current_runtime_level ) THEN
1117 FND_LOG.STRING(g_level_statement,
1118 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
1119 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:Defaulting for Tax Rate Code,
1120 Tax Rate Id, Percentage Rate ');
1121 END IF;
1122
1123
1124 /* Defaulting for Tax Rate Code, Tax Rate Id, Percentage Rate */
1125 --Bug 4703541 : Seperated Logic to Default Rates and the Jurisdiction Code.
1126 -- bug 7414628 split the query using UNION ALL based on tax_rate_code and tax_rate_id
1127 UPDATE zx_import_tax_lines_gt TaxLines
1128 SET (tax_rate_code,
1129 tax_rate_id,
1130 tax_rate) =
1131 (
1132 SELECT NVL(TaxLines.tax_rate_code, qry.rate_code),
1133 NVL(TaxLines.tax_rate_id, qry.rate_id),
1134 NVL(TaxLines.tax_rate, qry.percnt_rate)
1135 FROM (
1136 SELECT NVL(taxlines.tax_rate_code,Rates.tax_rate_code) rate_code,
1137 NVL(taxlines.tax_rate_id,Rates.tax_rate_id) rate_id,
1138 NVL(taxlines.tax_rate,Rates.percentage_rate) percnt_rate,
1139 TaxLines.application_id application_id,
1140 TaxLines.entity_code entity_code,
1141 TaxLines.event_class_code event_class_code,
1142 TaxLines.trx_id trx_id,
1143 TaxLines.summary_tax_line_number summary_tax_line_number
1144 FROM zx_rates_b rates,
1145 zx_trx_headers_gt header,
1146 zx_transaction_lines_gt lines,
1147 zx_subscription_details sd_rates,
1148 zx_import_tax_lines_gt taxlines
1149 WHERE TaxLines.tax_regime_Code = rates.tax_regime_code(+)
1150 -- AND (Taxlines.tax_rate_code IS NOT NULL OR Taxlines.tax_rate_id IS NOT NULL)
1151 AND TaxLines.tax = rates.tax(+)
1152 AND ( TaxLines.tax_jurisdiction_code = rates.tax_jurisdiction_code
1153 OR
1154 rates.tax_jurisdiction_code IS NULL
1155 OR
1156 TaxLines.tax_jurisdiction_code IS NULL
1157 )
1158 --and Rates.default_rate_flag(+) = 'Y'
1159 AND TaxLines.tax_status_code = rates.tax_status_code(+)
1160 -- AND ((Taxlines.tax_rate_code IS NOT NULL AND
1161 -- Taxlines.tax_rate_code = rates.tax_rate_code)
1162 -- OR (Taxlines.tax_rate_id IS NOT NULL AND
1163 -- Taxlines.tax_rate_id = rates.tax_rate_id))
1164 AND Taxlines.tax_rate_id = rates.tax_rate_id
1165 AND lines.tax_date --Bug 5018766
1166 -- BETWEEN nvl(Rates.default_flg_effective_from, -- Commented as a fix of Bug#7148665
1167 -- AND NVL(Rates.default_flg_effective_to, -- Commented as a fix of Bug#7148665
1168 BETWEEN nvl(Rates.effective_from, lines.tax_date)
1169 AND NVL(Rates.effective_to, lines.tax_date)
1170 AND Rates.tax_regime_code = sd_rates.tax_regime_code(+)
1171 AND Rates.active_flag = 'Y'
1172 AND Rates.rate_type_code <> 'RECOVERY' -- Added for Bug#7504455
1173 AND ( Rates.content_owner_id = sd_rates.parent_first_pty_org_id
1174 OR
1175 sd_rates.parent_first_pty_org_id IS NULL
1176 )
1177 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
1178 AND (lines.subscription_date
1179 BETWEEN NVL(sd_rates.effective_from,lines.subscription_date)
1180 AND NVL(sd_rates.effective_to,lines.subscription_date)
1181 OR
1182 Rates.effective_from = (SELECT MIN(effective_from)
1183 FROM zx_rates_b
1184 WHERE tax_regime_code = Rates.tax_regime_code
1185 and tax = Rates.tax
1186 and tax_status_code = Rates.tax_status_code
1187 and tax_rate_code = Rates.tax_rate_code
1188 and content_owner_id = Rates.content_owner_id
1189 and rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
1190 )
1191 )
1192 AND ( NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC')
1193 OR
1194 (NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
1195 AND NOT EXISTS (SELECT 1 FROM zx_rates_b b
1196 WHERE b.tax_regime_code = Rates.tax_regime_code
1197 AND b.tax = Rates.tax
1198 AND b.tax_status_code = Rates.tax_status_code
1199 AND b.tax_rate_code = Rates.tax_rate_code
1200 AND b.content_owner_id = sd_rates.first_pty_org_id
1201 AND b.rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
1202 )
1203 )
1204 )
1205 AND TaxLines.application_id = Header.application_id
1206 AND TaxLines.entity_code = Header.entity_code
1207 AND TaxLines.event_class_code = Header.event_class_code
1208 AND TaxLines.trx_id = Header.trx_id
1209 AND Lines.application_id = Header.application_id
1210 AND Lines.entity_code = Header.entity_code
1211 AND Lines.event_class_code = Header.event_class_code
1212 AND Lines.trx_id = Header.trx_id
1213 AND (
1214 -- One to One Alloc
1215 ( lines.trx_line_id = TaxLines.trx_line_id )
1216 OR
1217 --Multi Alloc
1218 ( TaxLines.trx_line_id IS NULL
1219 AND TaxLines.tax_line_allocation_flag = 'Y'
1220 AND lines.trx_line_id =
1221 (SELECT MIN(trx_line_id)
1222 FROM zx_trx_tax_link_gt link_gt
1223 WHERE link_gt.TRX_ID = TaxLines.trx_id
1224 AND link_gt.application_id = TaxLines.application_id
1225 AND link_gt.entity_code = TaxLines.entity_code
1226 AND link_gt.event_class_code = TaxLines.event_class_code
1227 AND link_gt.summary_tax_line_number = TaxLines.summary_tax_line_number
1228 )
1229 )
1230 OR
1231 --All Alloc
1232 ( TaxLines.trx_line_id IS NULL
1233 AND TaxLines.tax_line_allocation_flag = 'N'
1234 AND lines.trx_line_id =
1235 (SELECT MIN(trx_line_id)
1236 FROM zx_transaction_lines_gt trans_line_gt
1237 WHERE trans_line_gt.trx_id = TaxLines.trx_id
1238 AND trans_line_gt.application_id = TaxLines.application_id
1239 AND trans_line_gt.entity_code = TaxLines.entity_code
1240 AND trans_line_gt.event_class_code = TaxLines.event_class_code
1241 )
1242 )
1243 )
1244 -- debug for bug 7414628 added UNION ALL by splitting the code for the join
1245 -- AND (Taxlines.tax_rate_code = rates.tax_rate_code OR Taxlines.tax_rate_id = rates.tax_rate_id)
1246 UNION ALL
1247 SELECT /*+ index(rates ZX_RATES_B_U2) */
1248 NVL(taxlines.tax_rate_code,Rates.tax_rate_code) rate_code,
1249 NVL(taxlines.tax_rate_id,Rates.tax_rate_id) rate_id,
1250 NVL(taxlines.tax_rate,Rates.percentage_rate) percnt_rate,
1251 TaxLines.application_id application_id,
1252 TaxLines.entity_code entity_code,
1253 TaxLines.event_class_code event_class_code,
1254 TaxLines.trx_id trx_id,
1255 TaxLines.summary_tax_line_number summary_tax_line_number
1256 FROM zx_rates_b rates,
1257 zx_trx_headers_gt header,
1258 zx_transaction_lines_gt lines,
1259 zx_subscription_details sd_rates,
1260 zx_import_tax_lines_gt taxlines
1261 WHERE TaxLines.tax_regime_Code = rates.tax_regime_code(+)
1262 -- AND (Taxlines.tax_rate_code IS NOT NULL OR Taxlines.tax_rate_id IS NOT NULL)
1263 AND TaxLines.tax = rates.tax(+)
1264 AND ( TaxLines.tax_jurisdiction_code = rates.tax_jurisdiction_code
1265 OR
1266 rates.tax_jurisdiction_code IS NULL
1267 OR
1268 TaxLines.tax_jurisdiction_code IS NULL
1269 )
1270 --and Rates.default_rate_flag(+) = 'Y'
1271 AND TaxLines.tax_status_code = rates.tax_status_code(+)
1272 -- AND ((Taxlines.tax_rate_code IS NOT NULL AND
1273 -- Taxlines.tax_rate_code = rates.tax_rate_code)
1274 -- OR (Taxlines.tax_rate_id IS NOT NULL AND
1275 -- Taxlines.tax_rate_id = rates.tax_rate_id))
1276 AND taxlines.tax_rate_code = rates.tax_rate_code
1277 AND lines.tax_date --Bug 5018766
1278 -- BETWEEN nvl(Rates.default_flg_effective_from, -- Commented as a fix of Bug#7148665
1279 -- AND NVL(Rates.default_flg_effective_to, -- Commented as a fix of Bug#7148665
1280 BETWEEN NVL(Rates.effective_from, lines.tax_date)
1281 AND NVL(Rates.effective_to, lines.tax_date)
1282 AND Rates.tax_regime_code = sd_rates.tax_regime_code(+)
1283 AND Rates.active_flag = 'Y'
1284 AND Rates.rate_type_code <> 'RECOVERY' -- Added for Bug#7504455
1285 AND ( Rates.content_owner_id = sd_rates.parent_first_pty_org_id
1286 OR
1287 sd_rates.parent_first_pty_org_id IS NULL
1288 )
1289 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
1290 AND (lines.subscription_date
1291 BETWEEN NVL(sd_rates.effective_from,lines.subscription_date)
1292 AND NVL(sd_rates.effective_to,lines.subscription_date)
1293 OR
1294 Rates.effective_from = (SELECT MIN(effective_from)
1295 FROM zx_rates_b
1296 WHERE tax_regime_code = Rates.tax_regime_code
1297 and tax = Rates.tax
1298 and tax_status_code = Rates.tax_status_code
1299 and tax_rate_code = Rates.tax_rate_code
1300 and content_owner_id = Rates.content_owner_id
1301 and rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
1302 )
1303 )
1304 AND ( NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC')
1305 OR
1306 (NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
1307 AND NOT EXISTS (SELECT 1 FROM zx_rates_b b
1308 WHERE b.tax_regime_code = Rates.tax_regime_code
1309 AND b.tax = Rates.tax
1310 AND b.tax_status_code = Rates.tax_status_code
1311 AND b.tax_rate_code = Rates.tax_rate_code
1312 AND b.content_owner_id = sd_rates.first_pty_org_id
1313 AND b.rate_type_code = Rates.rate_type_code -- Added for Bug#7504455
1314 )
1315 )
1316 )
1317 AND TaxLines.application_id = Header.application_id
1318 AND TaxLines.entity_code = Header.entity_code
1319 AND TaxLines.event_class_code = Header.event_class_code
1320 AND TaxLines.trx_id = Header.trx_id
1321 AND Lines.application_id = Header.application_id
1322 AND Lines.entity_code = Header.entity_code
1323 AND Lines.event_class_code = Header.event_class_code
1324 AND Lines.trx_id = Header.trx_id
1325 AND (
1326 -- One to One Alloc
1327 ( lines.trx_line_id = TaxLines.trx_line_id )
1328 OR
1329 --Multi Alloc
1330 ( TaxLines.trx_line_id IS NULL
1331 AND TaxLines.tax_line_allocation_flag = 'Y'
1332 AND lines.trx_line_id =
1333 (SELECT MIN(trx_line_id)
1334 FROM zx_trx_tax_link_gt link_gt
1335 WHERE link_gt.TRX_ID = TaxLines.trx_id
1336 AND link_gt.application_id = TaxLines.application_id
1337 AND link_gt.entity_code = TaxLines.entity_code
1338 AND link_gt.event_class_code = TaxLines.event_class_code
1339 AND link_gt.summary_tax_line_number = TaxLines.summary_tax_line_number
1340 )
1341 )
1342 OR
1343 --All Alloc
1344 ( TaxLines.trx_line_id IS NULL
1345 AND TaxLines.tax_line_allocation_flag = 'N'
1346 AND lines.trx_line_id =
1347 (SELECT MIN(trx_line_id)
1348 FROM zx_transaction_lines_gt trans_line_gt
1349 WHERE trans_line_gt.trx_id = TaxLines.trx_id
1350 AND trans_line_gt.application_id = TaxLines.application_id
1351 AND trans_line_gt.entity_code = TaxLines.entity_code
1352 AND trans_line_gt.event_class_code = TaxLines.event_class_code
1353 )
1354 )
1355 )
1356 ) qry
1357 WHERE TaxLines.application_id = qry.application_id
1358 AND TaxLines.entity_code = qry.entity_code
1359 AND TaxLines.event_class_code = qry.event_class_code
1360 AND TaxLines.trx_id = qry.trx_id
1361 AND TaxLines.summary_tax_line_number = qry.summary_tax_line_number
1362 AND ROWNUM =1 -- To Prevent more than one row being fetched for a single row update
1363 );
1364
1365 /*Defaulting for Transaction Business Category and Product Category
1366 Product Fiscal Classification and Assessable Value */
1367
1368 IF (g_level_statement >= g_current_runtime_level ) THEN
1369 FND_LOG.STRING(g_level_statement,
1370 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
1371 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:
1372 Defaulting for Transaction Business Category and Product Category,
1373 Product Fiscal Classification and Assessable Value');
1374 END IF;
1375
1376 IF (g_level_statement >= g_current_runtime_level ) THEN
1377 FND_LOG.STRING(g_level_statement,
1378 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
1379 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR: Before Call to the private procedure
1380 to default the additional tax attributes ');
1381 END IF;
1382
1383 -- Call the private procedure to default the tax attributes.
1384 def_additional_tax_attribs;
1385
1386 IF (g_level_statement >= g_current_runtime_level ) THEN
1387 FND_LOG.STRING(g_level_statement,
1388 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
1389 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR:Defaulting tax amount if it is NULL
1390 and tax rate is specified ');
1391 END IF;
1392
1393 --- CR 3275391 Default tax amount if it is NULL and tax rate is specified ----
1394 /* Commented for the Bug 4902521
1395 UPDATE ZX_IMPORT_TAX_LINES_GT TaxLines
1396 SET tax_amt = (SELECT CASE WHEN (tax_amt_included_flag <> 'Y')
1397 THEN tax_rate * line_amt / ( 100 + sum_of_tax_rates)
1398 WHEN (sum_of_tax_rates = 0 )
1399 THEN 0
1400 END
1401 FROM (SELECT (SELECT SUM(tax_rate)
1402 FROM temp
1403 GROUP BY trx_line_id) sum_of_tax_rates ,
1404 TAX_AMT_INCLUDED_FLAG,
1405 LINE_AMT, tax_rate
1406 FROM -- temp subqry
1407 (SELECT TaxLines.tax_rate,
1408 TaxLines.tax_amt_included_flag,
1409 TaxLink.line_amt,
1410 TaxLines.trx_id,
1411 TaxLines.trx_line_id
1412 FROM ZX_TRX_TAX_LINK_GT TaxLink,
1413 ZX_IMPORT_TAX_LINES_GT TaxLines,
1414 ZX_TRX_HEADERS_GT Header,
1415 ZX_TRANSACTION_LINES_GT Lines,
1416 ZX_TAXES_B tax,
1417 zx_rates_b rate,
1418 zx_subscription_details sd_tax,
1419 zx_subscription_details sd_rates
1420 WHERE Taxlines.TAX_LINE_ALLOCATION_FLAG = 'Y'
1421 AND TaxLines.tax_amt is NULL
1422 AND TaxLines.tax_rate is not NULL
1423 AND TaxLines.application_id = taxLink.application_id
1424 AND TaxLines.entity_code = taxLink.entity_code
1425 AND TaxLines.event_class_code = taxLink.event_class_code
1426 AND TaxLines.summary_tax_line_number = taxLink.summary_tax_line_number
1427 AND TaxLines.trx_id = TaxLink.trx_id
1428 AND TaxLines.application_id = Header.application_id
1429 AND TaxLines.entity_code = Header.entity_code
1430 AND TaxLines.event_class_code = Header.event_class_code
1431 AND TaxLines.trx_id = Header.trx_id
1432 AND Lines.application_id = Header.application_id
1433 AND Lines.entity_code = Header.entity_code
1434 AND Lines.event_class_code = Header.event_class_code
1435 AND Lines.trx_id = Header.trx_id
1436 AND
1437 (-- One to One Alloc
1438 (
1439 lines.trx_line_id = TaxLines.trx_line_id
1440 )
1441 OR
1442 --Multi Alloc
1443 (
1444 TaxLines.trx_line_id IS NULL
1445 AND TaxLines.tax_line_allocation_flag = 'Y'
1446 AND lines.trx_line_id =
1447 (
1448 SELECT
1449 MIN(trx_line_id)
1450 FROM zx_trx_tax_link_gt link_gt
1451 WHERE link_gt.TRX_ID = TaxLines.trx_id
1452 AND link_gt.application_id = TaxLines.application_id
1453 AND link_gt.entity_code = TaxLines.entity_code
1454 AND link_gt.event_class_code = TaxLines.event_class_code
1455 AND link_gt.summary_tax_line_number = TaxLines.summary_tax_line_number
1456 )
1457 )
1458 OR
1459 --All Alloc
1460 (
1461 TaxLines.trx_line_id IS NULL
1462 AND TaxLines.tax_line_allocation_flag = 'N'
1463 AND lines.trx_line_id =
1464 (
1465 SELECT
1466 MIN(trx_line_id)
1467 FROM zx_transaction_lines_gt trans_line_gt
1468 WHERE trans_line_gt.trx_id = TaxLines.trx_id
1469 AND trans_line_gt.application_id = TaxLines.application_id
1470 AND trans_line_gt.entity_code = TaxLines.entity_code
1471 AND trans_line_gt.event_class_code = TaxLines.event_class_code
1472 )
1473 )
1474 )
1475 --* for taxes
1476 AND NVL(tax.def_taxable_basis_formula,'STANDARD_TB') = 'STANDARD_TB'
1477 AND tax.tax(+) = taxlines.tax
1478 AND tax.tax_regime_code = sd_tax.tax_regime_code (+)
1479 AND tax.content_owner_id = sd_tax.parent_first_pty_org_id(+)
1480 AND sd_tax.first_pty_org_id(+) = g_first_pty_org_id
1481 AND(COALESCE(header.related_doc_date,
1482 header.provnl_tax_determination_date,
1483 Lines.adjusted_doc_date,
1484 header.trx_date,
1485 SYSDATE)
1486 BETWEEN nvl(sd_tax.effective_from,
1487 COALESCE(header.related_doc_date,
1488 header.provnl_tax_determination_date,
1489 Lines.adjusted_doc_date,
1490 header.trx_date,
1491 SYSDATE) )
1492 AND NVL(sd_tax.effective_to,
1493 COALESCE(header.related_doc_date,
1494 header.provnl_tax_determination_date,
1495 Lines.adjusted_doc_date,
1496 header.trx_date,
1497 SYSDATE) )
1498 OR
1499 tax.effective_from = (SELECT MIN(effective_from)
1500 FROM ZX_TAXES_B
1501 WHERE
1502 tax_regime_code = tax.tax_regime_code and
1503 tax = tax.tax and
1504 content_owner_id = tax.content_owner_id
1505 )
1506 )
1507 and (nvl(sd_tax.view_options_code,'NONE') in ('NONE', 'VFC') OR
1508 (nvl(sd_tax.view_options_code,'VFR') = 'VFR'
1509 AND NOT EXISTS (SELECT 1 FROM zx_taxes_b b
1510 WHERE tax.tax_regime_code = b.tax_regime_code
1511 AND tax.tax = b.tax
1512 AND sd_tax.first_pty_org_id = b.content_owner_id
1513 )
1514 )
1515 )
1516 --* for rates
1517 AND NVL(rate.rate_type_code,'PERCENTAGE') = 'PERCENTAGE'
1518 AND rate.tax_rate_id(+) = taxlines.tax_rate_id
1519 AND rate.tax_rate_code (+) = taxlines.tax_rate_code
1520 AND rate.tax_regime_code = sd_rates.tax_regime_code (+)
1521 AND rate.content_owner_id = sd_rates.parent_first_pty_org_id (+)
1522 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
1523 AND (COALESCE(header.related_doc_date,
1524 header.provnl_tax_determination_date,
1525 Lines.adjusted_doc_date,
1526 header.trx_date,
1527 SYSDATE)
1528 BETWEEN nvl( sd_rates.effective_from,
1529 COALESCE(header.related_doc_date,
1530 header.provnl_tax_determination_date,
1531 Lines.adjusted_doc_date,
1532 header.trx_date,
1533 SYSDATE) )
1534 AND nvl(sd_rates.effective_to,
1535 COALESCE(header.related_doc_date,
1536 header.provnl_tax_determination_date,
1537 Lines.adjusted_doc_date,
1538 header.trx_date,
1539 SYSDATE) )
1540 OR
1541 rate.effective_from = (select min(effective_from)
1542 from ZX_RATES_B
1543 where
1544 tax_regime_code = rate.tax_regime_code and
1545 tax = rate.tax and
1546 tax_status_code = rate.tax_status_code and
1547 tax_rate_code = rate.tax_rate_code and
1548 content_owner_id = rate.content_owner_id
1549 )
1550 )
1551 AND (NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC') OR
1552 (NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
1553 AND NOT EXISTS (select 1 from zx_rates_b b
1554 where b.tax_regime_code = rate.tax_regime_code
1555 and b.tax = rate.tax
1556 and b.tax_status_code = rate.tax_status_code
1557 and b.tax_rate_code = rate.tax_rate_code
1558 and b.content_owner_id = sd_rates.first_pty_org_id
1559 )
1560 )
1561 )
1562 )) temp
1563 ); */
1564
1565 -- Bug#3910168
1566 -- Defaulting for tax classification code
1567
1568 IF (g_level_statement >= g_current_runtime_level ) THEN
1569 FND_LOG.STRING(g_level_statement,
1570 'ZX.PL/SQL.ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
1571 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR: Defaulting for tax classification code -
1572 Call to pop_def_tax_classif_code');
1573 END IF;
1574
1575 pop_def_tax_classif_code(x_return_status);
1576
1577 IF (g_level_procedure >= g_current_runtime_level ) THEN
1578 FND_LOG.STRING(g_level_procedure,
1579 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR.END',
1580 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR(-)');
1581 END IF;
1582
1583 EXCEPTION
1584 WHEN OTHERS THEN
1585 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1586 FND_LOG.STRING(g_level_unexpected,
1587 'ZX_VALIDATE_API_PKG.DEFAULT_TAX_ATTR',
1588 sqlerrm);
1589 END IF;
1590 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1591 app_exception.raise_exception;
1592
1593 END Default_Tax_Attr;
1594
1595
1596 --------------Wrapper Procedure For Validating -----------------------
1597
1598 PROCEDURE Validate_Tax_Attr(x_return_status OUT NOCOPY VARCHAR2) IS
1599
1600 l_trx_id_tbl TRX_ID_TBL;
1601 l_trx_line_id_tbl TRX_LINE_ID_TBL;
1602 l_trx_level_type_tbl TRX_LEVEL_TYPE_TBL;
1603 l_event_class_code_tbl EVENT_CLASS_CODE_TBL;
1604 l_entity_code_tbl ENTITY_CODE_TBL;
1605 l_application_id_tbl APPLICATION_ID_TBL;
1606 l_summary_tax_line_number_tbl SUMMARY_TAX_LINE_NUMBER_TBL;
1607 l_count NUMBER;
1608 l_error_buffer VARCHAR2(240);
1609
1610 c_lines_per_commit CONSTANT NUMBER := ZX_TDS_CALC_SERVICES_PUB_PKG.G_LINES_PER_COMMIT;
1611
1612 CURSOR get_header_and_line_info_csr
1613 IS
1614 SELECT
1615 header.application_id,
1616 header.entity_code,
1617 header.event_class_code,
1618 header.trx_id,
1619 lines_gt.trx_line_id,
1620 lines_gt.trx_level_type
1621
1622 FROM
1623 ZX_TRX_HEADERS_GT header,
1624 ZX_EVNT_CLS_MAPPINGS evntmap,
1625 ZX_TRANSACTION_LINES_GT lines_gt,
1626 ZX_FC_PRODUCT_CATEGORIES_V fc_prodcat,
1627 ZX_FC_CODES_B fc_user,
1628 ZX_FC_DOCUMENT_FISCAL_V fc_doc,
1629 ZX_FC_BUSINESS_CATEGORIES_V fc_trx,
1630 ZX_FC_CODES_B fc_int,
1631 FND_LOOKUPS fnd,
1632 FND_TERRITORIES fnd_terr,
1633 ZX_FC_PRODUCT_FISCAL_V fc_product
1634 --ZX_RATES_B rates --Commented for Bug#7504455--
1635
1636 WHERE
1637 lines_gt.trx_id = header.trx_id
1638 and fc_product.classification_code(+) =
1639 lines_gt.product_fisc_classification
1640 and fc_prodcat.classification_code(+) =
1641 lines_gt.product_category
1642 and fc_user.classification_type_code(+) = 'USER_DEFINED'
1643 and fc_user.classification_code(+) =
1644 lines_gt.user_defined_fisc_class
1645 and fc_doc.classification_code(+) = header.document_sub_type
1646 and fc_trx.classification_code(+) = lines_gt.trx_business_category
1647 and fc_trx.application_id(+) = lines_gt.application_id
1648 and fc_trx.entity_code(+) = lines_gt.entity_code
1649 and fc_trx.event_class_code(+) = lines_gt.event_class_code
1650 and fc_int.classification_type_code(+) = 'INTENDED_USE'
1651 and fc_int.classification_code(+) =
1652 lines_gt.line_intended_use
1653 and header.application_id = evntmap.application_id (+)
1654 and header.entity_code = evntmap.entity_code (+)
1655 and header.event_class_code = evntmap.event_class_code(+)
1656 and fnd.lookup_type(+) = 'ZX_PRODUCT_TYPE' AND
1657 fnd.lookup_code(+) = lines_gt.product_type
1658 and fnd_terr.territory_code(+) =
1659 header.default_taxation_country;
1660 --Commented for Bug#7504455--
1661 --and rates.tax_rate_code(+) = NVL(lines_gt.output_tax_classification_code,
1662 -- lines_gt.input_tax_classification_code);
1663
1664
1665 CURSOR get_import_tax_line_info_csr
1666 IS
1667 SELECT
1668 header.application_id,
1669 header.entity_code,
1670 header.event_class_code,
1671 header.trx_id,
1672 lines_gt.trx_line_id,
1673 lines_gt.trx_level_type,
1674 taxlines_gt.summary_tax_line_number
1675 FROM ZX_TRX_HEADERS_GT header,
1676 ZX_REGIMES_B regime ,
1677 ZX_TAXES_B tax ,
1678 ZX_STATUS_B status ,
1679 -- ZX_RATES_B rate ,
1680 -- zx_rates_b off_rate,
1681 -- zx_import_tax_lines_gt temp_gt,
1682 ZX_IMPORT_TAX_LINES_GT taxlines_gt,
1683 zx_transaction_lines_gt lines_gt,
1684 ZX_JURISDICTIONS_B jur,
1685 zx_subscription_details sd_reg,
1686 zx_subscription_details sd_tax,
1687 zx_subscription_details sd_status
1688 -- zx_subscription_details sd_rates
1689 WHERE taxlines_gt.trx_id = header.trx_id
1690 AND taxlines_gt.application_id = Header.application_id
1691 AND taxlines_gt.entity_code = Header.entity_code
1692 AND taxlines_gt.event_class_code = Header.event_class_code
1693 --AND (taxlines_gt.tax_rate_code IS NOT NULL OR taxlines_gt.tax_rate_id IS NOT NULL)
1694 AND jur.tax_jurisdiction_code(+) = taxlines_gt.tax_jurisdiction_code
1695 AND jur.tax_regime_code(+) = taxlines_gt.tax_regime_code
1696 AND jur.tax(+) = taxlines_gt.tax
1697 AND
1698 (
1699 lines_gt.tax_date --Bug 5018766
1700 BETWEEN
1701 nvl(jur.effective_from, lines_gt.tax_date) AND
1702 nvl(jur.effective_to,lines_gt.tax_date)
1703 /*OR jur.effective_from =
1704 (
1705 SELECT
1706 min(effective_from)
1707 FROM ZX_JURISDICTIONS_B
1708 WHERE tax_jurisdiction_code = jur.tax_jurisdiction_code
1709 ) */
1710 )
1711 AND lines_gt.application_id = header.application_id
1712 AND lines_gt.entity_code = header.entity_code
1713 AND lines_gt.event_class_code = header.event_class_code
1714 AND lines_gt.trx_id = header.trx_id
1715 AND
1716 (-- One to One Alloc
1717 (
1718 lines_gt.trx_line_id = taxlines_gt.trx_line_id
1719 )
1720 OR
1721 --Multi Alloc
1722 (
1723 taxlines_gt.trx_line_id IS NULL
1724 AND taxlines_gt.tax_line_allocation_flag = 'Y'
1725 AND lines_gt.trx_line_id =
1726 (
1727 SELECT
1728 MIN(trx_line_id)
1729 FROM zx_trx_tax_link_gt link_gt
1730 WHERE link_gt.TRX_ID = taxlines_gt.trx_id
1731 AND link_gt.application_id = taxlines_gt.application_id
1732 AND link_gt.entity_code = taxlines_gt.entity_code
1733 AND link_gt.event_class_code = taxlines_gt.event_class_code
1734 AND link_gt.summary_tax_line_number = taxlines_gt.summary_tax_line_number
1735 )
1736 )
1737 OR
1738 --All Alloc
1739 (
1740 taxlines_gt.trx_line_id IS NULL
1741 AND taxlines_gt.tax_line_allocation_flag = 'N'
1742 AND lines_gt.trx_line_id =
1743 (
1744 SELECT
1745 MIN(trx_line_id)
1746 FROM zx_transaction_lines_gt trans_line_gt
1747 WHERE trans_line_gt.trx_id = taxlines_gt.trx_id
1748 AND trans_line_gt.application_id = taxlines_gt.application_id
1749 AND trans_line_gt.entity_code = taxlines_gt.entity_code
1750 AND trans_line_gt.event_class_code = taxlines_gt.event_class_code
1751 )
1752 )
1753 )
1754 --* for regime
1755 AND regime.tax_regime_code(+) = taxlines_gt.tax_regime_code
1756 AND regime.TAX_REGIME_CODE = sd_reg.tax_regime_code (+)
1757 AND sd_reg.first_pty_org_id(+) = g_first_pty_org_id
1758 AND nvl(sd_reg.view_options_code,'NONE') in ('NONE', 'VFC') -- Bug 4902521
1759 AND (
1760 lines_gt.subscription_date
1761 BETWEEN
1762 NVL(sd_reg.effective_from,
1763 lines_gt.subscription_date
1764 )
1765 AND
1766 NVL(sd_reg.effective_to,
1767 lines_gt.subscription_date
1768 )
1769 /* OR regime.effective_from =
1770 (
1771 SELECT
1772 MIN(effective_from)
1773 FROM zx_regimes_b
1774 WHERE tax_regime_code = regime.tax_regime_code
1775 ) */
1776 )
1777 --* for taxes
1778 AND tax.tax(+) = taxlines_gt.tax
1779 AND tax.tax_regime_code(+) = taxlines_gt.tax_regime_code
1780 AND tax.tax_regime_code = sd_tax.tax_regime_code (+)
1781 AND (
1782 tax.content_owner_id = sd_tax.parent_first_pty_org_id
1783 OR
1784 sd_tax.parent_first_pty_org_id is NULL
1785 )
1786 AND sd_tax.first_pty_org_id(+) = g_first_pty_org_id
1787 AND
1788 (
1789 lines_gt.subscription_date
1790 BETWEEN
1791 nvl(sd_tax.effective_from,
1792 lines_gt.subscription_date
1793 )
1794 AND
1795 NVL(sd_tax.effective_to,
1796 lines_gt.subscription_date
1797 )
1798 /*OR tax.effective_from =
1799 (
1800 SELECT
1801 min(effective_from)
1802 FROM ZX_TAXES_B
1803 WHERE tax_regime_code = tax.tax_regime_code
1804 AND tax = tax.tax
1805 AND content_owner_id = tax.content_owner_id
1806 ) */
1807 )
1808 AND
1809 (
1810 nvl(sd_tax.view_options_code,'NONE') in ('NONE', 'VFC')
1811 OR
1812 (
1813 nvl(sd_tax.view_options_code,'VFR') = 'VFR'
1814 AND not exists
1815 (
1816 SELECT
1817 1
1818 FROM zx_taxes_b b
1819 WHERE tax.tax_regime_code = b.tax_regime_code
1820 AND tax.tax = b.tax
1821 AND sd_tax.first_pty_org_id = b.content_owner_id
1822 )
1823 )
1824 )
1825 --* for status
1826 AND status.tax_status_code(+) = taxlines_gt.tax_status_code
1827 AND status.tax(+) = taxlines_gt.tax
1828 AND status.tax_regime_code(+) = taxlines_gt.tax_regime_code
1829 AND status.tax_regime_code = sd_status.tax_regime_code (+)
1830 AND
1831 (
1832 status.content_owner_id = sd_status.parent_first_pty_org_id
1833 OR
1834 sd_status.parent_first_pty_org_id is NULL
1835 )
1836 AND sd_status.first_pty_org_id(+) = g_first_pty_org_id
1837 AND
1838 (
1839 lines_gt.subscription_date
1840 BETWEEN
1841 nvl( sd_status.effective_from,
1842 lines_gt.subscription_date
1843 )
1844 AND
1845 nvl(sd_status.effective_to,
1846 lines_gt.subscription_date
1847 )
1848 /*OR status.effective_from =
1849 (
1850 SELECT
1851 min(effective_from)
1852 FROM ZX_STATUS_B
1853 WHERE tax_regime_code = status.tax_regime_code
1854 AND tax = status.tax
1855 AND tax_status_code = status.tax_status_code
1856 AND content_owner_id = status.content_owner_id
1857 ) */
1858 )
1859 AND
1860 (
1861 NVL(sd_status.view_options_code,'NONE') in ('NONE', 'VFC')
1862 OR
1863 (
1864 NVL(sd_status.view_options_code,'VFR') = 'VFR'
1865 AND not exists
1866 (
1867 SELECT
1868 1
1869 FROM zx_status_vl b
1870 WHERE b.tax_regime_code = status.tax_regime_code
1871 AND b.tax = status.tax
1872 AND b.tax_status_code = status.tax_status_code
1873 AND b.content_owner_id = sd_status.first_pty_org_id
1874 )
1875 )
1876 ) ;
1877
1878 CURSOR get_tax_link_gt_info_csr
1879 IS
1880 SELECT
1881 application_id,
1882 entity_code,
1883 event_class_code,
1884 trx_id,
1885 interface_line_id,
1886 trx_level_type,
1887 summary_tax_line_number
1888 FROM zx_trx_tax_link_gt;
1889
1890 BEGIN
1891 x_return_status := FND_API.G_RET_STS_SUCCESS;
1892 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1893 IF (g_level_procedure >= g_current_runtime_level ) THEN
1894 FND_LOG.STRING(g_level_procedure,
1895 'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR.BEGIN',
1896 'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR(+)');
1897 END IF;
1898
1899 --Validations for ZX_TRX_HEADERS_GT, ZX_TRANSACTION_LINES_GT
1900 IF ( g_level_event >= g_current_runtime_level) THEN
1901 FND_LOG.STRING(g_level_event,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1902 'Validations for zx_trx_headers_gt and zx_transaction_lines_gt');
1903 END IF;
1904
1905 -- Select the key columns and write into fnd log for debug purpose
1906 IF ( g_level_statement >= g_current_runtime_level) THEN
1907 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1908 'Before opening the cursor - get_header_and_line_info_csr');
1909
1910 OPEN get_header_and_line_info_csr;
1911
1912 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1913 'After opening the cursor - get_header_and_line_info_csr');
1914
1915 LOOP
1916 FETCH get_header_and_line_info_csr BULK COLLECT INTO
1917 l_application_id_tbl,
1918 l_entity_code_tbl,
1919 l_event_class_code_tbl,
1920 l_trx_id_tbl,
1921 l_trx_line_id_tbl,
1922 l_trx_level_type_tbl
1923
1924 LIMIT C_LINES_PER_COMMIT;
1925
1926
1927 -- EXIT WHEN get_header_and_line_info_csr%notfound;
1928
1929 l_count := nvl(l_trx_line_id_tbl.COUNT,0);
1930
1931 FND_LOG.STRING(g_level_statement,
1932 'ZX.PLSQL.ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1933 'number of rows fetched = ' || to_char(l_count));
1934
1935 IF l_count > 0 THEN
1936
1937 FOR i IN 1.. l_count LOOP
1938
1939 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1940 'Row Number = ' || to_char(i) );
1941
1942 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1943 'l_application_id = ' || to_char(l_application_id_tbl(i)) );
1944
1945 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1946 'l_entity_code = ' || l_entity_code_tbl(i) );
1947
1948 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1949 'l_event_class_code = ' || l_event_class_code_tbl(i) );
1950
1951 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1952 'l_trx_id = ' || to_char(l_trx_id_tbl(i)) );
1953
1954 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1955 'l_trx_line_id = ' || to_char(l_trx_line_id_tbl(i)) );
1956
1957 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1958 'l_trx_level_type = ' || l_trx_level_type_tbl(i) );
1959
1960 END LOOP;
1961 ELSE
1962 EXIT ;
1963
1964 END IF; -- end of count checking
1965
1966 END LOOP;
1967
1968 CLOSE get_header_and_line_info_csr;
1969
1970 -- Clear the records
1971 l_application_id_tbl.delete;
1972 l_entity_code_tbl.delete;
1973 l_event_class_code_tbl.delete;
1974 l_trx_id_tbl.delete;
1975 l_trx_line_id_tbl.delete;
1976 l_trx_level_type_tbl.delete;
1977
1978 END IF; -- End of debug checking
1979
1980 IF ( g_level_statement >= g_current_runtime_level) THEN
1981 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
1982 'Before insertion into ZX_VALIDATION_ERRORS_GT - zx_trx_headers_gt and zx_transaction_lines_gt');
1983 END IF;
1984
1985 /******************** Split the Header and Line Level Validations : Bug 4703541******/
1986 /** 1. Validations for the zx_trx_headers_gt related **/
1987
1988 INSERT ALL
1989 WHEN (ZX_ROUND_PARTY_MISSING = 'Y') THEN
1990 INTO ZX_VALIDATION_ERRORS_GT(
1991 application_id,
1992 entity_code,
1993 event_class_code,
1994 trx_id,
1995 trx_line_id,
1996 summary_tax_line_number,
1997 message_name,
1998 message_text,
1999 trx_level_type,
2000 interface_line_entity_code,
2001 interface_line_id
2002 )
2003 VALUES(
2004 application_id,
2005 entity_code,
2006 event_class_code,
2007 trx_id,
2008 NULL ,--trx_line_id,
2009 NULL,
2010 'ZX_ROUND_PARTY_MISSING',
2011 l_round_party_missing,
2012 NULL ,--trx_level_type,
2013 NULL ,--interface_line_entity_code,
2014 NULL --interface_line_id
2015 )
2016 WHEN (ZX_CTRL_FLAG_MISSING = 'Y') THEN
2017
2018 INTO ZX_VALIDATION_ERRORS_GT(
2019 application_id,
2020 entity_code,
2021 event_class_code,
2022 trx_id,
2023 trx_line_id,
2024 summary_tax_line_number,
2025 message_name,
2026 message_text,
2027 trx_level_type,
2028 interface_line_entity_code,
2029 interface_line_id
2030 )
2031 VALUES(
2032 application_id,
2033 entity_code,
2034 event_class_code,
2035 trx_id,
2036 NULL ,--trx_line_id,
2037 NULL,
2038 'ZX_CTRFLAG_MISSING',
2039 l_ctrl_flag_missing,
2040 NULL ,--trx_level_type,
2041 NULL ,--interface_line_entity_code,
2042 NULL --interface_line_id
2043 )
2044 WHEN (TAXATION_COUNTRY_NOT_EXISTS = 'Y') THEN
2045
2046 INTO ZX_VALIDATION_ERRORS_GT(
2047 application_id,
2048 entity_code,
2049 event_class_code,
2050 trx_id,
2051 trx_line_id,
2052 summary_tax_line_number,
2053 message_name,
2054 message_text,
2055 trx_level_type,
2056 interface_line_entity_code,
2057 interface_line_id
2058 )
2059 VALUES(
2060 application_id,
2061 entity_code,
2062 event_class_code,
2063 trx_id,
2064 NULL ,--trx_line_id,
2065 NULL,
2066 'ZX_TAXATION_COUNTRY_NOT_EXIST',
2067 l_taxation_country_not_exists,
2068 NULL ,--trx_level_type,
2069 NULL ,--interface_line_entity_code,
2070 NULL --interface_line_id
2071 )
2072 WHEN (DOC_FC_CODE_NOT_EXISTS = 'Y') THEN
2073
2074 INTO ZX_VALIDATION_ERRORS_GT(
2075 application_id,
2076 entity_code,
2077 event_class_code,
2078 trx_id,
2079 trx_line_id,
2080 summary_tax_line_number,
2081 message_name,
2082 message_text,
2083 trx_level_type,
2084 interface_line_entity_code,
2085 interface_line_id
2086 )
2087 VALUES(
2088 application_id,
2089 entity_code,
2090 event_class_code,
2091 trx_id,
2092 NULL ,--trx_line_id,
2093 NULL,
2094 'ZX_DOC_FC_CODE_NOT_EXIST',
2095 l_doc_fc_code_not_exists,
2096 NULL ,--trx_level_type,
2097 NULL ,--interface_line_entity_code,
2098 NULL --interface_line_id
2099 )
2100
2101 WHEN (DOC_FC_COUNTRY_INCONSIS = 'Y') THEN
2102
2103 INTO ZX_VALIDATION_ERRORS_GT(
2104 application_id,
2105 entity_code,
2106 event_class_code,
2107 trx_id,
2108 trx_line_id,
2109 summary_tax_line_number,
2110 message_name,
2111 message_text,
2112 trx_level_type,
2113 interface_line_entity_code,
2114 interface_line_id
2115 )
2116 VALUES(
2117 application_id,
2118 entity_code,
2119 event_class_code,
2120 trx_id,
2121 NULL ,--trx_line_id,
2122 NULL,
2123 'ZX_DOC_FC_COUNTRY_INCONSIS',
2124 l_doc_fc_country_inconsis,
2125 NULL ,--trx_level_type,
2126 NULL ,--interface_line_entity_code,
2127 NULL --interface_line_id
2128 )
2129 WHEN (PARTY_NOT_EXISTS = 'Y') THEN
2130
2131 INTO ZX_VALIDATION_ERRORS_GT(
2132 application_id,
2133 entity_code,
2134 event_class_code,
2135 trx_id,
2136 trx_line_id,
2137 summary_tax_line_number,
2138 message_name,
2139 message_text,
2140 trx_level_type,
2141 interface_line_entity_code,
2142 interface_line_id
2143 )
2144 VALUES(
2145 application_id,
2146 entity_code,
2147 event_class_code,
2148 trx_id,
2149 NULL ,--trx_line_id,
2150 NULL,
2151 'ZX_PARTY_NOT_EXISTS',
2152 l_party_not_exists,
2153 NULL ,--trx_level_type,
2154 NULL ,--interface_line_entity_code,
2155 NULL --interface_line_id
2156 )
2157 WHEN (ZX_CURRENCY_INFO_REQD = 'Y') THEN
2158
2159 INTO ZX_VALIDATION_ERRORS_GT(
2160 application_id,
2161 entity_code,
2162 event_class_code,
2163 trx_id,
2164 trx_line_id,
2165 summary_tax_line_number,
2166 message_name,
2167 message_text,
2168 trx_level_type,
2169 interface_line_entity_code,
2170 interface_line_id
2171 )
2172 VALUES(
2173 application_id,
2174 entity_code,
2175 event_class_code,
2176 trx_id,
2177 NULL ,--trx_line_id,
2178 NULL,
2179 'ZX_CURRENCY_INFO_REQD',
2180 l_currency_info_reqd,
2181 NULL ,--trx_level_type,
2182 NULL ,--interface_line_entity_code,
2183 NULL --interface_line_id
2184 )
2185 WHEN (ZX_QUOTE_FLAG_INVALID = 'Y') THEN
2186
2187 INTO ZX_VALIDATION_ERRORS_GT(
2188 application_id,
2189 entity_code,
2190 event_class_code,
2191 trx_id,
2192 trx_line_id,
2193 summary_tax_line_number,
2194 message_name,
2195 message_text,
2196 trx_level_type,
2197 interface_line_entity_code,
2198 interface_line_id
2199 )
2200 VALUES(
2201 application_id,
2202 entity_code,
2203 event_class_code,
2204 trx_id,
2205 NULL ,--trx_line_id,
2206 NULL,
2207 'ZX_QUOTE_FLAG_INVALID',
2208 l_quote_flag_invalid,
2209 NULL ,--trx_level_type,
2210 NULL ,--interface_line_entity_code,
2211 NULL --interface_line_id
2212 )
2213 WHEN (ZX_DOC_LVL_RECALC_FLAG_INVALID = 'Y') THEN
2214 INTO ZX_VALIDATION_ERRORS_GT(
2215 application_id,
2216 entity_code,
2217 event_class_code,
2218 trx_id,
2219 trx_line_id,
2220 summary_tax_line_number,
2221 message_name,
2222 message_text,
2223 trx_level_type,
2224 interface_line_entity_code,
2225 interface_line_id
2226 )
2227 VALUES(
2228 application_id,
2229 entity_code,
2230 event_class_code,
2231 trx_id,
2232 NULL ,--trx_line_id,
2233 NULL,
2234 'ZX_DOC_LVL_RECALC_FLAG_INVALID',
2235 l_doc_lvl_recalc_flag_invalid,
2236 NULL ,--trx_level_type,
2237 NULL ,--interface_line_entity_code,
2238 NULL --interface_line_id
2239 )
2240 SELECT
2241 header.application_id,
2242 header.entity_code,
2243 header.event_class_code,
2244 header.trx_id,
2245 -- Check for existence of at least one rounding party
2246 CASE WHEN (header.rounding_ship_from_party_id is NULL AND
2247 header.rounding_ship_to_party_id is NULL AND
2248 header.rounding_bill_to_party_id is NULL AND
2249 header.rounding_bill_from_party_id is NULL )
2250 THEN 'Y'
2251 ELSE NULL
2252 END ZX_ROUND_PARTY_MISSING,
2253
2254 -- Check for existence of Control tax amount
2255 nvl2(header.ctrl_total_hdr_tx_amt,
2256 CASE WHEN ( NOT EXISTS
2257 (SELECT 1 FROM ZX_TRANSACTION_LINES_GT lines1
2258 WHERE lines1.ctrl_hdr_tx_appl_flag = 'Y'
2259 AND lines1.trx_id = header.trx_id
2260 AND lines1.application_id = header.application_id
2261 AND lines1.entity_code = header.entity_code
2262 AND lines1.event_class_code = header.event_class_code)
2263 )
2264 THEN 'Y'
2265 ELSE NULL
2266 END,
2267 NULL
2268 ) ZX_CTRL_FLAG_MISSING,
2269
2270 -- Check for Taxation Country
2271 nvl2(header.default_taxation_country,
2272 nvl(fnd_terr.territory_code,'Y'),
2273 NULL ) TAXATION_COUNTRY_NOT_EXISTS,
2274
2275 -- Check for document subtype code exists
2276 nvl2(header.document_sub_type,
2277 nvl(fc_doc.classification_code,'Y'),
2278 null) DOC_FC_CODE_NOT_EXISTS,
2279
2280 -- Check for document subtype code Effectivity
2281 /* CASE WHEN header.document_sub_type is not null and
2282 fc_doc.classification_code is not null
2283 THEN
2284 CASE WHEN COALESCE(header.related_doc_date,
2285 header.provnl_tax_determination_date,
2286 lines_gt.adjusted_doc_date,
2287 lines_gt.trx_line_date,
2288 header.trx_date,
2289 SYSDATE) NOT BETWEEN
2290 fc_doc.effective_from AND
2291 nvl(fc_doc.effective_to,
2292 COALESCE(header.related_doc_date,
2293 header.provnl_tax_determination_date,
2294 lines_gt.adjusted_doc_date,
2295 lines_gt.trx_line_date,
2296 header.trx_date,
2297 SYSDATE)
2298 )
2299 THEN 'Y'
2300 ELSE NULL END
2301 ELSE NULL END DOC_FC_CODE_NOT_EFFECTIVE,*/
2302
2303 -- Check for document subtype code Country Consistency
2304 CASE WHEN (fc_doc.classification_code is not null AND
2305 fc_doc.country_code is not null)
2306 THEN CASE WHEN(fc_doc.country_code =
2307 header.default_taxation_country)
2308 THEN NULL
2309 ELSE 'Y' END
2310 ELSE NULL
2311 END DOC_FC_COUNTRY_INCONSIS,
2312
2313 -- Check existence of PartyId in PartyTaxProfile
2314 --Bug 4703541
2315 CASE WHEN (header.ESTABLISHMENT_ID IS NOT NULL
2316 AND NOT EXISTS
2317 (SELECT 1
2318 FROM zx_party_tax_profile ptp,
2319 XLE_ETB_PROFILES etb
2320 WHERE ptp.party_id = etb.party_id
2321 AND ptp.party_type_code = 'LEGAL_ESTABLISHMENT'
2322 AND header.ESTABLISHMENT_ID = etb.ESTABLISHMENT_ID)
2323 )
2324 OR
2325 (header.LEGAL_ENTITY_ID IS NOT NULL
2326 AND NOT EXISTS
2327 (SELECT 1
2328 FROM zx_party_tax_profile ptp,
2329 XLE_ENTITY_PROFILES etp
2330 WHERE ptp.party_id = etp.party_id
2331 AND ptp.party_type_code = 'FIRST_PARTY'
2332 AND header.LEGAL_ENTITY_ID = etp.LEGAL_ENTITY_ID)
2333 )
2334 THEN 'Y'
2335 ELSE NULL END PARTY_NOT_EXISTS,
2336
2337 --If currency information is not passed at header level,
2338 --it should be passed on all transaction lines of that header
2339 --Bug 4703541
2340 CASE WHEN (header.TRX_CURRENCY_CODE is NULL
2341 AND header.precision is NULL )
2342 AND EXISTS
2343 ( SELECT 1 FROM zx_transaction_lines_gt
2344 WHERE application_id = header.application_id
2345 AND entity_code = header.entity_code
2346 AND event_class_code = header.event_class_code
2347 AND trx_id = header.trx_id
2348 AND ( TRX_LINE_CURRENCY_CODE is NULL
2349 OR trx_line_precision is NULL)
2350 )
2351 THEN 'Y'
2352 ELSE NULL
2353 END ZX_CURRENCY_INFO_REQD,
2354
2355 CASE WHEN header.quote_flag IS NOT NULL AND
2356 header.quote_flag NOT IN ('Y', 'N')
2357 THEN 'Y'
2358 ELSE NULL
2359 END ZX_QUOTE_FLAG_INVALID,
2360
2361 CASE WHEN header.doc_level_recalc_flag IS NOT NULL AND
2362 header.quote_flag NOT IN ('Y', 'N')
2363 THEN 'Y'
2364 ELSE NULL
2365 END ZX_DOC_LVL_RECALC_FLAG_INVALID
2366 FROM
2367 ZX_TRX_HEADERS_GT header,
2368 ZX_EVNT_CLS_MAPPINGS evntmap,
2369 ZX_FC_DOCUMENT_FISCAL_V fc_doc,
2370 FND_TERRITORIES fnd_terr
2371 WHERE
2372 fc_doc.classification_code(+) = header.document_sub_type
2373 and header.application_id = evntmap.application_id (+)
2374 and header.entity_code = evntmap.entity_code (+)
2375 and header.event_class_code = evntmap.event_class_code(+)
2376 and fnd_terr.territory_code(+) =
2377 header.default_taxation_country;
2378
2379 -- Bug 4902521 : Added Message to check no. of rows inserted .
2380 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2381
2382 IF ( g_level_statement >= g_current_runtime_level) THEN
2383 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
2384 'No. of Rows inserted for Header Realted Validations '|| to_char(sql%ROWCOUNT) );
2385 END IF;
2386
2387 /** 2. Validating for the Line Related Validations : zx_transaction_lines_gt **/
2388 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2389 IF ( g_level_statement >= g_current_runtime_level) THEN
2390 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
2391 'Validating for the Line Related Validations : zx_transaction_lines_gt');
2392 END IF;
2393
2394 INSERT ALL
2395
2396 WHEN (ZX_LOCATION_MISSING = 'Y') THEN
2397
2398 INTO ZX_VALIDATION_ERRORS_GT(
2399 application_id,
2400 entity_code,
2401 event_class_code,
2402 trx_id,
2403 trx_line_id,
2404 summary_tax_line_number,
2405 message_name,
2406 message_text,
2407 trx_level_type,
2408 interface_line_entity_code,
2409 interface_line_id
2410 )
2411 VALUES(
2412 application_id,
2413 entity_code,
2414 event_class_code,
2415 trx_id,
2416 trx_line_id,
2417 NULL,
2418 'ZX_LOCATION_MISSING',
2419 l_location_missing,
2420 trx_level_type,
2421 interface_line_entity_code,
2422 interface_line_id
2423 )
2424
2425 WHEN (ZX_LINE_CLASS_INVALID = 'Y') THEN
2426
2427 INTO ZX_VALIDATION_ERRORS_GT(
2428 application_id,
2429 entity_code,
2430 event_class_code,
2431 trx_id,
2432 trx_line_id,
2433 summary_tax_line_number,
2434 message_name,
2435 message_text,
2436 trx_level_type,
2437 interface_line_entity_code,
2438 interface_line_id
2439 )
2440 VALUES(
2441 application_id,
2442 entity_code,
2443 event_class_code,
2444 trx_id,
2445 trx_line_id,
2446 NULL,
2447 'ZX_LINE_CLASS_INVALID',
2448 l_line_class_invalid,
2449 trx_level_type,
2450 interface_line_entity_code,
2451 interface_line_id
2452 )
2453
2454 WHEN (ZX_TRX_LINE_TYPE_INVALID = 'Y') THEN
2455
2456 INTO ZX_VALIDATION_ERRORS_GT(
2457 application_id,
2458 entity_code,
2459 event_class_code,
2460 trx_id,
2461 trx_line_id,
2462 summary_tax_line_number,
2463 message_name,
2464 message_text,
2465 trx_level_type,
2466 interface_line_entity_code,
2467 interface_line_id
2468 )
2469 VALUES(
2470 application_id,
2471 entity_code,
2472 event_class_code,
2473 trx_id,
2474 trx_line_id,
2475 NULL,
2476 'ZX_TRX_LINE_TYPE_INVALID',
2477 l_trx_line_type_invalid,
2478 trx_level_type,
2479 interface_line_entity_code,
2480 interface_line_id
2481 )
2482
2483 WHEN (ZX_LINE_AMT_INCL_TAX_INVALID = 'Y') THEN
2484
2485 INTO ZX_VALIDATION_ERRORS_GT(
2486 application_id,
2487 entity_code,
2488 event_class_code,
2489 trx_id,
2490 trx_line_id,
2491 summary_tax_line_number,
2492 message_name,
2493 message_text,
2494 trx_level_type,
2495 interface_line_entity_code,
2496 interface_line_id
2497 )
2498 VALUES(
2499 application_id,
2500 entity_code,
2501 event_class_code,
2502 trx_id,
2503 trx_line_id,
2504 NULL,
2505 'ZX_LINE_AMT_INCTAX_INVALID',
2506 l_line_amt_incl_tax_invalid,
2507 trx_level_type,
2508 interface_line_entity_code,
2509 interface_line_id
2510 )
2511
2512 WHEN (PRODUCT_CATEG_NOT_EXISTS = 'Y') THEN
2513
2514 INTO ZX_VALIDATION_ERRORS_GT(
2515 application_id,
2516 entity_code,
2517 event_class_code,
2518 trx_id,
2519 trx_line_id,
2520 summary_tax_line_number,
2521 message_name,
2522 message_text,
2523 trx_level_type,
2524 interface_line_entity_code,
2525 interface_line_id
2526 )
2527 VALUES(
2528 application_id,
2529 entity_code,
2530 event_class_code,
2531 trx_id,
2532 trx_line_id,
2533 NULL,
2534 'ZX_PRODUCT_CATEG_NOT_EXIST',
2535 l_prd_categ_not_exists,
2536 trx_level_type,
2537 interface_line_entity_code,
2538 interface_line_id
2539 )
2540
2541 WHEN (PRODUCT_CATEG_NOT_EFFECTIVE = 'Y') THEN
2542
2543 INTO ZX_VALIDATION_ERRORS_GT(
2544 application_id,
2545 entity_code,
2546 event_class_code,
2547 trx_id,
2548 trx_line_id,
2549 summary_tax_line_number,
2550 message_name,
2551 message_text,
2552 trx_level_type,
2553 interface_line_entity_code,
2554 interface_line_id
2555 )
2556 VALUES(
2557 application_id,
2558 entity_code,
2559 event_class_code,
2560 trx_id,
2561 trx_line_id,
2562 NULL,
2563 'ZX_PRODUCT_CATEG_NOT_EFFECTIVE',
2564 l_prd_categ_not_effective,
2565 trx_level_type,
2566 interface_line_entity_code,
2567 interface_line_id
2568 )
2569
2570 WHEN (PRODUCT_CATEG_COUNTRY_INCONSIS = 'Y') THEN
2571
2572 INTO ZX_VALIDATION_ERRORS_GT(
2573 application_id,
2574 entity_code,
2575 event_class_code,
2576 trx_id,
2577 trx_line_id,
2578 summary_tax_line_number,
2579 message_name,
2580 message_text,
2581 trx_level_type,
2582 interface_line_entity_code,
2583 interface_line_id
2584 )
2585 VALUES(
2586 application_id,
2587 entity_code,
2588 event_class_code,
2589 trx_id,
2590 trx_line_id,
2591 NULL,
2592 'ZX_PRODUCT_CATEG_COUNTRY_INCON',
2593 l_prd_categ_country_inconsis,
2594 trx_level_type,
2595 interface_line_entity_code,
2596 interface_line_id
2597 )
2598
2599 WHEN (USER_DEF_FC_CODE_NOT_EXISTS = 'Y') THEN
2600
2601 INTO ZX_VALIDATION_ERRORS_GT(
2602 application_id,
2603 entity_code,
2604 event_class_code,
2605 trx_id,
2606 trx_line_id,
2607 summary_tax_line_number,
2608 message_name,
2609 message_text,
2610 trx_level_type,
2611 interface_line_entity_code,
2612 interface_line_id
2613 )
2614 VALUES(
2615 application_id,
2616 entity_code,
2617 event_class_code,
2618 trx_id,
2619 trx_line_id,
2620 NULL,
2621 'ZX_USER_DEF_FC_CODE_NOT_EXIST',
2622 l_usr_df_fc_code_not_exists,
2623 trx_level_type,
2624 interface_line_entity_code,
2625 interface_line_id
2626 )
2627
2628 WHEN (USER_DEF_FC_CODE_NOT_EFFECTIVE = 'Y') THEN
2629
2630 INTO ZX_VALIDATION_ERRORS_GT(
2631 application_id,
2632 entity_code,
2633 event_class_code,
2634 trx_id,
2635 trx_line_id,
2636 summary_tax_line_number,
2637 message_name,
2638 message_text,
2639 trx_level_type,
2640 interface_line_entity_code,
2641 interface_line_id
2642 )
2643 VALUES(
2644 application_id,
2645 entity_code,
2646 event_class_code,
2647 trx_id,
2648 trx_line_id,
2649 NULL,
2650 'ZX_USER_DEF_FC_CODE_NOT_EFFECT',
2651 l_usr_df_fc_code_not_effective,
2652 trx_level_type,
2653 interface_line_entity_code,
2654 interface_line_id
2655 )
2656 WHEN (USER_DEF_COUNTRY_INCONSIS = 'Y') THEN
2657
2658 INTO ZX_VALIDATION_ERRORS_GT(
2659 application_id,
2660 entity_code,
2661 event_class_code,
2662 trx_id,
2663 trx_line_id,
2664 summary_tax_line_number,
2665 message_name,
2666 message_text,
2667 trx_level_type,
2668 interface_line_entity_code,
2669 interface_line_id
2670 )
2671 VALUES(
2672 application_id,
2673 entity_code,
2674 event_class_code,
2675 trx_id,
2676 trx_line_id,
2677 NULL,
2678 'ZX_USER_DEF_COUNTRY_INCONSIS',
2679 l_usr_df_country_inconsis,
2680 trx_level_type,
2681 interface_line_entity_code,
2682 interface_line_id
2683 )
2684
2685 WHEN (DOC_FC_CODE_NOT_EFFECTIVE = 'Y') THEN
2686
2687 INTO ZX_VALIDATION_ERRORS_GT(
2688 application_id,
2689 entity_code,
2690 event_class_code,
2691 trx_id,
2692 trx_line_id,
2693 summary_tax_line_number,
2694 message_name,
2695 message_text,
2696 trx_level_type,
2697 interface_line_entity_code,
2698 interface_line_id
2699 )
2700 VALUES(
2701 application_id,
2702 entity_code,
2703 event_class_code,
2704 trx_id,
2705 trx_line_id,
2706 NULL,
2707 'ZX_DOC_FC_CODE_NOT_EFFECTIVE',
2708 l_doc_fc_code_not_effective,
2709 trx_level_type,
2710 interface_line_entity_code,
2711 interface_line_id
2712 )
2713
2714 WHEN (TRX_BIZ_FC_CODE_NOT_EXISTS = 'Y') THEN
2715
2716 INTO ZX_VALIDATION_ERRORS_GT(
2717 application_id,
2718 entity_code,
2719 event_class_code,
2720 trx_id,
2721 trx_line_id,
2722 summary_tax_line_number,
2723 message_name,
2724 message_text,
2725 trx_level_type,
2726 interface_line_entity_code,
2727 interface_line_id
2728 )
2729 VALUES(
2730 application_id,
2731 entity_code,
2732 event_class_code,
2733 trx_id,
2734 trx_line_id,
2735 NULL,
2736 'ZX_TRX_BIZ_FC_CODE_NOT_EXIST',
2737 l_trx_biz_fc_code_not_exists,
2738 trx_level_type,
2739 interface_line_entity_code,
2740 interface_line_id
2741 )
2742
2743 WHEN (TRX_BIZ_FC_CODE_NOT_EFFECTIVE = 'Y') THEN
2744
2745 INTO ZX_VALIDATION_ERRORS_GT(
2746 application_id,
2747 entity_code,
2748 event_class_code,
2749 trx_id,
2750 trx_line_id,
2751 summary_tax_line_number,
2752 message_name,
2753 message_text,
2754 trx_level_type,
2755 interface_line_entity_code,
2756 interface_line_id
2757 )
2758 VALUES(
2759 application_id,
2760 entity_code,
2761 event_class_code,
2762 trx_id,
2763 trx_line_id,
2764 NULL,
2765 'ZX_TRX_BIZ_FC_CODE_NOT_EFFECT',
2766 l_trx_biz_fc_code_not_effect,
2767 trx_level_type,
2768 interface_line_entity_code,
2769 interface_line_id
2770 )
2771
2772 WHEN (TRX_BIZ_FC_COUNTRY_INCONSIS = 'Y') THEN
2773
2774 INTO ZX_VALIDATION_ERRORS_GT(
2775 application_id,
2776 entity_code,
2777 event_class_code,
2778 trx_id,
2779 trx_line_id,
2780 summary_tax_line_number,
2781 message_name,
2782 message_text,
2783 trx_level_type,
2784 interface_line_entity_code,
2785 interface_line_id
2786 )
2787 VALUES(
2788 application_id,
2789 entity_code,
2790 event_class_code,
2791 trx_id,
2792 trx_line_id,
2793 NULL,
2794 'ZX_TRX_BIZ_FC_COUNTRY_INCONSIS',
2795 l_trx_biz_fc_country_inconsis,
2796 trx_level_type,
2797 interface_line_entity_code,
2798 interface_line_id
2799 )
2800
2801
2802
2803 WHEN (INTENDED_USE_CODE_NOT_EXISTS = 'Y') THEN
2804
2805 INTO ZX_VALIDATION_ERRORS_GT(
2806 application_id,
2807 entity_code,
2808 event_class_code,
2809 trx_id,
2810 trx_line_id,
2811 summary_tax_line_number,
2812 message_name,
2813 message_text,
2814 trx_level_type,
2815 interface_line_entity_code,
2816 interface_line_id
2817 )
2818 VALUES(
2819 application_id,
2820 entity_code,
2821 event_class_code,
2822 trx_id,
2823 trx_line_id,
2824 NULL,
2825 'ZX_INTENDED_USE_CODE_NOT_EXIST',
2826 l_intended_use_code_not_exists,
2827 trx_level_type,
2828 interface_line_entity_code,
2829 interface_line_id
2830 )
2831
2832 WHEN (INTENDED_USE_NOT_EFFECTIVE = 'Y') THEN
2833
2834 INTO ZX_VALIDATION_ERRORS_GT(
2835 application_id,
2836 entity_code,
2837 event_class_code,
2838 trx_id,
2839 trx_line_id,
2840 summary_tax_line_number,
2841 message_name,
2842 message_text,
2843 trx_level_type,
2844 interface_line_entity_code,
2845 interface_line_id
2846 )
2847 VALUES(
2848 application_id,
2849 entity_code,
2850 event_class_code,
2851 trx_id,
2852 trx_line_id,
2853 NULL,
2854 'ZX_INTENDED_USE_NOT_EFFECTIVE',
2855 l_intended_use_not_effective,
2856 trx_level_type,
2857 interface_line_entity_code,
2858 interface_line_id
2859 )
2860
2861 WHEN (INTENDED_USE_CONTRY_INCONSIS = 'Y') THEN
2862
2863 INTO ZX_VALIDATION_ERRORS_GT(
2864 application_id,
2865 entity_code,
2866 event_class_code,
2867 trx_id,
2868 trx_line_id,
2869 summary_tax_line_number,
2870 message_name,
2871 message_text,
2872 trx_level_type,
2873 interface_line_entity_code,
2874 interface_line_id
2875 )
2876 VALUES(
2877 application_id,
2878 entity_code,
2879 event_class_code,
2880 trx_id,
2881 trx_line_id,
2882 NULL,
2883 'ZX_INTENDED_USE_COUNTRY_INCON',
2884 l_intended_use_contry_inconsis,
2885 trx_level_type,
2886 interface_line_entity_code,
2887 interface_line_id
2888 )
2889
2890 WHEN (PRODUCT_TYPE_CODE_NOT_EXISTS = 'Y') THEN
2891
2892 INTO ZX_VALIDATION_ERRORS_GT(
2893 application_id,
2894 entity_code,
2895 event_class_code,
2896 trx_id,
2897 trx_line_id,
2898 summary_tax_line_number,
2899 message_name,
2900 message_text,
2901 trx_level_type,
2902 interface_line_entity_code,
2903 interface_line_id
2904 )
2905 VALUES(
2906 application_id,
2907 entity_code,
2908 event_class_code,
2909 trx_id,
2910 trx_line_id,
2911 NULL,
2912 'ZX_PRODUCT_TYPE_CODE_NOT_EXIST',
2913 l_prd_type_code_not_exists,
2914 trx_level_type,
2915 interface_line_entity_code,
2916 interface_line_id
2917 )
2918
2919 WHEN (PRODUCT_TYPE_NOT_EFFECTIVE = 'Y') THEN
2920
2921 INTO ZX_VALIDATION_ERRORS_GT(
2922 application_id,
2923 entity_code,
2924 event_class_code,
2925 trx_id,
2926 trx_line_id,
2927 summary_tax_line_number,
2928 message_name,
2929 message_text,
2930 trx_level_type,
2931 interface_line_entity_code,
2932 interface_line_id
2933 )
2934 VALUES(
2935 application_id,
2936 entity_code,
2937 event_class_code,
2938 trx_id,
2939 trx_line_id,
2940 NULL,
2941 'ZX_PRODUCT_TYPE_NOT_EFFECTIVE',
2942 l_prd_type_not_effective,
2943 trx_level_type,
2944 interface_line_entity_code,
2945 interface_line_id
2946 )
2947
2948 WHEN (PRODUCT_FC_CODE_NOT_EXISTS = 'Y') THEN
2949
2950 INTO ZX_VALIDATION_ERRORS_GT(
2951 application_id,
2952 entity_code,
2953 event_class_code,
2954 trx_id,
2955 trx_line_id,
2956 summary_tax_line_number,
2957 message_name,
2958 message_text,
2959 trx_level_type,
2960 interface_line_entity_code,
2961 interface_line_id
2962 )
2963 VALUES(
2964 application_id,
2965 entity_code,
2966 event_class_code,
2967 trx_id,
2968 trx_line_id,
2969 NULL,
2970 'ZX_PRODUCT_FC_CODE_NOT_EXIST',
2971 l_prd_fc_code_not_exists,
2972 trx_level_type,
2973 interface_line_entity_code,
2974 interface_line_id
2975 )
2976 /* bugfix 4919842: remove party not exist and site not exist checks
2977 WHEN (SHIP_TO_PARTY_NOT_EXISTS = 'Y') THEN
2978
2979 INTO ZX_VALIDATION_ERRORS_GT(
2980 application_id,
2981 entity_code,
2982 event_class_code,
2983 trx_id,
2984 trx_line_id,
2985 summary_tax_line_number,
2986 message_name,
2987 message_text,
2988 trx_level_type,
2989 interface_line_entity_code,
2990 interface_line_id
2991 )
2992 VALUES(
2993 application_id,
2994 entity_code,
2995 event_class_code,
2996 trx_id,
2997 trx_line_id,
2998 NULL,
2999 'ZX_SHIP_TO_PARTY_NOT_EXIST',
3000 l_ship_to_party_not_exists,
3001 trx_level_type,
3002 interface_line_entity_code,
3003 interface_line_id
3004 )
3005
3006 WHEN (SHIP_FROM_PARTY_NOT_EXISTS = 'Y') THEN
3007
3008 INTO ZX_VALIDATION_ERRORS_GT(
3009 application_id,
3010 entity_code,
3011 event_class_code,
3012 trx_id,
3013 trx_line_id,
3014 summary_tax_line_number,
3015 message_name,
3016 message_text,
3017 trx_level_type,
3018 interface_line_entity_code,
3019 interface_line_id
3020 )
3021 VALUES(
3022 application_id,
3023 entity_code,
3024 event_class_code,
3025 trx_id,
3026 trx_line_id,
3027 NULL,
3028 'ZX_SHIP_FROM_PARTY_NOT_EXIST',
3029 l_ship_frm_party_not_exits,
3030 trx_level_type,
3031 interface_line_entity_code,
3032 interface_line_id
3033 )
3034
3035 WHEN (BILL_TO_PARTY_NOT_EXISTS = 'Y') THEN
3036
3037 INTO ZX_VALIDATION_ERRORS_GT(
3038 application_id,
3039 entity_code,
3040 event_class_code,
3041 trx_id,
3042 trx_line_id,
3043 summary_tax_line_number,
3044 message_name,
3045 message_text,
3046 trx_level_type,
3047 interface_line_entity_code,
3048 interface_line_id
3049 )
3050 VALUES(
3051 application_id,
3052 entity_code,
3053 event_class_code,
3054 trx_id,
3055 trx_line_id,
3056 NULL,
3057 'ZX_BILTO_PARTY_NOT_EXIST',
3058 l_bill_to_party_not_exists,
3059 trx_level_type,
3060 interface_line_entity_code,
3061 interface_line_id
3062 )
3063
3064 WHEN (BILL_FROM_PARTY_NOT_EXISTS = 'Y') THEN
3065
3066 INTO ZX_VALIDATION_ERRORS_GT(
3067 application_id,
3068 entity_code,
3069 event_class_code,
3070 trx_id,
3071 trx_line_id,
3072 summary_tax_line_number,
3073 message_name,
3074 message_text,
3075 trx_level_type,
3076 interface_line_entity_code,
3077 interface_line_id
3078 )
3079 VALUES(
3080 application_id,
3081 entity_code,
3082 event_class_code,
3083 trx_id,
3084 trx_line_id,
3085 NULL,
3086 'ZX_BILFROM_PARTY_NOT_EXIST',
3087 l_bill_frm_party_not_exists,
3088 trx_level_type,
3089 interface_line_entity_code,
3090 interface_line_id
3091 )
3092
3093 WHEN (SHIPTO_PARTY_SITE_NOT_EXISTS = 'Y') THEN
3094
3095 INTO ZX_VALIDATION_ERRORS_GT(
3096 application_id,
3097 entity_code,
3098 event_class_code,
3099 trx_id,
3100 trx_line_id,
3101 summary_tax_line_number,
3102 message_name,
3103 message_text,
3104 trx_level_type,
3105 interface_line_entity_code,
3106 interface_line_id
3107 )
3108 VALUES(
3109 application_id,
3110 entity_code,
3111 event_class_code,
3112 trx_id,
3113 trx_line_id,
3114 NULL,
3115 'ZX_SHIPTO_PARTY_SITE_NOT_EXIST',
3116 l_shipto_party_site_not_exists,
3117 trx_level_type,
3118 interface_line_entity_code,
3119 interface_line_id
3120 )
3121
3122 WHEN (SHIPFROM_PARTY_SITE_NOT_EXISTS = 'Y') THEN
3123
3124 INTO ZX_VALIDATION_ERRORS_GT(
3125 application_id,
3126 entity_code,
3127 event_class_code,
3128 trx_id,
3129 trx_line_id,
3130 summary_tax_line_number,
3131 message_name,
3132 message_text,
3133 trx_level_type,
3134 interface_line_entity_code,
3135 interface_line_id
3136 )
3137 VALUES(
3138 application_id,
3139 entity_code,
3140 event_class_code,
3141 trx_id,
3142 trx_line_id,
3143 NULL,
3144 'ZX_SHIPFROM_PARTY_SITE_NOT_EXIST',
3145 l_shipfrm_party_site_not_exits,
3146 trx_level_type,
3147 interface_line_entity_code,
3148 interface_line_id
3149 )
3150
3151 WHEN (BILLTO_PARTY_SITE_NOT_EXISTS = 'Y') THEN
3152
3153 INTO ZX_VALIDATION_ERRORS_GT(
3154 application_id,
3155 entity_code,
3156 event_class_code,
3157 trx_id,
3158 trx_line_id,
3159 summary_tax_line_number,
3160 message_name,
3161 message_text,
3162 trx_level_type,
3163 interface_line_entity_code,
3164 interface_line_id
3165 )
3166 VALUES(
3167 application_id,
3168 entity_code,
3169 event_class_code,
3170 trx_id,
3171 trx_line_id,
3172 NULL,
3173 'ZX_BILLTO_PARTY_SITE_NOT_EXIST',
3174 l_billto_party_site_not_exists,
3175 trx_level_type,
3176 interface_line_entity_code,
3177 interface_line_id
3178 )
3179
3180 WHEN (BILLFROM_PARTY_SITE_NOT_EXISTS = 'Y') THEN
3181
3182 INTO ZX_VALIDATION_ERRORS_GT(
3183 application_id,
3184 entity_code,
3185 event_class_code,
3186 trx_id,
3187 trx_line_id,
3188 summary_tax_line_number,
3189 message_name,
3190 message_text,
3191 trx_level_type,
3192 interface_line_entity_code,
3193 interface_line_id
3194 )
3195 VALUES(
3196 application_id,
3197 entity_code,
3198 event_class_code,
3199 trx_id,
3200 trx_line_id,
3201 NULL,
3202 'ZX_BILLFROM_PARTY_SITE_NOT_EXIST',
3203 l_billfrm_party_site_not_exist,
3204 trx_level_type,
3205 interface_line_entity_code,
3206 interface_line_id
3207 )
3208 bugfix 4919842: remove party not exist and site not exist checks */
3209 -- bug 6915776
3210 /*WHEN (ZX_LINE_CTRL_AMT_INVALID = 'Y') THEN
3211
3212 INTO ZX_VALIDATION_ERRORS_GT(
3213 application_id,
3214 entity_code,
3215 event_class_code,
3216 trx_id,
3217 trx_line_id,
3218 summary_tax_line_number,
3219 message_name,
3220 message_text,
3221 trx_level_type,
3222 interface_line_entity_code,
3223 interface_line_id
3224 )
3225 VALUES(
3226 application_id,
3227 entity_code,
3228 event_class_code,
3229 trx_id,
3230 trx_line_id,
3231 NULL,
3232 'ZX_LINE_CTRL_AMT_INVALID',
3233 l_line_ctrl_amt_invalid,
3234 trx_level_type,
3235 interface_line_entity_code,
3236 interface_line_id
3237 )*/
3238
3239 WHEN (ZX_LINE_CTRL_AMT_NOT_NULL = 'Y') THEN
3240
3241 INTO ZX_VALIDATION_ERRORS_GT(
3242 application_id,
3243 entity_code,
3244 event_class_code,
3245 trx_id,
3246 trx_line_id,
3247 summary_tax_line_number,
3248 message_name,
3249 message_text,
3250 trx_level_type,
3251 interface_line_entity_code,
3252 interface_line_id
3253 )
3254 VALUES(
3255 application_id,
3256 entity_code,
3257 event_class_code,
3258 trx_id,
3259 trx_line_id,
3260 NULL,
3261 'ZX_LINE_CTRL_AMT_NOT_NULL',
3262 l_line_ctrl_amt_not_null,
3263 trx_level_type,
3264 interface_line_entity_code,
3265 interface_line_id
3266 )
3267
3268 -- Bug 5516630: Moved unit price and quantity check to determine_recovery API
3269
3270 /* WHEN (ZX_UNIT_PRICE_MISSING = 'Y') THEN
3271
3272 INTO ZX_VALIDATION_ERRORS_GT(
3273 application_id,
3274 entity_code,
3275 event_class_code,
3276 trx_id,
3277 trx_line_id,
3278 summary_tax_line_number,
3279 message_name,
3280 message_text,
3281 trx_level_type,
3282 interface_line_entity_code,
3283 interface_line_id
3284 )
3285 VALUES(
3286 application_id,
3287 entity_code,
3288 event_class_code,
3289 trx_id,
3290 trx_line_id,
3291 NULL,
3292 'ZX_UNIT_PRICE_REQD',
3293 l_unit_price_missing,
3294 trx_level_type,
3295 interface_line_entity_code,
3296 interface_line_id
3297 )
3298
3299 WHEN (ZX_LINE_QUANTITY_MISSING = 'Y') THEN
3300
3301 INTO ZX_VALIDATION_ERRORS_GT(
3302 application_id,
3303 entity_code,
3304 event_class_code,
3305 trx_id,
3306 trx_line_id,
3307 summary_tax_line_number,
3308 message_name,
3309 message_text,
3310 trx_level_type,
3311 interface_line_entity_code,
3312 interface_line_id
3313 )
3314 VALUES(
3315 application_id,
3316 entity_code,
3317 event_class_code,
3318 trx_id,
3319 trx_line_id,
3320 NULL,
3321 'ZX_TRX_LINE_QUANTITY_REQD',
3322 l_line_quantity_missing,
3323 trx_level_type,
3324 interface_line_entity_code,
3325 interface_line_id
3326 )
3327 */
3328 WHEN (ZX_EXEMPTION_CTRL_FLAG_INVALID = 'Y') THEN
3329
3330 INTO ZX_VALIDATION_ERRORS_GT(
3331 application_id,
3332 entity_code,
3333 event_class_code,
3334 trx_id,
3335 trx_line_id,
3336 summary_tax_line_number,
3337 message_name,
3338 message_text,
3339 trx_level_type,
3340 interface_line_entity_code,
3341 interface_line_id
3342 )
3343 VALUES(
3344 application_id,
3345 entity_code,
3346 event_class_code,
3347 trx_id,
3348 trx_line_id,
3349 NULL,
3350 'ZX_EXEMPTION_CTRL_FLAG_INVALID',
3351 l_exemption_ctrl_flag_invalid,
3352 trx_level_type,
3353 interface_line_entity_code,
3354 interface_line_id
3355 )
3356 WHEN (ZX_PRODUCT_TYPE_INVALID = 'Y') THEN
3357
3358 INTO ZX_VALIDATION_ERRORS_GT(
3359 application_id,
3360 entity_code,
3361 event_class_code,
3362 trx_id,
3363 trx_line_id,
3364 summary_tax_line_number,
3365 message_name,
3366 message_text,
3367 trx_level_type,
3368 interface_line_entity_code,
3369 interface_line_id
3370 )
3371 VALUES(
3372 application_id,
3373 entity_code,
3374 event_class_code,
3375 trx_id,
3376 trx_line_id,
3377 NULL,
3378 'ZX_PRODUCT_TYPE_INVALID',
3379 l_product_type_invalid,
3380 trx_level_type,
3381 interface_line_entity_code,
3382 interface_line_id
3383 )
3384
3385 WHEN (ZX_INVALID_TAX_LINES = 'Y') THEN
3386
3387 INTO ZX_VALIDATION_ERRORS_GT(
3388 application_id,
3389 entity_code,
3390 event_class_code,
3391 trx_id,
3392 trx_line_id,
3393 summary_tax_line_number,
3394 message_name,
3395 message_text,
3396 trx_level_type,
3397 interface_line_entity_code,
3398 interface_line_id
3399 )
3400 VALUES(
3401 application_id,
3402 entity_code,
3403 event_class_code,
3404 trx_id,
3405 trx_line_id,
3406 NULL,
3407 'ZX_INVALID_TAX_LINES',
3408 l_inval_tax_lines_for_ctrl_flg,
3409 trx_level_type,
3410 interface_line_entity_code,
3411 interface_line_id
3412 )
3413
3414
3415 WHEN (ZX_INVALID_LINE_TAX_AMT = 'Y') THEN
3416
3417 INTO ZX_VALIDATION_ERRORS_GT(
3418 application_id,
3419 entity_code,
3420 event_class_code,
3421 trx_id,
3422 trx_line_id,
3423 summary_tax_line_number,
3424 message_name,
3425 message_text,
3426 trx_level_type,
3427 interface_line_entity_code,
3428 interface_line_id
3429 )
3430 VALUES(
3431 application_id,
3432 entity_code,
3433 event_class_code,
3434 trx_id,
3435 trx_line_id,
3436 NULL,
3437 'ZX_INVALID_LINE_TAX_AMT',
3438 l_invald_line_for_ctrl_tot_amt,
3439 trx_level_type,
3440 interface_line_entity_code,
3441 interface_line_id
3442 )
3443
3444 WHEN (ZX_INVALID_TAX_FOR_ALLOC_FLG = 'Y') THEN
3445
3446 INTO ZX_VALIDATION_ERRORS_GT(
3447 application_id,
3448 entity_code,
3449 event_class_code,
3450 trx_id,
3451 trx_line_id,
3452 summary_tax_line_number,
3453 message_name,
3454 message_text,
3455 trx_level_type,
3456 interface_line_entity_code,
3457 interface_line_id
3458 )
3459 VALUES(
3460 application_id,
3461 entity_code,
3462 event_class_code,
3463 trx_id,
3464 trx_line_id,
3465 NULL,
3466 'ZX_INVALID_TAX_FOR_ALLOC_FLG',
3467 l_inval_tax_line_for_alloc_flg,
3468 trx_level_type,
3469 interface_line_entity_code,
3470 interface_line_id
3471 )
3472 WHEN (ZX_INVALID_TAX_ONLY_TAX_LINES = 'Y') THEN
3473
3474 INTO ZX_VALIDATION_ERRORS_GT(
3475 application_id,
3476 entity_code,
3477 event_class_code,
3478 trx_id,
3479 trx_line_id,
3480 summary_tax_line_number,
3481 message_name,
3482 message_text,
3483 trx_level_type,
3484 interface_line_entity_code,
3485 interface_line_id
3486 )
3487 VALUES(
3488 application_id,
3489 entity_code,
3490 event_class_code,
3491 trx_id,
3492 trx_line_id,
3493 NULL,
3494 'ZX_INVALID_TAX_ONLY_TAX_LINES',
3495 l_invalid_tax_only_tax_lines,
3496 trx_level_type,
3497 interface_line_entity_code,
3498 interface_line_id
3499 )
3500 WHEN (TAX_RATE_NOT_EXISTS = 'Y') THEN
3501
3502 INTO ZX_VALIDATION_ERRORS_GT(
3503 application_id,
3504 entity_code,
3505 event_class_code,
3506 trx_id,
3507 trx_line_id,
3508 summary_tax_line_number,
3509 message_name,
3510 message_text,
3511 trx_level_type,
3512 interface_line_entity_code,
3513 interface_line_id
3514 )
3515 VALUES(
3516 application_id,
3517 entity_code,
3518 event_class_code,
3519 trx_id,
3520 trx_line_id,
3521 NULL,
3522 'ZX_TAX_RATE_NOT_EXIST', --4703541
3523 l_tax_rate_not_exists,
3524 trx_level_type,
3525 interface_line_entity_code,
3526 interface_line_id
3527 )
3528 --Commented for Bug#7504455--
3529 /*WHEN (NVL(TAX_RATE_NOT_EXISTS,'N') <> 'Y' AND TAX_RECOV_OR_OFFSET = 'Y') THEN
3530 INTO ZX_VALIDATION_ERRORS_GT(
3531 application_id,
3532 entity_code,
3533 event_class_code,
3534 trx_id,
3535 trx_line_id,
3536 summary_tax_line_number,
3537 message_name,
3538 message_text,
3539 trx_level_type,
3540 interface_line_entity_code,
3541 interface_line_id
3542 )
3543 VALUES(
3544 application_id,
3545 entity_code,
3546 event_class_code,
3547 trx_id,
3548 trx_line_id,
3549 NULL,
3550 'ZX_TAX_RECOV_OR_OFFSET',
3551 l_tax_recov_or_offset,
3552 trx_level_type,
3553 interface_line_entity_code,
3554 interface_line_id
3555 )*/
3556 WHEN (NVL(TAX_RATE_NOT_EXISTS,'N') <> 'Y' AND TAX_RATE_CODE_NOT_EFFECTIVE = 'Y') THEN
3557
3558 INTO ZX_VALIDATION_ERRORS_GT(
3559 application_id,
3560 entity_code,
3561 event_class_code,
3562 trx_id,
3563 trx_line_id,
3564 summary_tax_line_number,
3565 message_name,
3566 message_text,
3567 trx_level_type,
3568 interface_line_entity_code,
3569 interface_line_id
3570 )
3571 VALUES(
3572 application_id,
3573 entity_code,
3574 event_class_code,
3575 trx_id,
3576 trx_line_id,
3577 NULL,
3578 'ZX_TAX_RATE_NOT_EFFECTIVE',
3579 l_tax_rate_not_effective,
3580 trx_level_type,
3581 interface_line_entity_code,
3582 interface_line_id
3583 )
3584 WHEN (NVL(TAX_RATE_NOT_EXISTS,'N') <> 'Y' AND TAX_RATE_CODE_NOT_ACTIVE = 'Y') THEN
3585
3586 INTO ZX_VALIDATION_ERRORS_GT(
3587 application_id,
3588 entity_code,
3589 event_class_code,
3590 trx_id,
3591 trx_line_id,
3592 summary_tax_line_number,
3593 message_name,
3594 message_text,
3595 trx_level_type,
3596 interface_line_entity_code,
3597 interface_line_id
3598 )
3599 VALUES(
3600 application_id,
3601 entity_code,
3602 event_class_code,
3603 trx_id,
3604 trx_line_id,
3605 NULL,
3606 'ZX_TAX_RATE_NOT_ACTIVE',
3607 l_tax_rate_not_active,
3608 trx_level_type,
3609 interface_line_entity_code,
3610 interface_line_id
3611 )
3612 SELECT
3613 header.application_id,
3614 header.entity_code,
3615 header.event_class_code,
3616 header.trx_id,
3617 lines_gt.trx_line_id,
3618 lines_gt.trx_line_id interface_line_id ,
3619 lines_gt.entity_code interface_line_entity_code,
3620 lines_gt.trx_level_type,
3621 -- Check for existence of at least one location at line
3622 CASE WHEN (lines_gt.ship_from_location_id is not null OR
3623 lines_gt.ship_to_location_id is not NULL OR
3624 lines_gt.poa_location_id is not NULL OR
3625 lines_gt.poo_location_id is not NULL OR
3626 lines_gt.paying_location_id is not NULL OR
3627 lines_gt.own_hq_location_id is not NULL OR
3628 lines_gt.trading_hq_location_id is not NULL OR
3629 lines_gt.poc_location_id is not NULL OR
3630 lines_gt.poi_location_id is not NULL OR
3631 lines_gt.pod_location_id is not NULL OR
3632 lines_gt.bill_to_location_id is not NULL OR
3633 lines_gt.bill_from_location_id is not NULL OR
3634 lines_gt.title_transfer_location_id is not NULL)
3635 THEN NULL
3636 ELSE 'Y'
3637 END ZX_LOCATION_MISSING,
3638
3639 -- Check for Validity of Transaction line class
3640 nvl2(lines_gt.line_class,
3641 CASE WHEN (NOT EXISTS
3642 (SELECT 1 FROM FND_LOOKUPS lkp
3643 WHERE lines_gt.line_class = lkp.lookup_code
3644 AND lkp.lookup_type = 'ZX_LINE_CLASS'))
3645 THEN 'Y'
3646 ELSE NULL
3647 END,
3648 NULL
3649 ) ZX_LINE_CLASS_INVALID,
3650
3651 -- Check for Validity of transaction line type
3652 CASE WHEN (lines_gt.trx_line_type NOT IN('ITEM','FREIGHT',
3653 'MISC','MISCELLANEOUS'))
3654 THEN 'Y'
3655 ELSE NULL
3656 END ZX_TRX_LINE_TYPE_INVALID,
3657
3658 -- Check for Validity of Line amount includes tax flag
3659 CASE WHEN (lines_gt.line_amt_includes_tax_flag IS NULL OR
3660 lines_gt.line_amt_includes_tax_flag NOT IN ('A','N','S'))
3661 THEN 'Y'
3662 ELSE NULL
3663 END ZX_LINE_AMT_INCL_TAX_INVALID,
3664
3665 -- Check Product Category exists
3666 nvl2(lines_gt.product_category,
3667 nvl(fc_prodcat.classification_code, 'Y'),
3668 null
3669 ) PRODUCT_CATEG_NOT_EXISTS,
3670
3671 -- Check for Product Category Effectivity
3672 --Bug 4703541
3673 CASE WHEN lines_gt.product_category IS NOT NULL AND
3674 fc_prodcat.classification_code IS NOT NULL
3675 THEN CASE WHEN
3676 nvl(lines_gt.trx_line_date, header.trx_date) BETWEEN
3677 fc_prodcat.effective_from AND
3678 nvl(fc_prodcat.effective_to, nvl(lines_gt.trx_line_date, header.trx_date))
3679 THEN NULL
3680 ELSE 'Y' END
3681 ELSE NULL END PRODUCT_CATEG_NOT_EFFECTIVE,
3682
3683 -- Check for Country Consistency
3684 CASE WHEN (fc_prodcat.classification_code is not null AND
3685 fc_prodcat.country_code is not null)
3686 THEN CASE WHEN(fc_prodcat.country_code =
3687 header.default_taxation_country)
3688 THEN NULL
3689 ELSE 'Y' END
3690 ELSE NULL
3691 END PRODUCT_CATEG_COUNTRY_INCONSIS,
3692
3693 -- Check for user defined code exists
3694 nvl2(lines_gt.user_defined_fisc_class,
3695 nvl(fc_user.classification_code, 'Y'),
3696 null
3697 ) USER_DEF_FC_CODE_NOT_EXISTS,
3698
3699 -- Check for user defined code Effectivity
3700 CASE WHEN lines_gt.user_defined_fisc_class IS NOT NULL AND
3701 fc_user.classification_code IS NOT NULL
3702 THEN CASE WHEN
3703 nvl(lines_gt.trx_line_date, header.trx_date) BETWEEN
3704 fc_user.effective_from AND
3705 nvl(fc_user.effective_to, nvl(lines_gt.trx_line_date,header.trx_date))
3706 THEN NULL
3707 ELSE 'Y' END
3708 ELSE NULL END USER_DEF_FC_CODE_NOT_EFFECTIVE,
3709
3710 -- Check for user defined code Country Consistency
3711 CASE WHEN (fc_user.classification_type_code is not null AND
3712 fc_user.classification_code is not null AND
3713 fc_user.country_code is not null)
3714 THEN CASE WHEN(fc_user.country_code =
3715 header.default_taxation_country)
3716 THEN NULL
3717 ELSE 'Y' END
3718 ELSE NULL
3719 END USER_DEF_COUNTRY_INCONSIS,
3720
3721 -- Check for document subtype code Effectivity and enter only one error for trx.
3722 --Bug 4703541
3723 CASE WHEN header.document_sub_type is not null and
3724 fc_doc.classification_code is not null
3725 THEN --Bug 5018766
3726 CASE WHEN ( lines_gt.tax_date
3727 NOT BETWEEN
3728 fc_doc.effective_from AND
3729 nvl(fc_doc.effective_to, lines_gt.tax_date)
3730 AND
3731 (NOT EXISTS
3732 (SELECT 1 FROM ZX_TRANSACTION_LINES_GT
3733 WHERE application_id = lines_gt.application_id
3734 AND entity_code = lines_gt.entity_code
3735 AND event_class_code = lines_gt.event_class_code
3736 AND trx_id = lines_gt.trx_id
3737 AND trx_line_id < lines_gt.trx_line_id
3738 AND trx_level_type = lines_gt.trx_level_type)))
3739 THEN 'Y'
3740 ELSE NULL END
3741 ELSE NULL END DOC_FC_CODE_NOT_EFFECTIVE,
3742
3743 -- Check for Transaction Business Category fc code exists
3744 nvl2(lines_gt.trx_business_category,
3745 nvl(fc_trx.classification_code, 'Y'),
3746 null
3747 )TRX_BIZ_FC_CODE_NOT_EXISTS,
3748
3749 -- Check for Transaction Business Category fc code Effectivity
3750 --Bug 4703541
3751 CASE WHEN lines_gt.trx_business_category IS NOT NULL AND
3752 fc_trx.classification_code IS NOT NULL
3753 THEN CASE WHEN
3754 nvl(lines_gt.trx_line_date, header.trx_date) BETWEEN
3755 fc_trx.effective_from AND
3756 nvl(fc_trx.effective_to, nvl(lines_gt.trx_line_date, header.trx_date))
3757 THEN NULL
3758 ELSE 'Y' END
3759 ELSE NULL END TRX_BIZ_FC_CODE_NOT_EFFECTIVE,
3760
3761 -- Check for Transaction Business Category code Country Consistency
3762 CASE WHEN (fc_trx.classification_code is not null AND
3763 fc_trx.country_code is not null)
3764 THEN CASE WHEN(fc_trx.country_code =
3765 header.default_taxation_country)
3766 THEN NULL
3767 ELSE 'Y' END
3768 ELSE NULL
3769 END TRX_BIZ_FC_COUNTRY_INCONSIS,
3770
3771 -- Check for Intended Use - eTax model FC code exists
3772 --Bug 4703541
3773 nvl2(lines_gt.line_intended_use,
3774 nvl(fc_int.classification_code, 'Y'),
3775 null
3776 ) INTENDED_USE_CODE_NOT_EXISTS,
3777
3778 -- Check for Intended Use - eTax model FC code Effectivity
3779 --Bug 4703541
3780 CASE WHEN lines_gt.line_intended_use IS NOT NULL AND
3781 fc_int.classification_code IS NOT NULL
3782 THEN CASE WHEN
3783 nvl(lines_gt.trx_line_date, header.trx_date) BETWEEN
3784 fc_int.effective_from AND
3785 nvl(fc_int.effective_to, nvl(lines_gt.trx_line_date, header.trx_date))
3786 THEN NULL
3787 ELSE 'Y' END
3788 ELSE NULL END INTENDED_USE_NOT_EFFECTIVE,
3789
3790 -- Check for Intended Use - eTax modelFC code Country Consistency
3791 CASE WHEN (fc_int.classification_type_code is not null AND
3792 fc_int.classification_code is not null AND
3793 fc_int.country_code is not null )
3794 THEN CASE WHEN fc_int.country_code =
3795 header.default_taxation_country
3796 THEN NULL
3797 ELSE 'Y' END
3798 ELSE NULL
3799 END INTENDED_USE_CONTRY_INCONSIS,
3800
3801 -- Check for product type
3802 -- Bug # 3438264
3803 nvl2(lines_gt.product_type,
3804 nvl(fnd.lookup_code,'Y'),
3805 NULL
3806 ) PRODUCT_TYPE_CODE_NOT_EXISTS,
3807
3808 -- Check for product type code Effectivity
3809 CASE WHEN (fnd.lookup_code is not null)
3810 THEN CASE WHEN ( lines_gt.tax_date --Bug 5018766
3811 BETWEEN fnd.start_date_active AND
3812 nvl(fnd.end_date_active,
3813 lines_gt.tax_date )
3814 )
3815 THEN NULL
3816 ELSE 'Y' END
3817 ELSE NULL
3818 END PRODUCT_TYPE_NOT_EFFECTIVE,
3819
3820 -- Check for product fiscal classification
3821 nvl2(lines_gt.product_fisc_classification,
3822 CASE WHEN (fc_product.country_code =
3823 header.default_taxation_country and
3824 fc_product.classification_code is not null)
3825 THEN NULL
3826 ELSE 'Y' END,
3827 NULL
3828 ) PRODUCT_FC_CODE_NOT_EXISTS,
3829
3830 -- Check for SHIP_TO_PARTY_ID
3831 /*
3832 nvl2(lines_gt.SHIP_TO_PARTY_ID,
3833 CASE WHEN (NOT EXISTS
3834 (SELECT 1 FROM zx_party_tax_profile
3835 WHERE party_id =
3836 lines_gt.SHIP_TO_PARTY_ID
3837 AND party_type_code = 'THIRD_PARTY'))
3838 THEN 'Y'
3839 ELSE NULL END,
3840 NULL) SHIP_TO_PARTY_NOT_EXISTS,
3841
3842 -- Check for SHIP_FROM_PARTY_ID
3843 nvl2(lines_gt.SHIP_FROM_PARTY_ID,
3844 CASE WHEN (NOT EXISTS
3845 (SELECT 1 FROM zx_party_tax_profile
3846 WHERE party_id =
3847 lines_gt.SHIP_FROM_PARTY_ID
3848 AND party_type_code = 'THIRD_PARTY'))
3849 THEN 'Y'
3850 ELSE NULL END,
3851 NULL) SHIP_FROM_PARTY_NOT_EXISTS,
3852
3853 -- Check for BILL_TO_PARTY_ID
3854 nvl2(lines_gt.BILL_TO_PARTY_ID,
3855 CASE WHEN (NOT EXISTS
3856 (SELECT 1 FROM zx_party_tax_profile
3857 WHERE party_id =
3858 lines_gt.BILL_TO_PARTY_ID
3859 AND party_type_code = 'THIRD_PARTY'))
3860 THEN 'Y'
3861 ELSE NULL END,
3862 NULL) BILL_TO_PARTY_NOT_EXISTS,
3863
3864 -- Check for BILL_FROM_PARTY_ID
3865 nvl2(lines_gt.BILL_FROM_PARTY_ID,
3866 CASE WHEN (NOT EXISTS
3867 (SELECT 1 FROM zx_party_tax_profile
3868 WHERE party_id =
3869 lines_gt.BILL_FROM_PARTY_ID
3870 AND party_type_code = 'THIRD_PARTY'))
3871 THEN 'Y'
3872 ELSE NULL END,
3873 NULL) BILL_FROM_PARTY_NOT_EXISTS,
3874
3875 -- Check for SHIP_TO_PARTY_SITE_ID
3876 nvl2(lines_gt.SHIP_TO_PARTY_SITE_ID,
3877 CASE WHEN (NOT EXISTS
3878 (SELECT 1 FROM zx_party_tax_profile
3879 WHERE party_id =
3880 lines_gt.SHIP_TO_PARTY_SITE_ID
3881 AND party_type_code = 'THIRD_PARTY_SITE'))
3882 THEN 'Y'
3883 ELSE NULL END,
3884 NULL) SHIPTO_PARTY_SITE_NOT_EXISTS,
3885
3886 -- Check for SHIP_FROM_PARTY_SITE_ID
3887 nvl2(lines_gt.SHIP_FROM_PARTY_SITE_ID,
3888 CASE WHEN (NOT EXISTS
3889 (SELECT 1 FROM zx_party_tax_profile
3890 WHERE party_id =
3891 lines_gt.SHIP_FROM_PARTY_SITE_ID
3892 AND party_type_code = 'THIRD_PARTY_SITE'))
3893 THEN 'Y'
3894 ELSE NULL END,
3895 NULL) SHIPFROM_PARTY_SITE_NOT_EXISTS,
3896
3897 -- Check for BILL_TO_PARTY_SITE_ID
3898 nvl2(lines_gt.BILL_TO_PARTY_SITE_ID,
3899 CASE WHEN (NOT EXISTS
3900 (SELECT 1 FROM zx_party_tax_profile
3901 WHERE party_id =
3902 lines_gt.BILL_TO_PARTY_SITE_ID
3903 AND party_type_code = 'THIRD_PARTY_SITE'))
3904 THEN 'Y'
3905 ELSE NULL END,
3906 NULL) BILLTO_PARTY_SITE_NOT_EXISTS,
3907
3908 -- Check for BILL_FROM_PARTY_SITE_ID
3909 nvl2(lines_gt.BILL_FROM_PARTY_SITE_ID,
3910 CASE WHEN (NOT EXISTS
3911 (SELECT 1 FROM zx_party_tax_profile
3912 WHERE party_id =
3913 lines_gt.BILL_FROM_PARTY_SITE_ID
3914 AND party_type_code = 'THIRD_PARTY_SITE'))
3915 THEN 'Y'
3916 ELSE NULL END,
3917 NULL) BILLFROM_PARTY_SITE_NOT_EXISTS,
3918 */
3919
3920 -- If the header level control total flag is 'Y', then
3921 -- there should not be any control amount passed at line level
3922 -- removing the validation to sync the behavior with manual transactions
3923 -- bug 6915776
3924 /*CASE WHEN (lines_gt.CTRL_HDR_TX_APPL_FLAG ='Y' AND
3925 lines_gt.CTRL_TOTAL_LINE_TX_AMT IS NOT NULL )
3926 THEN 'Y'
3927 ELSE NULL
3928 END ZX_LINE_CTRL_AMT_INVALID,*/
3929
3930 -- Control total amount should be NULL if line_level_action is NOT 'CREATE'
3931 -- bug 6915776
3932 CASE WHEN (lines_gt.line_level_action <> 'CREATE' AND
3933 lines_gt.CTRL_TOTAL_LINE_TX_AMT IS NOT NULL )
3934 THEN 'Y'
3935 ELSE NULL
3936 END ZX_LINE_CTRL_AMT_NOT_NULL,
3937
3938 -- If tax_variance_calc_flag in ZX_EVNT_CLS_MAPPINGS is set to 'Y',
3939 -- then unit price and trx line quantity are required
3940 -- bugfix 4919842:
3941 -- unit price and trx line quantity are only required for non-amount based
3942 -- PO/receipt matched invoices
3943
3944 /* CASE WHEN (evntmap.tax_variance_calc_flag = 'Y'
3945 and lines_gt.unit_price is null
3946 and lines_gt.ref_doc_application_id IS NOT NULL
3947 and lines_gt.line_class <> 'AMOUNT_MATCHED')
3948 THEN 'Y'
3949 ELSE NULL
3950 END ZX_UNIT_PRICE_MISSING,
3951
3952 CASE WHEN (evntmap.tax_variance_calc_flag = 'Y'
3953 and lines_gt.trx_line_quantity is null
3954 and lines_gt.ref_doc_application_id IS NOT NULL
3955 and lines_gt.line_class <> 'AMOUNT_MATCHED')
3956 THEN 'Y'
3957 ELSE NULL
3958 END ZX_LINE_QUANTITY_MISSING,
3959 */
3960 -- end Bug # 4563490
3961
3962 CASE WHEN (lines_gt.exemption_control_flag IS NOT NULL AND
3963 lines_gt.exemption_control_flag NOT IN ('R','S','E'))
3964 THEN 'Y'
3965 ELSE NULL
3966 END ZX_EXEMPTION_CTRL_FLAG_INVALID,
3967
3968 CASE WHEN (lines_gt.product_type IS NOT NULL AND
3969 lines_gt.product_type NOT IN ('GOODS','SERVICES'))
3970 THEN 'Y'
3971 ELSE NULL
3972 END ZX_PRODUCT_TYPE_INVALID,
3973
3974 -- If the header level control total flag is 'Y', then there should not be any tax lines passed for
3975 -- that transaction except the tax-only tax lines
3976 CASE WHEN (lines_gt.ctrl_hdr_tx_appl_flag = 'Y' AND
3977 lines_gt.line_level_action <> 'LINE_INFO_TAX_ONLY' AND
3978 EXISTS (SELECT 1
3979 FROM zx_import_tax_lines_gt imptaxes_gt
3980 WHERE application_id = lines_gt.application_id
3981 AND entity_code = lines_gt.entity_code
3982 AND event_class_code = lines_gt.event_class_code
3983 AND trx_id = lines_gt.trx_id
3984 AND trx_line_id = lines_gt.trx_line_id)
3985 )
3986 THEN 'Y'
3987 ELSE NULL
3988 END ZX_INVALID_TAX_LINES,
3989
3990 -- If control total amount at line level is passed,
3991 -- then no tax lines should be allocated to that line
3992
3993 CASE WHEN (lines_gt.CTRL_TOTAL_LINE_TX_AMT IS NOT NULL AND
3994 EXISTS (SELECT 1
3995 from zx_trx_tax_link_gt
3996 WHERE application_id = lines_gt.application_id
3997 AND entity_code = lines_gt.entity_code
3998 AND event_class_code = lines_gt.event_class_code
3999 AND trx_id = lines_gt.trx_id
4000 AND trx_line_id = lines_gt.trx_line_id
4001 AND trx_level_type = lines_gt.trx_level_type) )
4002 THEN 'Y'
4003 ELSE NULL
4004 END ZX_INVALID_LINE_TAX_AMT,
4005
4006 -- If control total amount at line level is passed, then there should not exist a tax line
4007 -- that is allocated to all transaction lines (i.e. tax line with allocation flag as 'N').
4008
4009 CASE WHEN (lines_gt.ctrl_total_line_tx_amt IS NOT NULL AND
4010 exists(select 1
4011 from zx_import_tax_lines_gt imptaxes_gt
4012 where application_id = lines_gt.application_id
4013 AND entity_code = lines_gt.entity_code
4014 AND event_class_code = lines_gt.event_class_code
4015 AND trx_id = lines_gt.trx_id
4016 AND trx_line_id is null
4017 and imptaxes_gt.tax_line_allocation_flag = 'N') )
4018 THEN 'Y'
4019 ELSE NULL
4020 END ZX_INVALID_TAX_FOR_ALLOC_FLG,
4021
4022 -- Tax-only Tax Lines should always have the tax line allocation flag as Y
4023
4024 CASE WHEN (lines_gt.line_level_action = 'LINE_INFO_TAX_ONLY' AND
4025 EXISTS (SELECT 1
4026 FROM zx_import_tax_lines_gt imptaxes_gt
4027 WHERE application_id = lines_gt.application_id
4028 AND entity_code = lines_gt.entity_code
4029 AND event_class_code = lines_gt.event_class_code
4030 AND trx_id = lines_gt.trx_id
4031 AND trx_line_id = lines_gt.trx_line_id
4032 AND imptaxes_gt.tax_line_allocation_flag <> 'Y')
4033 )
4034 THEN 'Y'
4035 ELSE NULL
4036 END ZX_INVALID_TAX_ONLY_TAX_LINES,
4037
4038 /* CASE WHEN ((lines_gt.output_tax_classification_code IS NOT NULL OR
4039 lines_gt.input_tax_classification_code IS NOT NULL)
4040 --Changed for Bug#7504455--
4041 AND NOT EXISTS (SELECT 1
4042 FROM zx_rates_b rates,
4043 zx_subscription_details zxsd
4044 WHERE rates.tax_rate_code = NVL(lines_gt.output_tax_classification_code,
4045 lines_gt.input_tax_classification_code)
4046 AND rates.tax_regime_code = zxsd.tax_regime_code
4047 AND rates.content_owner_id = zxsd.first_pty_org_id
4048 AND rates.rate_type_code <> 'RECOVERY'))
4049 THEN 'Y'
4050 ELSE NULL
4051 END TAX_RATE_NOT_EXISTS,
4052
4053 --Commented for Bug#7504455--
4054 /*CASE WHEN /*(lines_gt.output_tax_classification_code IS NOT NULL OR
4055 lines_gt.input_tax_classification_code IS NOT NULL)
4056 AND (EXISTS (SELECT 1 FROM ZX_TAXES_B
4057 WHERE TAX_TYPE_CODE = 'OFFSET'
4058 AND tax IN (SELECT tax FROM ZX_RATES_B
4059 WHERE tax_rate_code = NVL(lines_gt.output_tax_classification_code,
4060 lines_gt.input_tax_classification_code)))
4061 OR
4062 rates.rate_type_code = 'RECOVERY'
4063 --)
4064 --)
4065 THEN 'Y'
4066 ELSE NULL END TAX_RECOV_OR_OFFSET,
4067
4068 CASE WHEN ((lines_gt.output_tax_classification_code IS NOT NULL OR
4069 lines_gt.input_tax_classification_code IS NOT NULL) AND
4070 --Changed for Bug#7504455--
4071 NOT EXISTS (SELECT 1
4072 FROM zx_rates_b rates,
4073 zx_subscription_details zxsd
4074 WHERE rates.tax_rate_code = NVL(lines_gt.output_tax_classification_code,
4075 lines_gt.input_tax_classification_code)
4076 AND rates.tax_regime_code = zxsd.tax_regime_code
4077 AND rates.content_owner_id = zxsd.first_pty_org_id
4078 AND rates.rate_type_code <> 'RECOVERY'
4079 AND lines_gt.tax_date BETWEEN rates.effective_from AND
4080 NVL(rates.effective_to,lines_gt.tax_date)))
4081 THEN 'Y'
4082 ELSE NULL END TAX_RATE_CODE_NOT_EFFECTIVE,
4083
4084 -- Check Rate Code is Active
4085 CASE WHEN ((lines_gt.output_tax_classification_code IS NOT NULL OR
4086 lines_gt.input_tax_classification_code IS NOT NULL) AND
4087 --Changed for Bug#7504455--
4088 NOT EXISTS (SELECT 1
4089 FROM zx_rates_b rates,
4090 zx_subscription_details zxsd
4091 WHERE rates.tax_rate_code = NVL(lines_gt.output_tax_classification_code,
4092 lines_gt.input_tax_classification_code)
4093 AND rates.tax_regime_code = zxsd.tax_regime_code
4094 AND rates.content_owner_id = zxsd.first_pty_org_id
4095 AND rates.rate_type_code <> 'RECOVERY'
4096 AND rates.active_flag = 'Y'))
4097 THEN 'Y'
4098 ELSE NULL END TAX_RATE_CODE_NOT_ACTIVE*/
4099 --taniya
4100 CASE WHEN lines_gt.output_tax_classification_code IS NOT NULL
4101 AND NOT EXISTS (SELECT 1
4102 FROM zx_output_classifications_v
4103 WHERE lookup_code = lines_gt.output_tax_classification_code
4104 AND org_id in (header.internal_organization_id, -99))
4105 THEN 'Y'
4106 ELSE
4107 CASE WHEN lines_gt.input_tax_classification_code IS NOT NULL
4108 AND NOT EXISTS (SELECT 1
4109 FROM zx_input_classifications_v
4110 WHERE lookup_code = lines_gt.input_tax_classification_code
4111 AND org_id in (header.internal_organization_id, -99))
4112 THEN 'Y'
4113 ELSE NULL END
4114 END TAX_RATE_NOT_EXISTS,
4115
4116 CASE WHEN lines_gt.output_tax_classification_code IS NOT NULL
4117 AND NOT EXISTS (SELECT 1
4118 FROM zx_output_classifications_v
4119 WHERE lookup_code = lines_gt.output_tax_classification_code
4120 AND org_id in (header.internal_organization_id, -99)
4121 AND lines_gt.tax_date BETWEEN start_date_active
4122 AND nvl(end_date_active,lines_gt.tax_date))
4123 THEN 'Y'
4124 ELSE
4125 CASE WHEN lines_gt.input_tax_classification_code IS NOT NULL
4126 AND NOT EXISTS (SELECT 1
4127 FROM zx_input_classifications_v
4128 WHERE lookup_code = lines_gt.input_tax_classification_code
4129 AND org_id in (header.internal_organization_id, -99)
4130 AND lines_gt.tax_date BETWEEN start_date_active
4131 AND nvl(end_date_active,lines_gt.tax_date))
4132 THEN 'Y'
4133 ELSE NULL END
4134 END TAX_RATE_CODE_NOT_EFFECTIVE,
4135
4136 -- Check Rate Code is Active
4137 CASE WHEN lines_gt.output_tax_classification_code IS NOT NULL
4138 AND NOT EXISTS (SELECT 1
4139 FROM zx_output_classifications_v
4140 WHERE lookup_code = lines_gt.output_tax_classification_code
4141 AND org_id in (header.internal_organization_id, -99)
4142 AND enabled_flag = 'Y')
4143 THEN 'Y'
4144 ELSE
4145 CASE WHEN lines_gt.input_tax_classification_code IS NOT NULL
4146 AND NOT EXISTS (SELECT 1
4147 FROM zx_input_classifications_v
4148 WHERE lookup_code = lines_gt.input_tax_classification_code
4149 AND org_id in (header.internal_organization_id, -99)
4150 AND enabled_flag = 'Y')
4151 THEN 'Y'
4152 ELSE NULL END
4153 END TAX_RATE_CODE_NOT_ACTIVE
4154 FROM
4155 ZX_TRX_HEADERS_GT header,
4156 ZX_EVNT_CLS_MAPPINGS evntmap,
4157 ZX_TRANSACTION_LINES_GT lines_gt,
4158 ZX_FC_PRODUCT_CATEGORIES_V fc_prodcat,
4159 ZX_FC_CODES_B fc_user,
4160 ZX_FC_DOCUMENT_FISCAL_V fc_doc,
4161 ZX_FC_BUSINESS_CATEGORIES_V fc_trx,
4162 ZX_FC_CODES_B fc_int,
4163 FND_LOOKUPS fnd,
4164 ZX_FC_PRODUCT_FISCAL_V fc_product
4165 --ZX_RATES_B rates --Commented for Bug#7504455--
4166 WHERE
4167 lines_gt.trx_id = header.trx_id
4168 and fc_product.classification_code(+) = lines_gt.product_fisc_classification
4169 and fc_prodcat.classification_code(+) = lines_gt.product_category
4170 and fc_user.classification_type_code(+) = 'USER_DEFINED'
4171 and fc_user.classification_code(+) = lines_gt.user_defined_fisc_class
4172 and fc_doc.classification_code(+) = header.document_sub_type
4173 and fc_trx.classification_code(+) = lines_gt.trx_business_category
4174 and fc_trx.application_id(+) = lines_gt.application_id
4175 and fc_trx.entity_code(+) = lines_gt.entity_code
4176 and fc_trx.event_class_code(+) = lines_gt.event_class_code
4177 and fc_int.classification_type_code(+) = 'INTENDED_USE'
4178 and fc_int.classification_code(+) = lines_gt.line_intended_use
4179 and header.application_id = evntmap.application_id (+)
4180 and header.entity_code = evntmap.entity_code (+)
4181 and header.event_class_code = evntmap.event_class_code(+)
4182 and fnd.lookup_type(+) = 'ZX_PRODUCT_TYPE'
4183 and fnd.lookup_code(+) = lines_gt.product_type;
4184 --Commented for Bug#7504455--
4185 --and rates.tax_rate_code(+) = NVL(lines_gt.output_tax_classification_code,
4186 -- lines_gt.input_tax_classification_code);
4187
4188 -- Bug 4902521 : Added Message to check no. of rows inserted .
4189 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
4190
4191 IF ( g_level_statement >= g_current_runtime_level) THEN
4192 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4193 'No. of Rows inserted for Line Related Validations : '|| to_char(sql%ROWCOUNT) );
4194 END IF;
4195
4196 /******************** End of Logic for Header/Line Validations *************************/
4197
4198 -- Validations for Imported tax Lines.
4199 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
4200 IF ( g_level_event >= g_current_runtime_level) THEN
4201 FND_LOG.STRING(g_level_event,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4202 'Validations for Imported tax Lines.');
4203 END IF;
4204
4205 -- Select the key columns and write into fnd log for debug purpose
4206 IF ( g_level_statement >= g_current_runtime_level) THEN
4207 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4208 'Before opening the cursor - get_import_tax_line_info_csr');
4209
4210 OPEN get_import_tax_line_info_csr;
4211
4212 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4213 'After opening the cursor - get_import_tax_line_info_csr');
4214
4215 LOOP
4216 FETCH get_import_tax_line_info_csr BULK COLLECT INTO
4217 l_application_id_tbl,
4218 l_entity_code_tbl,
4219 l_event_class_code_tbl,
4220 l_trx_id_tbl,
4221 l_trx_line_id_tbl,
4222 l_trx_level_type_tbl,
4223 l_summary_tax_line_number_tbl
4224
4225 LIMIT C_LINES_PER_COMMIT;
4226
4227 -- EXIT WHEN get_import_tax_line_info_csr%notfound;
4228
4229 l_count := nvl(l_trx_line_id_tbl.COUNT,0);
4230
4231 FND_LOG.STRING(g_level_statement,
4232 'ZX.PLSQL.ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4233 'number of rows fetched = ' || to_char(l_count));
4234
4235 IF l_count > 0 THEN
4236
4237 FOR i IN 1.. l_count LOOP
4238
4239 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4240 'Row Number = ' || to_char(i) );
4241
4242 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4243 'l_application_id = ' || to_char(l_application_id_tbl(i)) );
4244
4245 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4246 'l_entity_code = ' || l_entity_code_tbl(i) );
4247
4248 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4249 'l_event_class_code = ' || l_event_class_code_tbl(i) );
4250
4251 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4252 'l_trx_id = ' || to_char(l_trx_id_tbl(i)) );
4253
4254 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4255 'l_trx_line_id = ' || to_char(l_trx_line_id_tbl(i)) );
4256
4257 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4258 'l_trx_level_type = ' || l_trx_level_type_tbl(i) );
4259
4260 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4261 'l_summary_tax_line_number = ' || to_char(l_summary_tax_line_number_tbl(i)) );
4262
4263
4264 END LOOP;
4265 ELSE
4266 EXIT ;
4267
4268 END IF; -- end of count checking
4269
4270 END LOOP;
4271
4272 CLOSE get_import_tax_line_info_csr;
4273
4274 -- Clear the records
4275 l_application_id_tbl.delete;
4276 l_entity_code_tbl.delete;
4277 l_event_class_code_tbl.delete;
4278 l_trx_id_tbl.delete;
4279 l_trx_line_id_tbl.delete;
4280 l_trx_level_type_tbl.delete;
4281 l_summary_tax_line_number_tbl.delete;
4282
4283 END IF; -- End of debug checking
4284
4285 IF ( g_level_statement >= g_current_runtime_level) THEN
4286 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4287 'Before insertion into ZX_VALIDATION_ERRORS_GT for Imported Tax Lines Validations');
4288 END IF;
4289
4290 IF ( g_level_statement >= g_current_runtime_level) THEN
4291 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
4292 'Before insertion into ZX_VALIDATION_ERRORS_GT for Regime,Tax,Status and Jurisdiction related Imported Tax Lines Validations');
4293 END IF;
4294
4295 INSERT ALL
4296 WHEN (REGIME_NOT_EXISTS = 'Y') THEN
4297
4298 INTO ZX_VALIDATION_ERRORS_GT(
4299 application_id,
4300 entity_code,
4301 event_class_code,
4302 trx_id,
4303 trx_line_id,
4304 summary_tax_line_number,
4305 message_name,
4306 message_text,
4307 trx_level_type,
4308 interface_tax_entity_code,
4309 interface_tax_line_id
4310 )
4311 VALUES(
4312 application_id,
4313 entity_code,
4314 event_class_code,
4315 trx_id,
4316 NULL,
4317 summary_tax_line_number,
4318 'ZX_REGIME_NOT_EXIST',
4319 l_regime_not_exists,
4320 NULL,
4321 interface_tax_entity_code,
4322 interface_tax_line_id
4323 )
4324 WHEN (ZX_REGIME_NOT_EFF_IN_SUBSCR = 'Y') THEN
4325
4326 INTO ZX_VALIDATION_ERRORS_GT(
4327 application_id,
4328 entity_code,
4329 event_class_code,
4330 trx_id,
4331 trx_line_id,
4332 summary_tax_line_number,
4333 message_name,
4334 message_text,
4335 trx_level_type,
4336 interface_tax_entity_code,
4337 interface_tax_line_id
4338 )
4339 VALUES(
4340 application_id,
4341 entity_code,
4342 event_class_code,
4343 trx_id,
4344 NULL,
4345 summary_tax_line_number,
4346 'ZX_REGIME_NOT_EFF_IN_SUBSCR',
4347 l_regime_not_eff_in_subscrptn,
4348 NULL,
4349 interface_tax_entity_code,
4350 interface_tax_line_id
4351 )
4352 WHEN (REGIME_NOT_EFFECTIVE = 'Y') THEN
4353
4354 INTO ZX_VALIDATION_ERRORS_GT(
4355 application_id,
4356 entity_code,
4357 event_class_code,
4358 trx_id,
4359 trx_line_id,
4360 summary_tax_line_number,
4361 message_name,
4362 message_text,
4363 trx_level_type,
4364 interface_tax_entity_code,
4365 interface_tax_line_id
4366 )
4367 VALUES(
4368 application_id,
4369 entity_code,
4370 event_class_code,
4371 trx_id,
4372 NULL,
4373 summary_tax_line_number,
4374 'ZX_REGIME_NOT_EFFECTIVE',
4375 l_regime_not_effective,
4376 NULL,
4377 interface_tax_entity_code,
4378 interface_tax_line_id
4379 )
4380 WHEN (TAX_NOT_EXISTS = 'Y') THEN
4381
4382 INTO ZX_VALIDATION_ERRORS_GT(
4383 application_id,
4384 entity_code,
4385 event_class_code,
4386 trx_id,
4387 trx_line_id,
4388 summary_tax_line_number,
4389 message_name,
4390 message_text,
4391 trx_level_type,
4392 interface_tax_entity_code,
4393 interface_tax_line_id
4394 )
4395 VALUES(
4396 application_id,
4397 entity_code,
4398 event_class_code,
4399 trx_id,
4400 NULL,
4401 summary_tax_line_number,
4402 'ZX_TAX_NOT_EXIST',
4403 l_tax_not_exists,
4404 NULL,
4405 interface_tax_entity_code,
4406 interface_tax_line_id
4407 )
4408 WHEN (TAX_NOT_LIVE = 'Y') THEN
4409
4410 INTO ZX_VALIDATION_ERRORS_GT(
4411 application_id,
4412 entity_code,
4413 event_class_code,
4414 trx_id,
4415 trx_line_id,
4416 summary_tax_line_number,
4417 message_name,
4418 message_text,
4419 trx_level_type,
4420 interface_tax_entity_code,
4421 interface_tax_line_id
4422 )
4423 VALUES(
4424 application_id,
4425 entity_code,
4426 event_class_code,
4427 trx_id,
4428 NULL,
4429 summary_tax_line_number,
4430 'ZX_TAX_NOT_LIVE',
4431 l_tax_not_live,
4432 NULL,
4433 interface_tax_entity_code,
4434 interface_tax_line_id
4435 )
4436 WHEN (TAX_NOT_EFFECTIVE = 'Y') THEN
4437 INTO ZX_VALIDATION_ERRORS_GT(
4438 application_id,
4439 entity_code,
4440 event_class_code,
4441 trx_id,
4442 trx_line_id,
4443 summary_tax_line_number,
4444 message_name,
4445 message_text,
4446 trx_level_type,
4447 interface_tax_entity_code,
4448 interface_tax_line_id
4449 )
4450 VALUES(
4451 application_id,
4452 entity_code,
4453 event_class_code,
4454 trx_id,
4455 NULL,
4456 summary_tax_line_number,
4457 'ZX_TAX_NOT_EFFECTIVE',
4458 l_tax_not_effective,
4459 NULL,
4460 interface_tax_entity_code,
4461 interface_tax_line_id
4462 )
4463 WHEN (TAX_STATUS_NOT_EXISTS = 'Y') THEN
4464 INTO ZX_VALIDATION_ERRORS_GT(
4465 application_id,
4466 entity_code,
4467 event_class_code,
4468 trx_id,
4469 trx_line_id,
4470 summary_tax_line_number,
4471 message_name,
4472 message_text,
4473 trx_level_type,
4474 interface_tax_entity_code,
4475 interface_tax_line_id
4476 )
4477 VALUES(
4478 application_id,
4479 entity_code,
4480 event_class_code,
4481 trx_id,
4482 NULL,
4483 summary_tax_line_number,
4484 'ZX_TAX_STATUS_NOT_EXIST',
4485 l_tax_status_not_exists,
4486 NULL,
4487 interface_tax_entity_code,
4488 interface_tax_line_id
4489 )
4490 WHEN (TAX_STATUS_NOT_EFFECTIVE = 'Y') THEN
4491
4492 INTO ZX_VALIDATION_ERRORS_GT(
4493 application_id,
4494 entity_code,
4495 event_class_code,
4496 trx_id,
4497 trx_line_id,
4498 summary_tax_line_number,
4499 message_name,
4500 message_text,
4501 trx_level_type,
4502 interface_tax_entity_code,
4503 interface_tax_line_id
4504 )
4505 VALUES(
4506 application_id,
4507 entity_code,
4508 event_class_code,
4509 trx_id,
4510 NULL,
4511 summary_tax_line_number,
4512 'ZX_TAX_STATUS_NOT_EFFECTIVE',
4513 l_tax_status_not_effective,
4514 NULL,
4515 interface_tax_entity_code,
4516 interface_tax_line_id
4517 )
4518 WHEN (JUR_CODE_NOT_EXISTS = 'Y') THEN
4519
4520 INTO ZX_VALIDATION_ERRORS_GT(
4521 application_id,
4522 entity_code,
4523 event_class_code,
4524 trx_id,
4525 trx_line_id,
4526 summary_tax_line_number,
4527 message_name,
4528 message_text,
4529 trx_level_type,
4530 interface_tax_entity_code,
4531 interface_tax_line_id
4532 )
4533 VALUES(
4534 application_id,
4535 entity_code,
4536 event_class_code,
4537 trx_id,
4538 NULL,
4539 summary_tax_line_number,
4540 'ZX_JUR_CODE_NOT_EXIST',
4541 l_jur_code_not_exists,
4542 NULL,
4543 interface_tax_entity_code,
4544 interface_tax_line_id
4545 )
4546
4547 WHEN (JUR_CODE_NOT_EFFECTIVE = 'Y') THEN
4548
4549 INTO ZX_VALIDATION_ERRORS_GT(
4550 application_id,
4551 entity_code,
4552 event_class_code,
4553 trx_id,
4554 trx_line_id,
4555 summary_tax_line_number,
4556 message_name,
4557 message_text,
4558 trx_level_type,
4559 interface_tax_entity_code,
4560 interface_tax_line_id
4561 )
4562 VALUES(
4563 application_id,
4564 entity_code,
4565 event_class_code,
4566 trx_id,
4567 NULL,
4568 summary_tax_line_number,
4569 'ZX_JUR_CODE_NOT_EFFECTIVE',
4570 l_jur_code_not_effective,
4571 NULL,
4572 interface_tax_entity_code,
4573 interface_tax_line_id
4574 )
4575
4576 WHEN (DEFAULT_STATUS_NOT_EXISTS = 'Y') THEN
4577
4578 INTO ZX_VALIDATION_ERRORS_GT(
4579 application_id,
4580 entity_code,
4581 event_class_code,
4582 trx_id,
4583 trx_line_id,
4584 summary_tax_line_number,
4585 message_name,
4586 message_text,
4587 trx_level_type,
4588 interface_tax_entity_code,
4589 interface_tax_line_id
4590 )
4591 VALUES(
4592 application_id,
4593 entity_code,
4594 event_class_code,
4595 trx_id,
4596 NULL,
4597 summary_tax_line_number,
4598 'ZX_DEFAULT_STATUS_NOT_EXIST',
4599 l_default_status_not_exists,
4600 NULL,
4601 interface_tax_entity_code,
4602 interface_tax_line_id
4603 )
4604
4605 WHEN (TAX_AMT_MISSING = 'Y') THEN
4606
4607 INTO zx_validation_errors_gt(
4608 application_id,
4609 entity_code,
4610 event_class_code,
4611 trx_id,
4612 summary_tax_line_number,
4613 message_name,
4614 message_text,
4615 trx_level_type,
4616 interface_tax_entity_code,
4617 interface_tax_line_id
4618 )
4619 VALUES
4620 (
4621 application_id,
4622 entity_code,
4623 event_class_code,
4624 trx_id,
4625 summary_tax_line_number,
4626 'ZX_TAX_AMT_MISSING',
4627 l_tax_amt_missing,
4628 NULL,
4629 interface_tax_entity_code,
4630 interface_tax_line_id
4631 )
4632
4633 WHEN (ZX_TAX_LINE_ALLOC_FLAG_INVALID = 'Y') THEN
4634
4635 INTO ZX_VALIDATION_ERRORS_GT(
4636 application_id,
4637 entity_code,
4638 event_class_code,
4639 trx_id,
4640 --trx_line_id,
4641 summary_tax_line_number,
4642 message_name,
4643 message_text,
4644 trx_level_type,
4645 interface_line_entity_code,
4646 interface_line_id
4647 )
4648 VALUES(
4649 application_id,
4650 entity_code,
4651 event_class_code,
4652 trx_id,
4653 --trx_line_id,
4654 summary_tax_line_number,
4655 'ZX_TAX_LINE_ALLOC_FLAG_INVALID',
4656 l_tax_line_alloc_flag_invalid,
4657 NULL,
4658 interface_tax_entity_code,
4659 interface_tax_line_id
4660 )
4661 WHEN (ZX_INVALID_TAX_ALLOC_FLAG = 'Y') THEN
4662
4663 INTO ZX_VALIDATION_ERRORS_GT(
4664 application_id,
4665 entity_code,
4666 event_class_code,
4667 trx_id,
4668 summary_tax_line_number,
4669 message_name,
4670 message_text,
4671 trx_level_type,
4672 interface_line_entity_code,
4673 interface_line_id
4674 )
4675 VALUES(
4676 application_id,
4677 entity_code,
4678 event_class_code,
4679 trx_id,
4680 summary_tax_line_number,
4681 'ZX_INVALID_TAX_ALLOC_FLAG',
4682 l_invalid_tax_line_alloc_flag,
4683 NULL,
4684 interface_tax_entity_code,
4685 interface_tax_line_id
4686 )
4687 WHEN (SAMETAX_MULTIALLOC_TO_SAMELN = 'Y') THEN
4688
4689 INTO zx_validation_errors_gt(
4690 application_id,
4691 entity_code,
4692 event_class_code,
4693 trx_id,
4694 trx_line_id,
4695 summary_tax_line_number,
4696 message_name,
4697 message_text,
4698 trx_level_type,
4699 interface_tax_entity_code,
4700 interface_tax_line_id
4701 )
4702 VALUES (
4703 application_id,
4704 entity_code,
4705 event_class_code,
4706 trx_id,
4707 trx_line_id,
4708 summary_tax_line_number,
4709 'ZX_TAX_MULTIALLOC_TO_SAMELN',
4710 l_tax_multialloc_to_sameln,
4711 trx_level_type,
4712 interface_tax_entity_code,
4713 interface_tax_line_id
4714 )
4715 WHEN (TAX_ONLY_LINE_MULTI_ALLOCATED = 'Y') THEN
4716
4717 INTO zx_validation_errors_gt(
4718 application_id,
4719 entity_code,
4720 event_class_code,
4721 trx_id,
4722 trx_line_id,
4723 summary_tax_line_number,
4724 message_name,
4725 message_text,
4726 trx_level_type,
4727 interface_line_entity_code,
4728 interface_line_id
4729 )
4730 VALUES (
4731 application_id,
4732 entity_code,
4733 event_class_code,
4734 trx_id,
4735 trx_line_id,
4736 summary_tax_line_number,
4737 'ZX_TAX_ONLY_LINE_MULTI_ALLOCAT',
4738 l_tax_only_line_multi_allocate,
4739 trx_level_type,
4740 interface_line_entity_code,
4741 interface_line_id
4742 )
4743 WHEN (PSEUDO_LINE_HAS_MULTI_TAXALLOC = 'Y') THEN
4744
4745 INTO zx_validation_errors_gt(
4746 application_id,
4747 entity_code,
4748 event_class_code,
4749 trx_id,
4750 trx_line_id,
4751 summary_tax_line_number,
4752 message_name,
4753 message_text,
4754 trx_level_type,
4755 interface_line_entity_code,
4756 interface_line_id
4757 )
4758 VALUES (
4759 application_id,
4760 entity_code,
4761 event_class_code,
4762 trx_id,
4763 trx_line_id,
4764 summary_tax_line_number,
4765 'ZX_PSEUDO_LINE_HAS_MULTI_TAX',
4766 l_pseudo_line_has_multi_taxall,
4767 trx_level_type,
4768 interface_line_entity_code,
4769 interface_line_id
4770 )
4771
4772 WHEN (TAX_LN_TYP_LOC_NOT_ALLW_F_AR = 'Y' ) THEN
4773
4774 INTO zx_validation_errors_gt(
4775 application_id,
4776 entity_code,
4777 event_class_code,
4778 trx_id,
4779 trx_line_id,
4780 summary_tax_line_number,
4781 message_name,
4782 message_text,
4783 trx_level_type,
4784 interface_tax_entity_code,
4785 interface_tax_line_id
4786 )
4787 VALUES (
4788 application_id,
4789 entity_code,
4790 event_class_code,
4791 trx_id,
4792 trx_line_id,
4793 summary_tax_line_number,
4794 'ZX_TAX_LN_TYP_LOC_N_ALLW_F_AR',
4795 l_tax_ln_typ_loc_not_allw_f_ar,
4796 trx_level_type,
4797 interface_tax_entity_code,
4798 interface_tax_line_id
4799 )
4800 WHEN (TAX_INCL_FLAG_MISMATCH = 'Y' ) THEN
4801
4802 INTO zx_validation_errors_gt(
4803 application_id,
4804 entity_code,
4805 event_class_code,
4806 trx_id,
4807 trx_line_id,
4808 summary_tax_line_number,
4809 message_name,
4810 message_text,
4811 trx_level_type,
4812 interface_tax_entity_code,
4813 interface_tax_line_id
4814 )
4815 VALUES (
4816 application_id,
4817 entity_code,
4818 event_class_code,
4819 trx_id,
4820 trx_line_id,
4821 summary_tax_line_number,
4822 'ZX_TAX_INCL_FLAG_MISMATCH',
4823 l_tax_incl_flag_mismatch,
4824 trx_level_type,
4825 interface_tax_entity_code,
4826 interface_tax_line_id
4827 )
4828
4829
4830
4831 WHEN (ZX_TAX_MISSING_IN_APPLIED_FRM = 'Y') THEN
4832
4833 INTO zx_validation_errors_gt(
4834 application_id,
4835 entity_code,
4836 event_class_code,
4837 trx_id,
4838 trx_line_id,
4839 summary_tax_line_number,
4840 message_name,
4841 message_text,
4842 trx_level_type,
4843 interface_line_entity_code,
4844 interface_line_id
4845 )
4846 VALUES(
4847 application_id,
4848 entity_code,
4849 event_class_code,
4850 trx_id,
4851 trx_line_id,
4852 summary_tax_line_number,
4853 'ZX_TAX_MISSING_IN_APPLIED_FRM',
4854 l_imp_tax_missing_in_appld_frm,
4855 trx_level_type,
4856 interface_line_entity_code,
4857 interface_line_id
4858 )
4859
4860 WHEN (ZX_TAX_MISSING_IN_ADJUSTED_TO = 'Y') THEN
4861
4862 INTO zx_validation_errors_gt(
4863 application_id,
4864 entity_code,
4865 event_class_code,
4866 trx_id,
4867 trx_line_id,
4868 summary_tax_line_number,
4869 message_name,
4870 message_text,
4871 trx_level_type,
4872 interface_line_entity_code,
4873 interface_line_id
4874 )
4875 VALUES(
4876 application_id,
4877 entity_code,
4878 event_class_code,
4879 trx_id,
4880 trx_line_id,
4881 summary_tax_line_number,
4882 'ZX_TAX_MISSING_IN_ADJUSTED_TO',
4883 l_imp_tax_missing_in_adjust_to,
4884 trx_level_type,
4885 interface_line_entity_code,
4886 interface_line_id
4887 )
4888
4889 WHEN (ZX_IMP_TAX_RATE_AMT_MISMATCH = 'Y') THEN
4890
4891 INTO zx_validation_errors_gt(
4892 application_id,
4893 entity_code,
4894 event_class_code,
4895 trx_id,
4896 trx_line_id,
4897 summary_tax_line_number,
4898 message_name,
4899 message_text,
4900 trx_level_type,
4901 interface_line_entity_code,
4902 interface_line_id,
4903 interface_tax_line_id
4904 )
4905 VALUES(
4906 application_id,
4907 entity_code,
4908 event_class_code,
4909 trx_id,
4910 trx_line_id,
4911 summary_tax_line_number,
4912 'ZX_IMP_TAX_RATE_AMT_MISMATCH',
4913 l_imp_tax_rate_amt_mismatch,
4914 trx_level_type,
4915 interface_line_entity_code,
4916 interface_line_id,
4917 interface_tax_line_id
4918 )
4919 SELECT
4920 header.application_id,
4921 header.entity_code,
4922 header.event_class_code,
4923 header.trx_id,
4924 taxlines_gt.summary_tax_line_number,
4925 taxlines_gt.summary_tax_line_number interface_tax_line_id,
4926 taxlines_gt.entity_code interface_tax_entity_code,
4927 lines_gt.trx_line_id interface_line_id,
4928 lines_gt.entity_code interface_line_entity_code,
4929 lines_gt.trx_line_id,
4930 lines_gt.trx_level_type,
4931
4932 -- Check for Regime Existence
4933 CASE WHEN taxlines_gt.tax_regime_code IS NOT NULL AND
4934 regime.tax_regime_code IS NULL
4935 THEN
4936 'Y'
4937 ELSE 'N'
4938 END REGIME_NOT_EXISTS,
4939
4940 -- Check for Regime Effectivity in surscription detail table
4941 CASE WHEN taxlines_gt.tax_regime_code IS NOT NULL
4942 AND regime.tax_regime_code IS NOT NULL
4943 THEN
4944 CASE WHEN sd_reg.tax_regime_code IS NULL
4945 THEN 'Y'
4946 ELSE 'N' END
4947 ELSE 'N'
4948 END ZX_REGIME_NOT_EFF_IN_SUBSCR,
4949
4950
4951 -- Check for Regime Effectivity
4952 CASE WHEN taxlines_gt.tax_regime_code IS NOT NULL
4953 AND regime.tax_regime_code IS NOT NULL
4954 AND sd_reg.tax_regime_code IS NOT NULL
4955 THEN
4956 CASE WHEN lines_gt.subscription_date
4957 BETWEEN regime.effective_from
4958 AND NVL(regime.effective_to,
4959 lines_gt.subscription_date)
4960 THEN 'N'
4961 ELSE 'Y' END
4962 ELSE 'N'
4963 END REGIME_NOT_EFFECTIVE,
4964
4965 -- Check for Tax Existence
4966 nvl2(taxlines_gt.tax,
4967 CASE WHEN (sd_tax.tax_regime_code IS NOT NULL AND
4968 /*tax.tax_regime_code = regime.tax_regime_code AND*/ --Bug 4902521
4969 tax.tax is not null)
4970 THEN NULL
4971 ELSE 'Y' END,
4972 'N') TAX_NOT_EXISTS,
4973
4974 -- Check for Tax Live flag
4975 nvl2(taxlines_gt.tax,
4976 CASE WHEN (sd_tax.tax_regime_code IS NOT NULL AND
4977 /*tax.tax_regime_code=regime.tax_regime_code AND*/ --Bug 4902521
4978 tax.tax is not NULL )
4979 THEN
4980 CASE WHEN tax.live_for_processing_flag = 'Y'
4981 THEN 'N'
4982 ELSE 'Y'
4983 END
4984 ELSE 'N' END,
4985 'N') TAX_NOT_LIVE,
4986
4987 -- Check for Tax Effectivity
4988 nvl2(taxlines_gt.tax,
4989 CASE WHEN (sd_tax.tax_regime_code IS NOT NULL AND
4990 /*tax.tax_regime_code=regime.tax_regime_code AND*/ --Bug 4902521
4991 tax.tax is not null)
4992 THEN
4993 CASE WHEN lines_gt.tax_date --Bug 5018766
4994 BETWEEN tax.effective_from AND
4995 NVL(tax.effective_to,
4996 lines_gt.tax_date
4997 )
4998 THEN 'N'
4999 ELSE 'Y' END
5000 ELSE 'N' END ,
5001 'N') TAX_NOT_EFFECTIVE,
5002
5003 -- Check for Status Existence
5004 --Bug 4703541
5005 nvl2(taxlines_gt.tax_status_code,
5006 CASE WHEN(sd_status.tax_regime_code IS NOT NULL AND
5007 /* status.tax_regime_code = regime.tax_regime_code AND
5008 status.tax = tax.tax AND*/ --Bug 4902521
5009 status.tax_status_code is not null)
5010 THEN NULL
5011 ELSE 'Y'
5012 END,
5013 null) TAX_STATUS_NOT_EXISTS,
5014
5015 -- Check for Status Effectivity
5016 --Bug 4703541
5017 CASE WHEN(taxlines_gt.tax_status_code IS NOT NULL AND
5018 (sd_status.tax_regime_code IS NOT NULL AND
5019 /*status.tax_regime_code = regime.tax_regime_code
5020 AND status.tax = tax.tax AND*/ --Bug 4902521
5021 status.tax_status_code is not null)
5022 )
5023 THEN CASE WHEN lines_gt.tax_date --Bug 5018766
5024 BETWEEN status.effective_from AND
5025 nvl(status.effective_to,
5026 lines_gt.tax_date)
5027 THEN 'N'
5028 ELSE 'Y' END
5029 ELSE 'N' END TAX_STATUS_NOT_EFFECTIVE,
5030 -- Check for Jurisdiction Code Existence
5031 --Bug 4703541
5032 nvl2(taxlines_gt.tax_jurisdiction_code,
5033 CASE WHEN (/*jur.tax_regime_code = regime.tax_regime_code AND
5034 jur.tax = tax.tax AND*/ -- Bug 4902521
5035 jur.tax_jurisdiction_code is not null)
5036 THEN NULL
5037 ELSE 'Y' END,
5038 null) JUR_CODE_NOT_EXISTS,
5039
5040 -- Check for Jurisdiction Code Effectivity
5041 --Bug 4703541
5042 CASE WHEN (taxlines_gt.tax_jurisdiction_code IS NOT NULL AND
5043 /*jur.tax_regime_code = regime.tax_regime_code AND
5044 jur.tax = tax.tax AND*/ -- Bug 4902521
5045 jur.tax_jurisdiction_code is not null)
5046 THEN
5047 CASE WHEN lines_gt.tax_date
5048 BETWEEN jur.effective_from AND
5049 nvl(jur.effective_to,
5050 lines_gt.tax_date
5051 )
5052 THEN 'N'
5053 ELSE 'Y' END
5054 ELSE 'N' END JUR_CODE_NOT_EFFECTIVE,
5055
5056 -- Check for Default Tax Status check for partner tax lines
5057 CASE WHEN (taxlines_gt.tax_provider_id is not null)
5058 THEN CASE WHEN
5059 (/*status.tax_regime_code = regime.tax_regime_code AND
5060 status.tax = tax.tax AND*/ --Bug 4902521
5061 status.tax_status_code is not null AND
5062 status.default_status_flag = 'Y' AND
5063 lines_gt.tax_date
5064 BETWEEN status.effective_from AND
5065 nvl(status.effective_to,
5066 lines_gt.tax_date))
5067 THEN NULL
5068 ELSE 'Y'
5069 END
5070 ELSE NULL
5071 END DEFAULT_STATUS_NOT_EXISTS,
5072
5073 -- If Tax amount is null
5074 -- Bug 4703541 : Changed the taxlines_gt.tax_amt to to_char(taxlines_gt.tax_amt)
5075 NVL(to_char(taxlines_gt.tax_amt), 'Y') TAX_AMT_MISSING,
5076
5077 CASE WHEN (taxlines_gt.tax_line_allocation_flag IS NULL OR
5078 taxlines_gt.tax_line_allocation_flag NOT IN ('Y', 'N'))
5079 THEN 'Y'
5080 ELSE NULL
5081 END ZX_TAX_LINE_ALLOC_FLAG_INVALID ,
5082
5083 -- Tax lines with Tax Line Allocation flag as Y should have at least one allocation
5084 -- line in the Link GTT
5085 CASE WHEN (taxlines_gt.tax_line_allocation_flag = 'Y' AND
5086 NOT EXISTS (SELECT 1
5087 FROM zx_trx_tax_link_gt
5088 WHERE application_id = taxlines_gt.application_id
5089 AND entity_code = taxlines_gt.entity_code
5090 AND event_class_code = taxlines_gt.event_class_code
5091 AND trx_id = taxlines_gt.trx_id
5092 AND summary_tax_line_number =
5093 taxlines_gt.summary_tax_line_number)
5094 )
5095 THEN 'Y'
5096 ELSE NULL
5097 END ZX_INVALID_TAX_ALLOC_FLAG,
5098
5099 -- The same tax regime and tax cannot be allocated to the same
5100 -- transaction line multi times
5101 --
5102 CASE
5103 WHEN taxlines_gt.tax_regime_code IS NOT NULL AND
5104 taxlines_gt.tax IS NOT NULL AND
5105 EXISTS
5106 (SELECT /*+ INDEX(imptaxes_gt1 ZX_IMPORT_TAX_LINES_GT_U1) */
5107 1
5108 FROM zx_import_tax_lines_gt imptaxes_gt1
5109 WHERE imptaxes_gt1.application_id= taxlines_gt.application_id
5110 AND imptaxes_gt1.entity_code = taxlines_gt.entity_code
5111 AND imptaxes_gt1.event_class_code = taxlines_gt.event_class_code
5112 AND imptaxes_gt1.trx_id = taxlines_gt.trx_id
5113 AND imptaxes_gt1.summary_tax_line_number <>
5114 taxlines_gt.summary_tax_line_number
5115 AND imptaxes_gt1.tax_regime_code = taxlines_gt.tax_regime_code
5116 AND imptaxes_gt1.tax = taxlines_gt.tax
5117 AND (
5118 --imptaxes_gt1 is all alloc
5119 (imptaxes_gt1.trx_line_id IS NULL AND
5120 imptaxes_gt1.tax_line_allocation_flag = 'N')
5121
5122 OR
5123 --taxlines_gt is all alloc
5124 (taxlines_gt.trx_line_id IS NULL AND
5125 taxlines_gt.tax_line_allocation_flag = 'N')
5126
5127 OR
5128 --imptaxes_gt1 is one to one alloc
5129 ( imptaxes_gt1.trx_line_id IS NOT NULL AND
5130 ( --taxlines_gt is one to one alloc
5131 (imptaxes_gt1.trx_line_id = taxlines_gt.trx_line_id)
5132 OR
5133 --taxlines_gt is multi alloc
5134 (taxlines_gt.trx_line_id IS NULL AND
5135 taxlines_gt.tax_line_allocation_flag = 'Y' AND
5136 EXISTS (SELECT 1
5137 FROM zx_trx_tax_link_gt link_gt
5138 WHERE link_gt.trx_id = taxlines_gt.trx_id
5139 AND link_gt.application_id = taxlines_gt.application_id
5140 AND link_gt.entity_code = taxlines_gt.entity_code
5141 AND link_gt.event_class_code = taxlines_gt.event_class_code
5142 AND link_gt.summary_tax_line_number = taxlines_gt.summary_tax_line_number
5143 AND link_gt.trx_line_id = imptaxes_gt1.trx_line_id))
5144 )
5145 )
5146
5147 OR
5148 --imptaxes_gt1 is multi-alloc
5149 (imptaxes_gt1.trx_line_id IS NULL AND
5150 imptaxes_gt1.tax_line_allocation_flag = 'Y' AND
5151 ( --taxlines_gt is one to one alloc
5152 (taxlines_gt.trx_line_id IS NOT NULL AND
5153 EXISTS (SELECT 1
5154 FROM zx_trx_tax_link_gt link_gt
5155 WHERE link_gt.trx_id = imptaxes_gt1.trx_id
5156 AND link_gt.application_id = imptaxes_gt1.application_id
5157 AND link_gt.entity_code = imptaxes_gt1.entity_code
5158 AND link_gt.event_class_code = imptaxes_gt1.event_class_code
5159 AND link_gt.summary_tax_line_number = imptaxes_gt1.summary_tax_line_number
5160 AND link_gt.trx_line_id = taxlines_gt.trx_line_id))
5161 OR
5162 --taxlines_gt is multi alloc
5163 (taxlines_gt.trx_line_id IS NULL AND
5164 taxlines_gt.tax_line_allocation_flag = 'Y' AND
5165 EXISTS (SELECT 1
5166 FROM zx_trx_tax_link_gt link_gt1,
5167 zx_trx_tax_link_gt link_gt2
5168 WHERE link_gt1.trx_id = imptaxes_gt1.trx_id
5169 AND link_gt1.application_id = imptaxes_gt1.application_id
5170 AND link_gt1.entity_code = imptaxes_gt1.entity_code
5171 AND link_gt1.event_class_code = imptaxes_gt1.event_class_code
5172 AND link_gt1.summary_tax_line_number = imptaxes_gt1.summary_tax_line_number
5173 AND link_gt1.trx_line_id = imptaxes_gt1.trx_line_id
5174 AND link_gt2.trx_id = taxlines_gt.trx_id
5175 AND link_gt2.application_id = taxlines_gt.application_id
5176 AND link_gt2.entity_code = taxlines_gt.entity_code
5177 AND link_gt2.event_class_code = taxlines_gt.event_class_code
5178 AND link_gt2.summary_tax_line_number = taxlines_gt.summary_tax_line_number
5179 AND link_gt2.trx_line_id = taxlines_gt.trx_line_id
5180 AND link_gt2.trx_line_id = link_gt1.trx_line_id))
5181 )
5182 )
5183 )
5184 )
5185 THEN
5186 'Y'
5187 ELSE
5188 'N'
5189 END SAMETAX_MULTIALLOC_TO_SAMELN,
5190
5191 -- Each tax only tax line can only be allocated to one pseudo trx line
5192 --
5193 CASE
5194 WHEN lines_gt.line_level_action = 'LINE_INFO_TAX_ONLY'
5195 AND EXISTS
5196 (SELECT /*+ INDEX(zx_trx_tax_link_gt ZX_TRX_TAX_LINK_GT_U1) */
5197 1
5198 FROM zx_trx_tax_link_gt
5199 WHERE application_id = taxlines_gt.application_id
5200 AND entity_code = taxlines_gt.entity_code
5201 AND event_class_code = taxlines_gt.event_class_code
5202 AND trx_id = taxlines_gt.trx_id
5203 AND summary_tax_line_number =
5204 taxlines_gt.summary_tax_line_number
5205 AND (trx_line_id <> lines_gt.trx_line_id OR
5206 trx_level_type <> lines_gt.trx_level_type)
5207 )
5208 THEN
5209 'Y'
5210 ELSE
5211 'N'
5212 END TAX_ONLY_LINE_MULTI_ALLOCATED,
5213
5214 -- Each pseudo trx line can only be allocated with one tax_only tax line
5215 --
5216 CASE
5217 WHEN lines_gt.line_level_action = 'LINE_INFO_TAX_ONLY'
5218 AND EXISTS
5219 (SELECT /*+ INDEX(zx_trx_tax_link_gt ZX_TRX_TAX_LINK_GT_U1) */
5220 1
5221 FROM zx_trx_tax_link_gt
5222 WHERE application_id = taxlines_gt.application_id
5223 AND entity_code = taxlines_gt.entity_code
5224 AND event_class_code = taxlines_gt.event_class_code
5225 AND trx_id = taxlines_gt.trx_id
5226 AND summary_tax_line_number <>
5227 taxlines_gt.summary_tax_line_number
5228 AND trx_line_id = lines_gt.trx_line_id
5229 AND trx_level_type = lines_gt.trx_level_type
5230 )
5231 THEN
5232 'Y'
5233 ELSE
5234 'N'
5235 END PSEUDO_LINE_HAS_MULTI_TAXALLOC,
5236
5237
5238 -- Manual tax lines of tax oode 'LOCATION' is not allowed to be imported
5239 -- in Receivables
5240 CASE
5241 WHEN taxlines_gt.application_id = 222 AND taxlines_gt.tax = 'LOCATION'
5242 THEN
5243 'Y'
5244 ELSE
5245 'N'
5246 END TAX_LN_TYP_LOC_NOT_ALLW_F_AR,
5247
5248 -- If the imported tax line has inclusive_flag = 'N' but the tax
5249 -- is defined as inclusive in ZX_TAXES and allow inclusive override is N
5250 -- or vice versa, then raise error
5251 CASE WHEN tax.def_inclusive_tax_flag <> taxlines_gt.tax_amt_included_flag
5252 AND tax.tax_inclusive_override_flag = 'N'
5253 THEN
5254 'Y'
5255 ELSE
5256 'N'
5257 END TAX_INCL_FLAG_MISMATCH,
5258
5259
5260
5261 -- Bug 3676878: Imported tax lines found missing in other document
5262 --
5263 CASE
5264 WHEN lines_gt.applied_from_application_id IS NOT NULL
5265 AND NOT EXISTS
5266 (SELECT 1
5267 FROM zx_lines zl
5268 WHERE zl.application_id = lines_gt.applied_from_application_id
5269 AND zl.entity_code = lines_gt.applied_from_entity_code
5270 AND zl.event_class_code = lines_gt.applied_from_event_class_code
5271 AND zl.trx_id = lines_gt.applied_from_trx_id
5272 AND zl.trx_line_id = lines_gt.applied_from_line_id
5273 AND zl.trx_level_type = lines_gt.applied_from_trx_level_type
5274 AND zl.tax_regime_code = taxlines_gt.tax_regime_code
5275 AND zl.tax = taxlines_gt.tax
5276 )
5277 AND NOT EXISTS
5278 (SELECT 1
5279 FROM zx_import_tax_lines_gt tax_gt
5280 WHERE tax_gt.application_id = lines_gt.applied_from_application_id
5281 AND tax_gt.entity_code = lines_gt.applied_from_entity_code
5282 AND tax_gt.event_class_code = lines_gt.applied_from_event_class_code
5283 AND tax_gt.trx_id = lines_gt.applied_from_trx_id
5284 AND tax_gt.tax_regime_code = taxlines_gt.tax_regime_code
5285 AND tax_gt.tax = taxlines_gt.tax
5286 AND (--One to One Alloc
5287 (tax_gt.trx_line_id = lines_gt.applied_from_line_id)
5288
5289 OR
5290 --Multi Alloc
5291 (tax_gt.trx_line_id IS NULL AND
5292 tax_gt.tax_line_allocation_flag = 'Y' AND
5293 EXISTS (SELECT 1
5294 FROM zx_trx_tax_link_gt link_gt
5295 WHERE link_gt.trx_id = tax_gt.trx_id
5296 AND link_gt.application_id = tax_gt.application_id
5297 AND link_gt.entity_code = tax_gt.entity_code
5298 AND link_gt.event_class_code = tax_gt.event_class_code
5299 AND link_gt.summary_tax_line_number = tax_gt.summary_tax_line_number
5300 AND link_gt.trx_level_type = lines_gt.applied_from_trx_level_type
5301 AND link_gt.trx_line_id = lines_gt.applied_from_line_id)
5302 )
5303
5304 OR
5305 --All Alloc
5306 (tax_gt.trx_line_id IS NULL AND
5307 tax_gt.tax_line_allocation_flag = 'N' AND
5308 EXISTS (SELECT 1
5309 FROM zx_transaction_lines_gt trans_line_gt
5310 WHERE trans_line_gt.trx_id = tax_gt.trx_id
5311 AND trans_line_gt.application_id = tax_gt.application_id
5312 AND trans_line_gt.entity_code = tax_gt.entity_code
5313 AND trans_line_gt.event_class_code = tax_gt.event_class_code
5314 AND trans_line_gt.trx_level_type = lines_gt.applied_from_trx_level_type
5315 AND trans_line_gt.trx_line_id = lines_gt.applied_from_line_id)
5316 )
5317 )
5318 )
5319 THEN
5320 'Y'
5321 ELSE
5322 'N'
5323 END ZX_TAX_MISSING_IN_APPLIED_FRM,
5324
5325 CASE
5326 WHEN lines_gt.adjusted_doc_application_id IS NOT NULL
5327 AND NOT EXISTS
5328 (SELECT 1
5329 FROM zx_lines zl
5330 WHERE zl.application_id = lines_gt.adjusted_doc_application_id
5331 AND zl.entity_code = lines_gt.adjusted_doc_entity_code
5332 AND zl.event_class_code = lines_gt.adjusted_doc_event_class_code
5333 AND zl.trx_id = lines_gt.adjusted_doc_trx_id
5334 AND zl.trx_line_id = lines_gt.adjusted_doc_line_id
5335 AND zl.trx_level_type = lines_gt.adjusted_doc_trx_level_type
5336 AND zl.tax_regime_code = taxlines_gt.tax_regime_code
5337 AND zl.tax = taxlines_gt.tax
5338 )
5339 AND NOT EXISTS
5340 (SELECT 1
5341 FROM zx_import_tax_lines_gt tax_gt
5342 WHERE tax_gt.application_id = lines_gt.adjusted_doc_application_id
5343 AND tax_gt.entity_code = lines_gt.adjusted_doc_entity_code
5344 AND tax_gt.event_class_code = lines_gt.adjusted_doc_event_class_code
5345 AND tax_gt.trx_id = lines_gt.adjusted_doc_trx_id
5346 AND tax_gt.tax_regime_code = taxlines_gt.tax_regime_code
5347 AND tax_gt.tax = taxlines_gt.tax
5348 AND (--One to One Alloc
5349 (tax_gt.trx_line_id = lines_gt.adjusted_doc_line_id)
5350
5351 OR
5352 --Multi Alloc
5353 (tax_gt.trx_line_id IS NULL AND
5354 tax_gt.tax_line_allocation_flag = 'Y' AND
5355 EXISTS (SELECT 1
5356 FROM zx_trx_tax_link_gt link_gt
5357 WHERE link_gt.trx_id = tax_gt.trx_id
5358 AND link_gt.application_id = tax_gt.application_id
5359 AND link_gt.entity_code = tax_gt.entity_code
5360 AND link_gt.event_class_code = tax_gt.event_class_code
5361 AND link_gt.summary_tax_line_number = tax_gt.summary_tax_line_number
5362 AND link_gt.trx_level_type = lines_gt.adjusted_doc_trx_level_type
5363 AND link_gt.trx_line_id = lines_gt.adjusted_doc_line_id)
5364 )
5365
5366 OR
5367 --All Alloc
5368 (tax_gt.trx_line_id IS NULL AND
5369 tax_gt.tax_line_allocation_flag = 'N' AND
5370 EXISTS (SELECT 1
5371 FROM zx_transaction_lines_gt trans_line_gt
5372 WHERE trans_line_gt.trx_id = tax_gt.trx_id
5373 AND trans_line_gt.application_id = tax_gt.application_id
5374 AND trans_line_gt.entity_code = tax_gt.entity_code
5375 AND trans_line_gt.event_class_code = tax_gt.event_class_code
5376 AND trans_line_gt.trx_level_type = lines_gt.adjusted_doc_trx_level_type
5377 AND trans_line_gt.trx_line_id = lines_gt.adjusted_doc_line_id)
5378 )
5379 )
5380 )
5381 THEN
5382 'Y'
5383 ELSE
5384 'N'
5385 END ZX_TAX_MISSING_IN_ADJUSTED_TO ,
5386
5387 CASE WHEN (taxlines_gt.tax_amt <> 0 AND
5388 taxlines_gt.tax_rate = 0
5389 )
5390 THEN 'Y'
5391 ELSE NULL
5392 END ZX_IMP_TAX_RATE_AMT_MISMATCH
5393
5394 /* end bug 3676878 */
5395 FROM ZX_TRX_HEADERS_GT header,
5396 ZX_REGIMES_B regime ,
5397 ZX_TAXES_B tax ,
5398 ZX_STATUS_B status ,
5399 -- ZX_RATES_B rate ,
5400 -- zx_rates_b off_rate,
5401 -- zx_import_tax_lines_gt temp_gt,
5402 ZX_IMPORT_TAX_LINES_GT taxlines_gt,
5403 zx_transaction_lines_gt lines_gt,
5404 ZX_JURISDICTIONS_B jur,
5405 zx_subscription_details sd_reg,
5406 zx_subscription_details sd_tax,
5407 zx_subscription_details sd_status
5408 -- zx_subscription_details sd_rates
5409 WHERE taxlines_gt.trx_id = header.trx_id
5410 AND taxlines_gt.application_id = Header.application_id
5411 AND taxlines_gt.entity_code = Header.entity_code
5412 AND taxlines_gt.event_class_code = Header.event_class_code
5413 --AND (taxlines_gt.tax_rate_code IS NOT NULL OR taxlines_gt.tax_rate_id IS NOT NULL)
5414 AND jur.tax_jurisdiction_code(+) = taxlines_gt.tax_jurisdiction_code
5415 AND jur.tax_regime_code(+) = taxlines_gt.tax_regime_code -- Bug 4902521
5416 AND jur.tax(+) = taxlines_gt.tax -- Bug 4902521
5417 AND
5418 (
5419 lines_gt.tax_date
5420 BETWEEN
5421 nvl(jur.effective_from,
5422 lines_gt.tax_date
5423 ) AND
5424 nvl(jur.effective_to,
5425 lines_gt.tax_date
5426 )
5427 /*OR jur.effective_from =
5428 (
5429 SELECT
5430 min(effective_from)
5431 FROM ZX_JURISDICTIONS_B
5432 WHERE tax_jurisdiction_code = jur.tax_jurisdiction_code
5433 ) */
5434 )
5435 AND lines_gt.application_id = header.application_id
5436 AND lines_gt.entity_code = header.entity_code
5437 AND lines_gt.event_class_code = header.event_class_code
5438 AND lines_gt.trx_id = header.trx_id
5439 AND
5440 (-- One to One Alloc
5441 (
5442 lines_gt.trx_line_id = taxlines_gt.trx_line_id
5443 )
5444 OR
5445 --Multi Alloc
5446 (
5447 taxlines_gt.trx_line_id IS NULL
5448 AND taxlines_gt.tax_line_allocation_flag = 'Y'
5449 AND lines_gt.trx_line_id =
5450 (
5451 SELECT
5452 MIN(trx_line_id)
5453 FROM zx_trx_tax_link_gt link_gt
5454 WHERE link_gt.TRX_ID = taxlines_gt.trx_id
5455 AND link_gt.application_id = taxlines_gt.application_id
5456 AND link_gt.entity_code = taxlines_gt.entity_code
5457 AND link_gt.event_class_code = taxlines_gt.event_class_code
5458 AND link_gt.summary_tax_line_number = taxlines_gt.summary_tax_line_number
5459 )
5460 )
5461 OR
5462 --All Alloc
5463 (
5464 taxlines_gt.trx_line_id IS NULL
5465 AND taxlines_gt.tax_line_allocation_flag = 'N'
5466 AND lines_gt.trx_line_id =
5467 (
5468 SELECT
5469 MIN(trx_line_id)
5470 FROM zx_transaction_lines_gt trans_line_gt
5471 WHERE trans_line_gt.trx_id = taxlines_gt.trx_id
5472 AND trans_line_gt.application_id = taxlines_gt.application_id
5473 AND trans_line_gt.entity_code = taxlines_gt.entity_code
5474 AND trans_line_gt.event_class_code = taxlines_gt.event_class_code
5475 )
5476 )
5477 )
5478 --* for regime
5479 AND regime.tax_regime_code(+) = taxlines_gt.tax_regime_code
5480 AND regime.TAX_REGIME_CODE = sd_reg.tax_regime_code (+)
5481 AND sd_reg.first_pty_org_id(+) = g_first_pty_org_id
5482 AND nvl(sd_reg.view_options_code,'NONE') in ('NONE', 'VFC') -- Bug 4902521
5483 AND (
5484 lines_gt.subscription_date
5485 BETWEEN
5486 NVL(sd_reg.effective_from,
5487 lines_gt.subscription_date
5488 )
5489 AND
5490 NVL(sd_reg.effective_to,
5491 lines_gt.subscription_date
5492 )
5493 /* OR regime.effective_from =
5494 (
5495 SELECT
5496 MIN(effective_from)
5497 FROM zx_regimes_b
5498 WHERE tax_regime_code = regime.tax_regime_code
5499 ) */
5500 )
5501 --* for taxes
5502 AND tax.tax(+) = taxlines_gt.tax
5503 AND tax.tax_regime_code(+) = taxlines_gt.tax_regime_code
5504 AND tax.tax_regime_code = sd_tax.tax_regime_code (+)
5505 AND (
5506 tax.content_owner_id = sd_tax.parent_first_pty_org_id
5507 OR
5508 sd_tax.parent_first_pty_org_id is NULL
5509 )
5510 AND sd_tax.first_pty_org_id(+) = g_first_pty_org_id
5511 AND
5512 (
5513 lines_gt.subscription_date
5514 BETWEEN
5515 nvl(sd_tax.effective_from,
5516 lines_gt.subscription_date
5517 )
5518 AND
5519 NVL(sd_tax.effective_to,
5520 lines_gt.subscription_date
5521 )
5522 /*OR tax.effective_from =
5523 (
5524 SELECT
5525 min(effective_from)
5526 FROM ZX_TAXES_B
5527 WHERE tax_regime_code = tax.tax_regime_code
5528 AND tax = tax.tax
5529 AND content_owner_id = tax.content_owner_id
5530 ) */
5531 )
5532 AND
5533 (
5534 nvl(sd_tax.view_options_code,'NONE') in ('NONE', 'VFC')
5535 OR
5536 (
5537 nvl(sd_tax.view_options_code,'VFR') = 'VFR'
5538 AND not exists
5539 (
5540 SELECT
5541 1
5542 FROM zx_taxes_b b
5543 WHERE tax.tax_regime_code = b.tax_regime_code
5544 AND tax.tax = b.tax
5545 AND sd_tax.first_pty_org_id = b.content_owner_id
5546 )
5547 )
5548 )
5549 --* for status
5550 AND status.tax_status_code(+) = taxlines_gt.tax_status_code
5551 AND status.tax(+) = taxlines_gt.tax
5552 AND status.tax_regime_code(+) = taxlines_gt.tax_regime_code
5553 AND status.tax_regime_code = sd_status.tax_regime_code (+)
5554 AND
5555 (
5556 status.content_owner_id = sd_status.parent_first_pty_org_id
5557 OR
5558 sd_status.parent_first_pty_org_id is NULL
5559 )
5560 AND sd_status.first_pty_org_id(+) = g_first_pty_org_id
5561 AND
5562 (
5563 lines_gt.subscription_date
5564 BETWEEN
5565 nvl( sd_status.effective_from,
5566 lines_gt.subscription_date
5567 )
5568 AND
5569 nvl(sd_status.effective_to,
5570 lines_gt.subscription_date
5571 )
5572 /*OR status.effective_from =
5573 (
5574 SELECT
5575 min(effective_from)
5576 FROM ZX_STATUS_B
5577 WHERE tax_regime_code = status.tax_regime_code
5578 AND tax = status.tax
5579 AND tax_status_code = status.tax_status_code
5580 AND content_owner_id = status.content_owner_id
5581 ) */
5582 )
5583 AND
5584 (
5585 NVL(sd_status.view_options_code,'NONE') in ('NONE', 'VFC')
5586 OR
5587 (
5588 NVL(sd_status.view_options_code,'VFR') = 'VFR'
5589 AND not exists
5590 (
5591 SELECT
5592 1
5593 FROM zx_status_vl b
5594 WHERE b.tax_regime_code = status.tax_regime_code
5595 AND b.tax = status.tax
5596 AND b.tax_status_code = status.tax_status_code
5597 AND b.content_owner_id = sd_status.first_pty_org_id
5598 )
5599 )
5600 ) ;
5601
5602 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5603
5604 IF ( g_level_statement >= g_current_runtime_level) THEN
5605 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
5606 'No. of Rows inserted for Import Tax Line Validations : Regime,Tax,Status '|| to_char(sql%ROWCOUNT) );
5607 END IF;
5608
5609 -- Bug 5018766
5610 INSERT ALL
5611 WHEN (REG_SUBSCR_NOT_EFFECTIVE = 'Y') THEN
5612
5613 INTO ZX_VALIDATION_ERRORS_GT(
5614 application_id,
5615 entity_code,
5616 event_class_code,
5617 trx_id,
5618 trx_line_id,
5619 summary_tax_line_number,
5620 message_name,
5621 message_text,
5622 trx_level_type,
5623 interface_tax_entity_code,
5624 interface_tax_line_id
5625 )
5626 VALUES(
5627 application_id,
5628 entity_code,
5629 event_class_code,
5630 trx_id,
5631 NULL,
5632 summary_tax_line_number,
5633 'ZX_REGIME_NOT_EFF_IN_SUBSCR',
5634 l_regime_not_eff_in_subscrptn,
5635 NULL,
5636 interface_tax_entity_code,
5637 interface_tax_line_id
5638 )
5639 WHEN (TAX_SUBSCR_NOT_EFFECTIVE = 'Y') THEN
5640 INTO ZX_VALIDATION_ERRORS_GT(
5641 application_id,
5642 entity_code,
5643 event_class_code,
5644 trx_id,
5645 trx_line_id,
5646 summary_tax_line_number,
5647 message_name,
5648 message_text,
5649 trx_level_type,
5650 interface_tax_entity_code,
5651 interface_tax_line_id
5652 )
5653 VALUES(
5654 application_id,
5655 entity_code,
5656 event_class_code,
5657 trx_id,
5658 NULL,
5659 summary_tax_line_number,
5660 'ZX_TAX_NOT_EFFECTIVE',
5661 l_tax_not_effective,
5662 NULL,
5663 interface_tax_entity_code,
5664 interface_tax_line_id
5665 )
5666 WHEN (STATUS_SUBSCR_NOT_EFFECTIVE = 'Y') THEN
5667
5668 INTO ZX_VALIDATION_ERRORS_GT(
5669 application_id,
5670 entity_code,
5671 event_class_code,
5672 trx_id,
5673 trx_line_id,
5674 summary_tax_line_number,
5675 message_name,
5676 message_text,
5677 trx_level_type,
5678 interface_tax_entity_code,
5679 interface_tax_line_id
5680 )
5681 VALUES(
5682 application_id,
5683 entity_code,
5684 event_class_code,
5685 trx_id,
5686 NULL,
5687 summary_tax_line_number,
5688 'ZX_TAX_STATUS_NOT_EFFECTIVE',
5689 l_tax_status_not_effective,
5690 NULL,
5691 interface_tax_entity_code,
5692 interface_tax_line_id
5693 )
5694 SELECT
5695 header.application_id,
5696 header.entity_code,
5697 header.event_class_code,
5698 header.trx_id,
5699 taxlines_gt.summary_tax_line_number,
5700 taxlines_gt.summary_tax_line_number interface_tax_line_id,
5701 taxlines_gt.entity_code interface_tax_entity_code,
5702 lines_gt.trx_line_id interface_line_id,
5703 lines_gt.entity_code interface_line_entity_code,
5704 lines_gt.trx_line_id,
5705 lines_gt.trx_level_type,
5706 --regime effectivity
5707 CASE WHEN taxlines_gt.TAX_REGIME_CODE IS NOT NULL AND REGIME.TAX_REGIME_CODE IS NOT NULL
5708 THEN
5709 CASE WHEN ( SD_REG.TAX_REGIME_CODE IS NULL
5710 OR
5711 ( lines_gt.subscription_date NOT BETWEEN
5712 NVL(sd_REG.effective_from,lines_gt.subscription_date)
5713 AND NVL(sd_REG.effective_to, lines_gt.subscription_date)
5714 AND NOT EXISTS (
5715 SELECT 1 FROM ZX_SUBSCRIPTION_DETAILS ZSD
5716 WHERE ZSD.TAX_REGIME_CODE = REGIME.TAX_REGIME_CODE
5717 AND ZSD.FIRST_PTY_ORG_ID = g_first_pty_org_id
5718 AND lines_gt.subscription_date BETWEEN
5719 NVL(ZSD.effective_from,lines_gt.subscription_date)
5720 AND NVL(ZSD.effective_to, lines_gt.subscription_date)
5721 )
5722 )
5723 ) THEN 'Y' ELSE 'N' END
5724 ELSE 'N' END REG_SUBSCR_NOT_EFFECTIVE,
5725 --tax effectivty
5726 CASE WHEN taxlines_gt.tax IS NOT NULL AND TAX.TAX IS NOT NULL
5727 THEN
5728 CASE WHEN ( SD_TAX.TAX_REGIME_CODE IS NULL
5729 OR
5730 (
5731 lines_gt.subscription_date NOT BETWEEN
5732 NVL(sd_tax.effective_from,lines_gt.subscription_date)
5733 AND NVL(sd_tax.effective_to, lines_gt.subscription_date)
5734 AND NOT EXISTS (
5735 SELECT 1 FROM ZX_SUBSCRIPTION_DETAILS ZSD
5736 WHERE ZSD.TAX_REGIME_CODE = tax.TAX_REGIME_CODE
5737 AND ZSD.parent_first_pty_org_id = tax.content_owner_id
5738 AND ZSD.FIRST_PTY_ORG_ID = g_first_pty_org_id
5739 AND lines_gt.subscription_date BETWEEN
5740 NVL(ZSD.effective_from,lines_gt.subscription_date)
5741 AND NVL(ZSD.effective_to, lines_gt.subscription_date)
5742 )
5743 )
5744 ) THEN 'Y' ELSE 'N' END
5745 ELSE 'N' END TAX_SUBSCR_NOT_EFFECTIVE,
5746 --status effectivty
5747 CASE WHEN taxlines_gt.tax_status_code IS NOT NULL AND status.tax_status_code IS NOT NULL
5748 THEN
5749 CASE WHEN ( SD_status.TAX_REGIME_CODE IS NULL
5750 OR
5751 (
5752 lines_gt.subscription_date NOT BETWEEN
5753 NVL(sd_status.effective_from,lines_gt.subscription_date)
5754 AND NVL(sd_status.effective_to, lines_gt.subscription_date)
5755 AND NOT EXISTS (
5756 SELECT 1 FROM ZX_SUBSCRIPTION_DETAILS ZSD
5757 WHERE ZSD.TAX_REGIME_CODE = status.TAX_REGIME_CODE
5758 AND ZSD.parent_first_pty_org_id = status.content_owner_id
5759 AND ZSD.FIRST_PTY_ORG_ID = g_first_pty_org_id
5760 AND lines_gt.subscription_date BETWEEN
5761 NVL(ZSD.effective_from,lines_gt.subscription_date)
5762 AND NVL(ZSD.effective_to, lines_gt.subscription_date)
5763 )
5764 )
5765 ) THEN 'Y' ELSE 'N' END
5766 ELSE 'N' END STATUS_SUBSCR_NOT_EFFECTIVE
5767 from
5768 zx_trx_headers_gt header,
5769 zx_transaction_lines_gt lines_gt,
5770 ZX_IMPORT_TAX_LINES_GT taxlines_gt,
5771 ZX_REGIMES_B regime ,
5772 ZX_TAXES_B tax ,
5773 ZX_STATUS_B status ,
5774 zx_subscription_details sd_reg,
5775 zx_subscription_details sd_tax,
5776 zx_subscription_details sd_status
5777 where taxlines_gt.trx_id = header.trx_id
5778 AND taxlines_gt.application_id = Header.application_id
5779 AND taxlines_gt.entity_code = Header.entity_code
5780 AND taxlines_gt.event_class_code = Header.event_class_code
5781 AND lines_gt.application_id = header.application_id
5782 AND lines_gt.entity_code = header.entity_code
5783 AND lines_gt.event_class_code = header.event_class_code
5784 AND lines_gt.trx_id = header.trx_id
5785 AND
5786 (-- One to One Alloc
5787 (
5788 lines_gt.trx_line_id = taxlines_gt.trx_line_id
5789 )
5790 OR
5791 --Multi Alloc
5792 (
5793 taxlines_gt.trx_line_id IS NULL
5794 AND taxlines_gt.tax_line_allocation_flag = 'Y'
5795 AND lines_gt.trx_line_id =
5796 (
5797 SELECT
5798 MIN(trx_line_id)
5799 FROM zx_trx_tax_link_gt link_gt
5800 WHERE link_gt.TRX_ID = taxlines_gt.trx_id
5801 AND link_gt.application_id = taxlines_gt.application_id
5802 AND link_gt.entity_code = taxlines_gt.entity_code
5803 AND link_gt.event_class_code = taxlines_gt.event_class_code
5804 AND link_gt.summary_tax_line_number = taxlines_gt.summary_tax_line_number
5805 )
5806 )
5807 OR
5808 --All Alloc
5809 (
5810 taxlines_gt.trx_line_id IS NULL
5811 AND taxlines_gt.tax_line_allocation_flag = 'N'
5812 AND lines_gt.trx_line_id =
5813 (
5814 SELECT
5815 MIN(trx_line_id)
5816 FROM zx_transaction_lines_gt trans_line_gt
5817 WHERE trans_line_gt.trx_id = taxlines_gt.trx_id
5818 AND trans_line_gt.application_id = taxlines_gt.application_id
5819 AND trans_line_gt.entity_code = taxlines_gt.entity_code
5820 AND trans_line_gt.event_class_code = taxlines_gt.event_class_code
5821 )
5822 )
5823 )
5824 --* for regime
5825 AND regime.tax_regime_code(+) = taxlines_gt.tax_regime_code
5826 AND regime.TAX_REGIME_CODE = sd_reg.tax_regime_code (+)
5827 AND sd_reg.first_pty_org_id(+) = g_first_pty_org_id
5828 AND nvl(sd_reg.view_options_code,'NONE') in ('NONE', 'VFC')
5829 --* for taxes
5830 AND tax.tax(+) = taxlines_gt.tax
5831 AND tax.tax_regime_code(+) = taxlines_gt.tax_regime_code
5832 AND tax.tax_regime_code = sd_tax.tax_regime_code (+)
5833 AND (
5834 tax.content_owner_id = sd_tax.parent_first_pty_org_id
5835 OR
5836 sd_tax.parent_first_pty_org_id is NULL
5837 )
5838 AND sd_tax.first_pty_org_id(+) = g_first_pty_org_id
5839 AND
5840 (
5841 nvl(sd_tax.view_options_code,'NONE') in ('NONE', 'VFC')
5842 OR
5843 (
5844 nvl(sd_tax.view_options_code,'VFR') = 'VFR'
5845 AND not exists
5846 (
5847 SELECT
5848 1
5849 FROM zx_taxes_b b
5850 WHERE tax.tax_regime_code = b.tax_regime_code
5851 AND tax.tax = b.tax
5852 AND sd_tax.first_pty_org_id = b.content_owner_id
5853 )
5854 )
5855 )
5856 --* for status
5857 AND status.tax_status_code(+) = taxlines_gt.tax_status_code
5858 AND status.tax(+) = taxlines_gt.tax
5859 AND status.tax_regime_code(+) = taxlines_gt.tax_regime_code
5860 AND status.tax_regime_code = sd_status.tax_regime_code (+)
5861 AND
5862 (
5863 status.content_owner_id = sd_status.parent_first_pty_org_id
5864 OR
5865 sd_status.parent_first_pty_org_id is NULL
5866 )
5867 AND sd_status.first_pty_org_id(+) = g_first_pty_org_id
5868 AND
5869 (
5870 NVL(sd_status.view_options_code,'NONE') in ('NONE', 'VFC')
5871 OR
5872 (
5873 NVL(sd_status.view_options_code,'VFR') = 'VFR'
5874 AND not exists
5875 (
5876 SELECT
5877 1
5878 FROM zx_status_vl b
5879 WHERE b.tax_regime_code = status.tax_regime_code
5880 AND b.tax = status.tax
5881 AND b.tax_status_code = status.tax_status_code
5882 AND b.content_owner_id = sd_status.first_pty_org_id
5883 )
5884 )
5885 );
5886
5887 --Bug 5018766 : Delete any duplicate rows that might get inserted for that trx_id , trx_line_id from the above insert stmt.
5888 DELETE FROM ZX_VALIDATION_ERRORS_GT A
5889 WHERE A.ROWID < ( SELECT MAX(B.ROWID) FROM ZX_VALIDATION_ERRORS_GT B
5890 WHERE A.APPLICATION_ID = B.APPLICATION_ID
5891 AND A.ENTITY_CODE = B.ENTITY_CODE
5892 AND A.EVENT_CLASS_CODE = B.EVENT_CLASS_CODE
5893 AND A.TRX_ID = B.TRX_ID
5894 AND A.TRX_LINE_ID = B.TRX_LINE_ID
5895 AND A.TRX_LEVEL_TYPE = B.TRX_LEVEL_TYPE
5896 AND A.SUMMARY_TAX_LINE_NUMBER = B.SUMMARY_TAX_LINE_NUMBER
5897 AND A.MESSAGE_NAME = B.MESSAGE_NAME );
5898
5899 IF ( g_level_statement >= g_current_runtime_level) THEN
5900 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
5901 'Before insertion into ZX_VALIDATION_ERRORS_GT for RateCode related Imported Tax Lines Validations');
5902 END IF;
5903
5904 INSERT ALL
5905 WHEN (TAX_RATE_CODE_NOT_EXISTS = 'Y') THEN
5906
5907 INTO ZX_VALIDATION_ERRORS_GT(
5908 application_id,
5909 entity_code,
5910 event_class_code,
5911 trx_id,
5912 trx_line_id,
5913 summary_tax_line_number,
5914 message_name,
5915 message_text,
5916 trx_level_type,
5917 interface_tax_entity_code,
5918 interface_tax_line_id
5919 )
5920 VALUES(
5921 application_id,
5922 entity_code,
5923 event_class_code,
5924 trx_id,
5925 NULL,
5926 summary_tax_line_number,
5927 'ZX_TAX_RATE_CODE_NOT_EXIST', --4703541
5928 l_tax_rate_code_not_exists,
5929 NULL,
5930 interface_tax_entity_code,
5931 interface_tax_line_id
5932 )
5933
5934 WHEN (TAX_RATE_CODE_NOT_EFFECTIVE = 'Y') THEN
5935
5936 INTO ZX_VALIDATION_ERRORS_GT(
5937 application_id,
5938 entity_code,
5939 event_class_code,
5940 trx_id,
5941 trx_line_id,
5942 summary_tax_line_number,
5943 message_name,
5944 message_text,
5945 trx_level_type,
5946 interface_tax_entity_code,
5947 interface_tax_line_id
5948 )
5949 VALUES(
5950 application_id,
5951 entity_code,
5952 event_class_code,
5953 trx_id,
5954 NULL,
5955 summary_tax_line_number,
5956 'ZX_TAX_RATE_NOT_EFFECTIVE',
5957 l_tax_rate_not_effective,
5958 NULL,
5959 interface_tax_entity_code,
5960 interface_tax_line_id
5961 )
5962
5963 WHEN (TAX_RATE_CODE_NOT_ACTIVE = 'Y') THEN
5964
5965 INTO ZX_VALIDATION_ERRORS_GT(
5966 application_id,
5967 entity_code,
5968 event_class_code,
5969 trx_id,
5970 trx_line_id,
5971 summary_tax_line_number,
5972 message_name,
5973 message_text,
5974 trx_level_type,
5975 interface_tax_entity_code,
5976 interface_tax_line_id
5977 )
5978 VALUES(
5979 application_id,
5980 entity_code,
5981 event_class_code,
5982 trx_id,
5983 NULL,
5984 summary_tax_line_number,
5985 'ZX_TAX_RATE_NOT_ACTIVE',
5986 l_tax_rate_not_active,
5987 NULL,
5988 interface_tax_entity_code,
5989 interface_tax_line_id
5990 )
5991
5992 WHEN (TAX_RATE_PERCENTAGE_INVALID = 'Y') THEN
5993
5994 INTO ZX_VALIDATION_ERRORS_GT(
5995 application_id,
5996 entity_code,
5997 event_class_code,
5998 trx_id,
5999 trx_line_id,
6000 summary_tax_line_number,
6001 message_name,
6002 message_text,
6003 trx_level_type,
6004 interface_tax_entity_code,
6005 interface_tax_line_id
6006 )
6007 VALUES(
6008 application_id,
6009 entity_code,
6010 event_class_code,
6011 trx_id,
6012 NULL,
6013 summary_tax_line_number,
6014 'ZX_TAX_RATE_PERCENTAGE_INVALID',
6015 l_tax_rate_percentage_invalid,
6016 NULL,
6017 interface_tax_entity_code,
6018 interface_tax_line_id
6019 )
6020 WHEN (TAX_RECOV_OR_OFFSET = 'Y') THEN
6021 INTO ZX_VALIDATION_ERRORS_GT(
6022 application_id,
6023 entity_code,
6024 event_class_code,
6025 trx_id,
6026 trx_line_id,
6027 summary_tax_line_number,
6028 message_name,
6029 message_text,
6030 trx_level_type,
6031 interface_tax_entity_code,
6032 interface_tax_line_id
6033 )
6034 VALUES(
6035 application_id,
6036 entity_code,
6037 event_class_code,
6038 trx_id,
6039 NULL,
6040 summary_tax_line_number,
6041 'ZX_TAX_RECOV_OR_OFFSET',
6042 l_tax_recov_or_offset,
6043 NULL,
6044 interface_tax_entity_code,
6045 interface_tax_line_id
6046 )
6047 WHEN (DEFAULT_RATE_CODE_NOT_EXISTS = 'Y') THEN
6048
6049 INTO ZX_VALIDATION_ERRORS_GT(
6050 application_id,
6051 entity_code,
6052 event_class_code,
6053 trx_id,
6054 trx_line_id,
6055 summary_tax_line_number,
6056 message_name,
6057 message_text,
6058 trx_level_type,
6059 interface_tax_entity_code,
6060 interface_tax_line_id
6061 )
6062 VALUES(
6063 application_id,
6064 entity_code,
6065 event_class_code,
6066 trx_id,
6067 NULL,
6068 summary_tax_line_number,
6069 'ZX_DEFAULT_RATE_CODE_NOT_EXIST',
6070 l_default_rate_code_not_exists,
6071 NULL,
6072 interface_tax_entity_code,
6073 interface_tax_line_id
6074 )
6075 SELECT
6076 application_id,
6077 entity_code,
6078 event_class_code,
6079 trx_id,
6080 summary_tax_line_number,
6081 interface_tax_line_id,
6082 interface_tax_entity_code,
6083 interface_line_id,
6084 interface_line_entity_code,
6085 trx_line_id,
6086 trx_level_type,
6087 TAX_RATE_CODE_NOT_EXISTS,
6088 DECODE(TAX_RATE_CODE_NOT_EXISTS,'Y','N',TAX_RATE_CODE_NOT_EFFECTIVE) TAX_RATE_CODE_NOT_EFFECTIVE,
6089 DECODE(TAX_RATE_CODE_NOT_EXISTS,'Y','N',TAX_RATE_CODE_NOT_ACTIVE) TAX_RATE_CODE_NOT_ACTIVE,
6090 DECODE(TAX_RATE_CODE_NOT_EXISTS,'Y','N',TAX_RATE_PERCENTAGE_INVALID) TAX_RATE_PERCENTAGE_INVALID,
6091 DECODE(TAX_RATE_CODE_NOT_EXISTS,'Y','N',TAX_RECOV_OR_OFFSET) TAX_RECOV_OR_OFFSET,
6092 DECODE(TAX_RATE_CODE_NOT_EXISTS,'Y','N',DEFAULT_RATE_CODE_NOT_EXISTS) DEFAULT_RATE_CODE_NOT_EXISTS
6093 FROM
6094 (SELECT
6095 header.application_id application_id,
6096 header.entity_code entity_code,
6097 header.event_class_code,
6098 header.trx_id trx_id,
6099 taxlines_gt.summary_tax_line_number summary_tax_line_number,
6100 taxlines_gt.summary_tax_line_number interface_tax_line_id,
6101 taxlines_gt.entity_code interface_tax_entity_code,
6102 lines_gt.trx_line_id interface_line_id,
6103 lines_gt.entity_code interface_line_entity_code,
6104 lines_gt.trx_line_id trx_line_id,
6105 lines_gt.trx_level_type trx_level_type,
6106 -- Check for Rate Code Existence
6107 --Bug 4703541
6108 CASE WHEN (sd_rates.tax_regime_code is not null and
6109 rate.tax_rate_code is not NULL )
6110 THEN CASE WHEN taxlines_gt.tax_rate_id IS NOT NULL
6111 AND NOT EXISTS ( SELECT 1 FROM zx_rates_b
6112 WHERE tax_rate_id = taxlines_gt.tax_rate_id)
6113 THEN 'Y'
6114 ELSE 'N' END
6115 ELSE 'Y' END TAX_RATE_CODE_NOT_EXISTS,
6116 --Bug 4703541
6117 CASE WHEN
6118 lines_gt.tax_date
6119 BETWEEN rate.effective_from AND
6120 nvl(rate.effective_to,
6121 lines_gt.tax_date)
6122 THEN 'N'
6123 ELSE 'Y' END TAX_RATE_CODE_NOT_EFFECTIVE,
6124 -- Check Rate Code is Active
6125 CASE WHEN rate.active_flag = 'Y'
6126 THEN 'N'
6127 ELSE 'Y' END TAX_RATE_CODE_NOT_ACTIVE,
6128 -- Check for Rate Percentage
6129 CASE WHEN taxlines_gt.tax_rate IS NOT NULL
6130 AND rate.percentage_rate <> taxlines_gt.tax_rate
6131 AND nvl(rate.allow_adhoc_tax_rate_flag,'N') <> 'Y'
6132 AND lines_gt.tax_date
6133 BETWEEN rate.effective_from AND
6134 nvl(rate.effective_to,
6135 lines_gt.tax_date
6136 )
6137 THEN 'Y'
6138 ELSE 'N' END TAX_RATE_PERCENTAGE_INVALID,
6139 -- Check for 'Recovery' or 'Offset' Tax
6140 CASE WHEN ((off_rate.tax_rate_code is not null and temp_gt.tax_rate_code is null) --Bug 4902521
6141 OR
6142 rate.rate_type_code = 'RECOVERY'
6143 )
6144 THEN 'Y'
6145 ELSE NULL END TAX_RECOV_OR_OFFSET,
6146 -- Check for Default Tax Rate Code check for partner tax lines
6147 CASE WHEN ( taxlines_gt.tax_provider_id is not NULL )
6148 THEN CASE WHEN
6149 --Bug#3600626
6150 rate.default_rate_flag = 'Y' AND
6151 lines_gt.tax_date
6152 BETWEEN
6153 rate.effective_from AND
6154 nvl(rate.effective_to,
6155 lines_gt.tax_date
6156 )
6157 THEN NULL
6158 ELSE 'Y' END
6159 ELSE NULL
6160 END DEFAULT_RATE_CODE_NOT_EXISTS
6161 FROM ZX_TRX_HEADERS_GT header,
6162 ZX_RATES_B rate ,
6163 zx_rates_b off_rate,
6164 zx_import_tax_lines_gt temp_gt,
6165 ZX_IMPORT_TAX_LINES_GT taxlines_gt,
6166 zx_transaction_lines_gt lines_gt,
6167 zx_subscription_details sd_rates
6168 WHERE taxlines_gt.trx_id = header.trx_id
6169 AND taxlines_gt.application_id = Header.application_id
6170 AND taxlines_gt.entity_code = Header.entity_code
6171 AND taxlines_gt.event_class_code = Header.event_class_code
6172 AND (taxlines_gt.tax_rate_code IS NOT NULL OR taxlines_gt.tax_rate_id IS NOT NULL)
6173 AND (temp_gt.tax_rate_code IS NOT NULL OR temp_gt.tax_rate_id IS NOT NULL)
6174 AND lines_gt.application_id = header.application_id
6175 AND lines_gt.entity_code = header.entity_code
6176 AND lines_gt.event_class_code = header.event_class_code
6177 AND lines_gt.trx_id = header.trx_id
6178 AND
6179 (-- One to One Alloc
6180 (
6181 lines_gt.trx_line_id = taxlines_gt.trx_line_id
6182 )
6183 OR
6184 --Multi Alloc
6185 (
6186 taxlines_gt.trx_line_id IS NULL
6187 AND taxlines_gt.tax_line_allocation_flag = 'Y'
6188 AND lines_gt.trx_line_id =
6189 (
6190 SELECT
6191 MIN(trx_line_id)
6192 FROM zx_trx_tax_link_gt link_gt
6193 WHERE link_gt.TRX_ID = taxlines_gt.trx_id
6194 AND link_gt.application_id = taxlines_gt.application_id
6195 AND link_gt.entity_code = taxlines_gt.entity_code
6196 AND link_gt.event_class_code = taxlines_gt.event_class_code
6197 AND link_gt.summary_tax_line_number = taxlines_gt.summary_tax_line_number
6198 )
6199 )
6200 OR
6201 --All Alloc
6202 (
6203 taxlines_gt.trx_line_id IS NULL
6204 AND taxlines_gt.tax_line_allocation_flag = 'N'
6205 AND lines_gt.trx_line_id =
6206 (
6207 SELECT
6208 MIN(trx_line_id)
6209 FROM zx_transaction_lines_gt trans_line_gt
6210 WHERE trans_line_gt.trx_id = taxlines_gt.trx_id
6211 AND trans_line_gt.application_id = taxlines_gt.application_id
6212 AND trans_line_gt.entity_code = taxlines_gt.entity_code
6213 AND trans_line_gt.event_class_code = taxlines_gt.event_class_code
6214 )
6215 )
6216 )
6217 --* for rates
6218 --AND rate.tax_rate_id(+) = taxlines_gt.tax_rate_id
6219 AND ( taxlines_gt.tax_rate_code IS NOT NULL AND
6220 rate.tax_rate_code (+) = taxlines_gt.tax_rate_code )
6221 AND rate.tax_status_code(+) = taxlines_gt.tax_status_code
6222 AND rate.tax(+) = taxlines_gt.tax
6223 AND rate.tax_regime_code(+) = taxlines_gt.tax_regime_code
6224 AND rate.tax_regime_code = sd_rates.tax_regime_code (+)
6225 AND
6226 (
6227 rate.content_owner_id = sd_rates.parent_first_pty_org_id
6228 OR
6229 sd_rates.parent_first_pty_org_id is NULL
6230 )
6231 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
6232 AND
6233 (
6234 lines_gt.subscription_date
6235 BETWEEN
6236 nvl( sd_rates.effective_from,
6237 lines_gt.subscription_date
6238 )
6239 AND
6240 nvl(sd_rates.effective_to,
6241 lines_gt.subscription_date
6242 )
6243 /* OR rate.effective_from =
6244 (
6245 SELECT
6246 min(effective_from)
6247 FROM ZX_RATES_B
6248 WHERE tax_regime_code = rate.tax_regime_code
6249 AND tax = rate.tax
6250 AND tax_status_code = rate.tax_status_code
6251 AND tax_rate_code = rate.tax_rate_code
6252 AND content_owner_id = rate.content_owner_id
6253 )*/
6254 )
6255 AND
6256 (
6257 NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC')
6258 OR
6259 (
6260 NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
6261 AND NOT EXISTS
6262 (
6263 SELECT
6264 1
6265 FROM zx_rates_b b
6266 WHERE b.tax_regime_code = rate.tax_regime_code
6267 AND b.tax = rate.tax
6268 AND b.tax_status_code = rate.tax_status_code
6269 AND b.tax_rate_code = rate.tax_rate_code
6270 AND b.content_owner_id = sd_rates.first_pty_org_id
6271 )
6272 )
6273 )
6274 AND rate.tax_rate_code = off_rate.offset_tax_rate_code(+)
6275 AND off_rate.tax_rate_code = temp_gt.tax_rate_code(+)
6276 );
6277
6278 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6279
6280 IF ( g_level_statement >= g_current_runtime_level) THEN
6281 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6282 'No. of Rows inserted for Import Tax Line Validations : Rate Code '|| to_char(sql%ROWCOUNT) );
6283 END IF;
6284
6285 IF ( g_level_statement >= g_current_runtime_level) THEN
6286 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6287 'Before insertion into ZX_VALIDATION_ERRORS_GT for Rate Imported Tax Lines Validations based on tax_rate_id');
6288 END IF;
6289
6290 INSERT ALL
6291 WHEN (TAX_RATE_NOT_EXISTS = 'Y') THEN
6292 INTO ZX_VALIDATION_ERRORS_GT(
6293 application_id,
6294 entity_code,
6295 event_class_code,
6296 trx_id,
6297 trx_line_id,
6298 summary_tax_line_number,
6299 message_name,
6300 message_text,
6301 trx_level_type,
6302 interface_tax_entity_code,
6303 interface_tax_line_id
6304 )
6305 VALUES(
6306 application_id,
6307 entity_code,
6308 event_class_code,
6309 trx_id,
6310 NULL,
6311 summary_tax_line_number,
6312 'ZX_TAX_RATE_NOT_EXIST',
6313 l_tax_rate_not_exists,
6314 NULL,
6315 interface_tax_entity_code,
6316 interface_tax_line_id
6317 )
6318 WHEN (TAX_RATE_NOT_EFFECTIVE = 'Y') THEN
6319 INTO ZX_VALIDATION_ERRORS_GT(
6320 application_id,
6321 entity_code,
6322 event_class_code,
6323 trx_id,
6324 trx_line_id,
6325 summary_tax_line_number,
6326 message_name,
6327 message_text,
6328 trx_level_type,
6329 interface_tax_entity_code,
6330 interface_tax_line_id
6331 )
6332 VALUES(
6333 application_id,
6334 entity_code,
6335 event_class_code,
6336 trx_id,
6337 NULL,
6338 summary_tax_line_number,
6339 'ZX_TAX_RATE_NOT_EFFECTIVE',
6340 l_tax_rate_not_effective,
6341 NULL,
6342 interface_tax_entity_code,
6343 interface_tax_line_id
6344 )
6345 WHEN (TAX_RATE_NOT_ACTIVE = 'Y') THEN
6346 INTO ZX_VALIDATION_ERRORS_GT(
6347 application_id,
6348 entity_code,
6349 event_class_code,
6350 trx_id,
6351 trx_line_id,
6352 summary_tax_line_number,
6353 message_name,
6354 message_text,
6355 trx_level_type,
6356 interface_tax_entity_code,
6357 interface_tax_line_id
6358 )
6359 VALUES(
6360 application_id,
6361 entity_code,
6362 event_class_code,
6363 trx_id,
6364 NULL,
6365 summary_tax_line_number,
6366 'ZX_TAX_RATE_NOT_ACTIVE',
6367 l_tax_rate_not_active,
6368 NULL,
6369 interface_tax_entity_code,
6370 interface_tax_line_id
6371 )
6372 SELECT
6373 application_id,
6374 entity_code,
6375 event_class_code,
6376 trx_id,
6377 summary_tax_line_number,
6378 interface_tax_line_id,
6379 interface_tax_entity_code,
6380 interface_line_id,
6381 interface_line_entity_code,
6382 trx_line_id,
6383 trx_level_type,
6384 TAX_RATE_NOT_EXISTS,
6385 DECODE(TAX_RATE_NOT_EXISTS,'Y','N',TAX_RATE_NOT_EFFECTIVE) TAX_RATE_NOT_EFFECTIVE,
6386 DECODE(TAX_RATE_NOT_EXISTS,'Y','N',TAX_RATE_NOT_ACTIVE) TAX_RATE_NOT_ACTIVE
6387 FROM
6388 (SELECT
6389 header.application_id application_id,
6390 header.entity_code entity_code,
6391 header.event_class_code,
6392 header.trx_id trx_id,
6393 taxlines_gt.summary_tax_line_number summary_tax_line_number,
6394 taxlines_gt.summary_tax_line_number interface_tax_line_id,
6395 taxlines_gt.entity_code interface_tax_entity_code,
6396 lines_gt.trx_line_id interface_line_id,
6397 lines_gt.entity_code interface_line_entity_code,
6398 lines_gt.trx_line_id trx_line_id,
6399 lines_gt.trx_level_type trx_level_type,
6400 -- Check for Rate Code Existence
6401 --Bug 4703541
6402 CASE WHEN ( sd_rates.tax_regime_code IS NOT NULL
6403 AND rate.tax_rate_id IS NOT NULL )
6404 THEN CASE WHEN taxlines_gt.tax_rate_code IS NOT NULL
6405 AND NOT EXISTS ( SELECT 1 FROM zx_rates_b
6406 WHERE tax_rate_code = taxlines_gt.tax_rate_code)
6407 THEN 'Y'
6408 ELSE 'N' END
6409 ELSE 'Y' END TAX_RATE_NOT_EXISTS,
6410 -- Check for Rate Id Date Effectivity
6411 CASE WHEN lines_gt.tax_date
6412 BETWEEN rate.effective_from AND
6413 NVL(rate.effective_to,
6414 lines_gt.tax_date)
6415 THEN 'N'
6416 ELSE 'Y' END TAX_RATE_NOT_EFFECTIVE,
6417 -- Check Rate Code is Active
6418 CASE WHEN rate.tax_rate_id IS NOT NULL AND rate.active_flag = 'Y'
6419 THEN 'N'
6420 ELSE 'Y' END TAX_RATE_NOT_ACTIVE
6421 FROM ZX_TRX_HEADERS_GT header,
6422 ZX_RATES_B rate ,
6423 zx_rates_b off_rate,
6424 zx_import_tax_lines_gt temp_gt,
6425 ZX_IMPORT_TAX_LINES_GT taxlines_gt,
6426 zx_transaction_lines_gt lines_gt,
6427 zx_subscription_details sd_rates
6428 WHERE taxlines_gt.trx_id = header.trx_id
6429 AND taxlines_gt.application_id = Header.application_id
6430 AND taxlines_gt.entity_code = Header.entity_code
6431 AND taxlines_gt.event_class_code = Header.event_class_code
6432 AND (taxlines_gt.tax_rate_code IS NOT NULL OR taxlines_gt.tax_rate_id IS NOT NULL)
6433 AND (temp_gt.tax_rate_code IS NOT NULL OR temp_gt.tax_rate_id IS NOT NULL)
6434 AND lines_gt.application_id = header.application_id
6435 AND lines_gt.entity_code = header.entity_code
6436 AND lines_gt.event_class_code = header.event_class_code
6437 AND lines_gt.trx_id = header.trx_id
6438 AND
6439 (-- One to One Alloc
6440 (
6441 lines_gt.trx_line_id = taxlines_gt.trx_line_id
6442 )
6443 OR
6444 --Multi Alloc
6445 (
6446 taxlines_gt.trx_line_id IS NULL
6447 AND taxlines_gt.tax_line_allocation_flag = 'Y'
6448 AND lines_gt.trx_line_id =
6449 (
6450 SELECT
6451 MIN(trx_line_id)
6452 FROM zx_trx_tax_link_gt link_gt
6453 WHERE link_gt.TRX_ID = taxlines_gt.trx_id
6454 AND link_gt.application_id = taxlines_gt.application_id
6455 AND link_gt.entity_code = taxlines_gt.entity_code
6456 AND link_gt.event_class_code = taxlines_gt.event_class_code
6457 AND link_gt.summary_tax_line_number = taxlines_gt.summary_tax_line_number
6458 )
6459 )
6460 OR
6461 --All Alloc
6462 (
6463 taxlines_gt.trx_line_id IS NULL
6464 AND taxlines_gt.tax_line_allocation_flag = 'N'
6465 AND lines_gt.trx_line_id =
6466 (
6467 SELECT
6468 MIN(trx_line_id)
6469 FROM zx_transaction_lines_gt trans_line_gt
6470 WHERE trans_line_gt.trx_id = taxlines_gt.trx_id
6471 AND trans_line_gt.application_id = taxlines_gt.application_id
6472 AND trans_line_gt.entity_code = taxlines_gt.entity_code
6473 AND trans_line_gt.event_class_code = taxlines_gt.event_class_code
6474 )
6475 )
6476 )
6477 --* for rates
6478 AND ( taxlines_gt.tax_rate_id IS NOT NULL AND
6479 rate.tax_rate_id (+) = taxlines_gt.tax_rate_id )
6480 AND rate.tax_status_code(+) = taxlines_gt.tax_status_code
6481 AND rate.tax(+) = taxlines_gt.tax
6482 AND rate.tax_regime_code(+) = taxlines_gt.tax_regime_code
6483 AND rate.tax_regime_code = sd_rates.tax_regime_code (+)
6484 AND
6485 (
6486 rate.content_owner_id = sd_rates.parent_first_pty_org_id
6487 OR
6488 sd_rates.parent_first_pty_org_id is NULL
6489 )
6490 AND sd_rates.first_pty_org_id(+) = g_first_pty_org_id
6491 AND
6492 (
6493 lines_gt.subscription_date
6494 BETWEEN
6495 nvl( sd_rates.effective_from,
6496 lines_gt.subscription_date
6497 )
6498 AND
6499 nvl(sd_rates.effective_to,
6500 lines_gt.subscription_date
6501 )
6502 /* OR rate.effective_from =
6503 (
6504 SELECT
6505 min(effective_from)
6506 FROM ZX_RATES_B
6507 WHERE tax_regime_code = rate.tax_regime_code
6508 AND tax = rate.tax
6509 AND tax_status_code = rate.tax_status_code
6510 AND tax_rate_code = rate.tax_rate_code
6511 AND content_owner_id = rate.content_owner_id
6512 )*/
6513 )
6514 AND
6515 (
6516 NVL(sd_rates.view_options_code,'NONE') in ('NONE', 'VFC')
6517 OR
6518 (
6519 NVL(sd_rates.view_options_code, 'VFR') = 'VFR'
6520 AND NOT EXISTS
6521 (
6522 SELECT
6523 1
6524 FROM zx_rates_b b
6525 WHERE b.tax_regime_code = rate.tax_regime_code
6526 AND b.tax = rate.tax
6527 AND b.tax_status_code = rate.tax_status_code
6528 AND b.tax_rate_code = rate.tax_rate_code
6529 AND b.content_owner_id = sd_rates.first_pty_org_id
6530 )
6531 )
6532 )
6533 AND rate.tax_rate_code = off_rate.offset_tax_rate_code(+)
6534 AND off_rate.tax_rate_code = temp_gt.tax_rate_code(+)
6535 );
6536
6537 -- Bug 4902521 : Added Message to check no. of rows inserted .
6538 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6539
6540 IF ( g_level_statement >= g_current_runtime_level) THEN
6541 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6542 'No. of Rows inserted for Import Tax Line Validations : Rate ID '|| to_char(sql%ROWCOUNT) );
6543 END IF;
6544
6545 -- Validations for zx_trx_tax_link_gt link_gt
6546 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6547 IF ( g_level_event >= g_current_runtime_level) THEN
6548 FND_LOG.STRING(g_level_event,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6549 'Validations for zx_trx_tax_link_gt link_gt');
6550 END IF;
6551
6552 -- Select the key columns and write into fnd log for debug purpose
6553 IF ( g_level_statement >= g_current_runtime_level) THEN
6554 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6555 'Before opening the cursor - get_tax_link_gt_info_csr');
6556
6557 OPEN get_tax_link_gt_info_csr;
6558 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6559 'After opening the cursor - get_tax_link_gt_info_csr');
6560 LOOP
6561 FETCH get_tax_link_gt_info_csr BULK COLLECT INTO
6562 l_application_id_tbl,
6563 l_entity_code_tbl,
6564 l_event_class_code_tbl,
6565 l_trx_id_tbl,
6566 l_trx_line_id_tbl,
6567 l_trx_level_type_tbl,
6568 l_summary_tax_line_number_tbl
6569
6570 LIMIT C_LINES_PER_COMMIT;
6571
6572 -- EXIT WHEN get_tax_link_gt_info_csr%notfound;
6573
6574 l_count := nvl(l_trx_line_id_tbl.COUNT,0);
6575
6576 FND_LOG.STRING(g_level_statement,
6577 'ZX.PLSQL.ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6578 'number of rows fetched = ' || to_char(l_count));
6579
6580 IF l_count > 0 THEN
6581
6582 FOR i IN 1.. l_count LOOP
6583
6584 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6585 'Row Number = ' || to_char(i) );
6586
6587 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6588 'l_application_id = ' || to_char(l_application_id_tbl(i)) );
6589
6590 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6591 'l_entity_code = ' || l_entity_code_tbl(i) );
6592
6593 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6594 'l_event_class_code = ' || l_event_class_code_tbl(i) );
6595
6596 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6597 'l_trx_id = ' || to_char(l_trx_id_tbl(i)) );
6598
6599 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6600 'l_trx_line_id = ' || to_char(l_trx_line_id_tbl(i)) );
6601
6602 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6603 'l_trx_level_type = ' || l_trx_level_type_tbl(i) );
6604
6605 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6606 'l_summary_tax_line_number = ' || to_char(l_summary_tax_line_number_tbl(i)) );
6607
6608
6609 END LOOP;
6610 ELSE
6611 EXIT ;
6612
6613 END IF; -- end of count checking
6614
6615 END LOOP;
6616
6617 CLOSE get_tax_link_gt_info_csr;
6618
6619 -- Clear the records
6620 l_application_id_tbl.delete;
6621 l_entity_code_tbl.delete;
6622 l_event_class_code_tbl.delete;
6623 l_trx_id_tbl.delete;
6624 l_trx_line_id_tbl.delete;
6625 l_trx_level_type_tbl.delete;
6626 l_summary_tax_line_number_tbl.delete;
6627
6628 END IF; -- End of debug checking
6629
6630 IF ( g_level_statement >= g_current_runtime_level) THEN
6631 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6632 'Before insertion into ZX_VALIDATION_ERRORS_GT - Validations for zx_trx_tax_link_gt link_gt');
6633 END IF;
6634
6635
6636 INSERT ALL
6637 WHEN (ZX_INVALID_TRX_LINE_ID = 'Y') THEN
6638 INTO ZX_VALIDATION_ERRORS_GT(
6639 application_id,
6640 entity_code,
6641 event_class_code,
6642 trx_id,
6643 trx_line_id,
6644 summary_tax_line_number,
6645 message_name,
6646 message_text,
6647 trx_level_type,
6648 interface_tax_entity_code,
6649 interface_tax_line_id
6650 )
6651 VALUES(
6652 application_id,
6653 entity_code,
6654 event_class_code,
6655 trx_id,
6656 trx_line_id, -- Bug 4703541
6657 summary_tax_line_number,
6658 'ZX_INVALID_TRX_LINE_ID',
6659 l_invd_trx_line_id_in_link_gt,
6660 trx_level_type,
6661 interface_tax_entity_code,
6662 interface_tax_line_id
6663 )
6664 WHEN (ZX_INVALID_SUMMARY_TAX_LINE_ID = 'Y') THEN
6665 INTO ZX_VALIDATION_ERRORS_GT(
6666 application_id,
6667 entity_code,
6668 event_class_code,
6669 trx_id,
6670 trx_line_id,
6671 summary_tax_line_number,
6672 message_name,
6673 message_text,
6674 trx_level_type,
6675 interface_tax_entity_code,
6676 interface_tax_line_id
6677 )
6678 VALUES(
6679 application_id,
6680 entity_code,
6681 event_class_code,
6682 trx_id,
6683 trx_line_id, -- Bug 4703541
6684 summary_tax_line_number,
6685 'ZX_INVALID_SUMMARY_TAX_LINE_ID',
6686 l_invalid_summary_tax_line_id,
6687 trx_level_type,
6688 interface_tax_entity_code,
6689 interface_tax_line_id
6690 )
6691 SELECT
6692 application_id,
6693 entity_code,
6694 event_class_code,
6695 trx_id,
6696 trx_line_id,
6697 summary_tax_line_number,
6698 trx_level_type,
6699 interface_tax_entity_code,
6700 interface_tax_line_id,
6701 -- Check if the Trx Lines present in Link GTT are also present in ZX_TRANSACTION_LINES_GT or not
6702 CASE WHEN NOT EXISTS (SELECT 1
6703 FROM zx_transaction_lines_gt
6704 WHERE application_id = link_gt.application_id
6705 AND entity_code = link_gt.entity_code
6706 AND event_class_code = link_gt.event_class_code
6707 AND trx_id = link_gt.trx_id
6708 AND trx_line_id = link_gt.trx_line_id
6709 AND trx_level_type = link_gt.trx_level_type)
6710 THEN 'Y'
6711 ELSE NULL
6712 END ZX_INVALID_TRX_LINE_ID,
6713 --Check if the Summary Tax Lines present in Link GTT are also present in Import Tax Lines GTT or not
6714 CASE WHEN NOT EXISTS (SELECT 1
6715 FROM zx_import_tax_lines_gt
6716 WHERE application_id = link_gt.application_id
6717 AND entity_code = link_gt.entity_code
6718 AND event_class_code = link_gt.event_class_code
6719 AND trx_id = link_gt.trx_id
6720 AND summary_tax_line_number = link_gt.summary_tax_line_number )
6721 /*AND trx_line_id = link_gt.trx_line_id
6722 AND trx_level_type = link_gt.trx_level_type*/ -- Bug 4703541
6723 THEN 'Y'
6724 ELSE NULL
6725 END ZX_INVALID_SUMMARY_TAX_LINE_ID
6726 FROM zx_trx_tax_link_gt link_gt;
6727
6728 -- Bug 4902521 : Added Message to check no. of rows inserted .
6729 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6730
6731 IF ( g_level_statement >= g_current_runtime_level) THEN
6732 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6733 'No. of Rows inserted for Link_gt Realted Validations '|| to_char(sql%ROWCOUNT) );
6734 END IF;
6735
6736 -- Bug Fix # 4184091
6737 -- As per the email communication from vidya, changed the flag value from Y to N
6738 update zx_trx_headers_gt set validation_check_flag = 'N' where
6739 trx_id in (select trx_id from zx_validation_errors_gt);
6740
6741 IF ( SQL%ROWCOUNT > 0 ) THEN
6742 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6743 IF ( g_level_statement >= g_current_runtime_level) THEN
6744 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6745 'Updated the validation_check_flag to N in zx_trx_headers_gt for '||to_char(SQL%ROWCOUNT)||' trx_ids ');
6746 END IF;
6747 END IF ;
6748
6749 IF (g_level_procedure >= g_current_runtime_level ) THEN
6750 FND_LOG.STRING(g_level_procedure,
6751 'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR.END',
6752 'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR(-)');
6753 END IF;
6754
6755
6756 EXCEPTION
6757 WHEN OTHERS THEN
6758 IF (g_level_unexpected >= g_current_runtime_level ) THEN
6759 FND_LOG.STRING(g_level_unexpected,
6760 'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
6761 sqlerrm);
6762 END IF;
6763
6764 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6765 app_exception.raise_exception;
6766
6767
6768
6769 END Validate_Tax_Attr;
6770
6771
6772 ------------------ Procedure For Validating Other Documents -----------------
6773
6774 PROCEDURE Validate_Other_Documents(x_return_status OUT NOCOPY VARCHAR2) IS
6775
6776 l_trx_id_tbl TRX_ID_TBL;
6777 l_trx_line_id_tbl TRX_LINE_ID_TBL;
6778 l_trx_level_type_tbl TRX_LEVEL_TYPE_TBL;
6779 l_event_class_code_tbl EVENT_CLASS_CODE_TBL;
6780 l_entity_code_tbl ENTITY_CODE_TBL;
6781 l_application_id_tbl APPLICATION_ID_TBL;
6782 l_summary_tax_line_number_tbl SUMMARY_TAX_LINE_NUMBER_TBL;
6783 l_count NUMBER;
6784 l_error_buffer VARCHAR2(240);
6785
6786 c_lines_per_commit CONSTANT NUMBER := ZX_TDS_CALC_SERVICES_PUB_PKG.G_LINES_PER_COMMIT;
6787
6788 CURSOR get_other_doc_info_csr
6789 IS
6790 SELECT
6791 header.application_id,
6792 header.entity_code,
6793 header.event_class_code,
6794 header.trx_id,
6795 lines_gt.trx_line_id,
6796 lines_gt.trx_level_type
6797
6798 FROM ZX_TRX_HEADERS_GT header,
6799 ZX_TRANSACTION_LINES_GT lines_gt
6800
6801 WHERE lines_gt.application_id = header.application_id
6802 AND lines_gt.entity_code = header.entity_code
6803 AND lines_gt.event_class_code = header.event_class_code
6804 AND lines_gt.trx_id = header.trx_id;
6805
6806 BEGIN
6807
6808 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6809
6810 IF (g_level_event >= g_current_runtime_level ) THEN
6811 FND_LOG.STRING(g_level_event,
6812 'ZX.PLSQL.ZX_VALIDATE_API_PKG.Validate_Other_Documents.BEGIN',
6813 'ZX_VALIDATE_API_PKG: Validate_Other_Documents(+)');
6814 END IF;
6815
6816 -- Select the key columns and write into fnd log for debug purpose
6817 IF ( g_level_statement >= g_current_runtime_level) THEN
6818 FND_LOG.STRING(g_level_statement,
6819 'ZX.PLSQL.ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6820 'Before opening the cursor - get_other_doc_info_csr');
6821
6822 OPEN get_other_doc_info_csr;
6823 FND_LOG.STRING(g_level_statement,
6824 'ZX.PLSQL.ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6825 'After opening the cursor - get_other_doc_info_csr');
6826
6827 LOOP
6828 FETCH get_other_doc_info_csr BULK COLLECT INTO
6829 l_application_id_tbl,
6830 l_entity_code_tbl,
6831 l_event_class_code_tbl,
6832 l_trx_id_tbl,
6833 l_trx_line_id_tbl,
6834 l_trx_level_type_tbl
6835
6836 LIMIT C_LINES_PER_COMMIT;
6837
6838
6839 -- EXIT WHEN get_other_doc_info_csr%notfound;
6840
6841 l_count := nvl(l_trx_line_id_tbl.COUNT,0);
6842
6843 FND_LOG.STRING(g_level_statement,
6844 'ZX.PLSQL.ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6845 'number of rows fetched = ' || to_char(l_count));
6846
6847 IF l_count > 0 THEN
6848
6849 FOR i IN 1.. l_count LOOP
6850
6851 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6852 'Row Number = ' || to_char(i) );
6853
6854 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6855 'l_application_id = ' || to_char(l_application_id_tbl(i)) );
6856
6857 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6858 'l_entity_code = ' || l_entity_code_tbl(i) );
6859
6860 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6861 'l_event_class_code = ' || l_event_class_code_tbl(i) );
6862
6863 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6864 'l_trx_id = ' || to_char(l_trx_id_tbl(i)) );
6865
6866 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6867 'l_trx_line_id = ' || to_char(l_trx_line_id_tbl(i)) );
6868
6869 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6870 'l_trx_level_type = ' || l_trx_level_type_tbl(i) );
6871
6872 END LOOP;
6873 ELSE
6874 EXIT ;
6875 END IF; -- end of count checking
6876
6877 END LOOP;
6878
6879 CLOSE get_other_doc_info_csr;
6880
6881 -- Clear the records
6882 l_application_id_tbl.delete;
6883 l_entity_code_tbl.delete;
6884 l_event_class_code_tbl.delete;
6885 l_trx_id_tbl.delete;
6886 l_trx_line_id_tbl.delete;
6887 l_trx_level_type_tbl.delete;
6888
6889 END IF; -- End of debug checking
6890
6891 IF (g_level_statement >= g_current_runtime_level ) THEN
6892 FND_LOG.STRING(g_level_statement,
6893 'ZX.PLSQL.ZX_VALIDATE_API_PKG.Validate_Other_Documents',
6894 'Before insertion into ZX_VALIDATION_ERRORS_GT for Validate_Other_Documents');
6895 END IF;
6896
6897 INSERT ALL
6898 WHEN (ZX_REF_DOC_MISSING = 'Y') THEN
6899
6900 INTO ZX_VALIDATION_ERRORS_GT(
6901 application_id,
6902 entity_code,
6903 event_class_code,
6904 trx_id,
6905 trx_line_id,
6906 message_name,
6907 message_text,
6908 trx_level_type,
6909 other_doc_application_id,
6910 other_doc_entity_code,
6911 other_doc_event_class_code,
6912 other_doc_trx_id,
6913 interface_line_entity_code,
6914 interface_line_id
6915 )
6916
6917 VALUES(
6918 application_id,
6919 entity_code,
6920 event_class_code,
6921 trx_id,
6922 trx_line_id,
6923 'ZX_REF_DOC_MISSING',
6924 l_ref_doc_missing,
6925 trx_level_type,
6926 ref_doc_application_id,
6927 ref_doc_entity_code,
6928 ref_doc_event_class_code,
6929 ref_doc_trx_id,
6930 interface_line_entity_code,
6931 interface_line_id
6932 )
6933 WHEN (ZX_REL_DOC_MISSING = 'Y') THEN
6934
6935 INTO ZX_VALIDATION_ERRORS_GT(
6936 application_id,
6937 entity_code,
6938 event_class_code,
6939 trx_id,
6940 message_name,
6941 message_text,
6942 other_doc_application_id,
6943 other_doc_entity_code,
6944 other_doc_event_class_code,
6945 other_doc_trx_id
6946 )
6947
6948 VALUES(
6949 application_id,
6950 entity_code,
6951 event_class_code,
6952 trx_id,
6953 'ZX_REL_DOC_MISSING',
6954 l_rel_doc_missing,
6955 rel_doc_application_id,
6956 rel_doc_entity_code,
6957 rel_doc_event_class_code,
6958 rel_doc_trx_id
6959 )
6960 WHEN (ZX_APP_FROM_DOC_MISSING = 'Y') THEN
6961
6962 INTO ZX_VALIDATION_ERRORS_GT(
6963 application_id,
6964 entity_code,
6965 event_class_code,
6966 trx_id,
6967 trx_line_id,
6968 message_name,
6969 message_text,
6970 trx_level_type,
6971 other_doc_application_id,
6972 other_doc_entity_code,
6973 other_doc_event_class_code,
6974 other_doc_trx_id,
6975 interface_line_entity_code,
6976 interface_line_id
6977 )
6978
6979 VALUES(
6980 application_id,
6981 entity_code,
6982 event_class_code,
6983 trx_id,
6984 trx_line_id,
6985 'ZX_APP_FROM_DOC_MISSING',
6986 l_app_from_doc_missing,
6987 trx_level_type,
6988 app_from_application_id,
6989 app_from_entity_code,
6990 app_from_event_class_code,
6991 app_from_trx_id,
6992 interface_line_entity_code,
6993 interface_line_id
6994 )
6995
6996 /* Since we do not store applied to document (receipt), we should
6997 not check whether the doc exists in eTax repository
6998
6999 WHEN (ZX_APP_TO_DOC_MISSING = 'Y') THEN
7000
7001 INTO ZX_VALIDATION_ERRORS_GT(
7002 application_id,
7003 entity_code,
7004 event_class_code,
7005 trx_id,
7006 trx_line_id,
7007 message_name,
7008 message_text,
7009 trx_level_type,
7010 other_doc_application_id,
7011 other_doc_entity_code,
7012 other_doc_event_class_code,
7013 other_doc_trx_id,
7014 interface_line_entity_code,
7015 interface_line_id
7016 )
7017
7018 VALUES(
7019 application_id,
7020 entity_code,
7021 event_class_code,
7022 trx_id,
7023 trx_line_id,
7024 'ZX_APP_TO_DOC_MISSING',
7025 l_app_to_doc_missing,
7026 trx_level_type,
7027 app_to_application_id,
7028 app_to_entity_code,
7029 app_to_event_class_code,
7030 app_to_trx_id,
7031 interface_line_entity_code,
7032 interface_line_id
7033 )
7034 */
7035 WHEN (ZX_ADJ_DOC_MISSING = 'Y') THEN
7036
7037 INTO ZX_VALIDATION_ERRORS_GT(
7038 application_id,
7039 entity_code,
7040 event_class_code,
7041 trx_id,
7042 trx_line_id,
7043 message_name,
7044 message_text,
7045 trx_level_type,
7046 other_doc_application_id,
7047 other_doc_entity_code,
7048 other_doc_event_class_code,
7049 other_doc_trx_id,
7050 interface_line_entity_code,
7051 interface_line_id
7052 )
7053
7054 VALUES(
7055 application_id,
7056 entity_code,
7057 event_class_code,
7058 trx_id,
7059 trx_line_id,
7060 'ZX_ADJ_DOC_MISSING',
7061 l_adj_doc_missing,
7062 trx_level_type,
7063 adj_doc_application_id,
7064 adj_doc_entity_code,
7065 adj_doc_event_class_code,
7066 adj_doc_trx_id,
7067 interface_line_entity_code,
7068 interface_line_id
7069 )
7070 WHEN (ZX_SOURCE_DOC_MISSING = 'Y') THEN
7071
7072 INTO ZX_VALIDATION_ERRORS_GT(
7073 application_id,
7074 entity_code,
7075 event_class_code,
7076 trx_id,
7077 trx_line_id,
7078 message_name,
7079 message_text,
7080 trx_level_type,
7081 other_doc_application_id,
7082 other_doc_entity_code,
7083 other_doc_event_class_code,
7084 other_doc_trx_id,
7085 interface_line_entity_code,
7086 interface_line_id
7087 )
7088
7089 VALUES(
7090 application_id,
7091 entity_code,
7092 event_class_code,
7093 trx_id,
7094 trx_line_id,
7095 'ZX_SOURCE_DOC_MISSING',
7096 l_source_doc_missing,
7097 trx_level_type,
7098 src_doc_application_id,
7099 src_doc_entity_code,
7100 src_doc_event_class_code,
7101 src_doc_trx_id,
7102 interface_line_entity_code,
7103 interface_line_id
7104 )
7105 SELECT header.application_id application_id,
7106 header.entity_code entity_code,
7107 header.event_class_code event_class_code,
7108 header.trx_id trx_id,
7109 header.related_doc_application_id rel_doc_application_id,
7110 header.related_doc_entity_code rel_doc_entity_code,
7111 header.related_doc_event_class_code rel_doc_event_class_code,
7112 header.related_doc_trx_id rel_doc_trx_id,
7113 lines_gt.trx_line_id trx_line_id,
7114 lines_gt.trx_level_type trx_level_type,
7115 lines_gt.interface_line_id interface_line_id,
7116 lines_gt.interface_entity_code interface_line_entity_code,
7117 lines_gt.source_application_id src_doc_application_id,
7118 lines_gt.source_entity_code src_doc_entity_code,
7119 lines_gt.source_event_class_code src_doc_event_class_code,
7120 lines_gt.source_trx_id src_doc_trx_id,
7121 lines_gt.ref_doc_application_id ref_doc_application_id,
7122 lines_gt.ref_doc_entity_code ref_doc_entity_code,
7123 lines_gt.ref_doc_event_class_code ref_doc_event_class_code,
7124 lines_gt.ref_doc_trx_id ref_doc_trx_id,
7125 lines_gt.applied_from_application_id app_from_application_id,
7126 lines_gt.applied_from_entity_code app_from_entity_code,
7127 lines_gt.applied_from_event_class_code app_from_event_class_code,
7128 lines_gt.applied_from_trx_id app_from_trx_id,
7129 lines_gt.applied_to_application_id app_to_application_id,
7130 lines_gt.applied_to_entity_code app_to_entity_code,
7131 lines_gt.applied_to_event_class_code app_to_event_class_code,
7132 lines_gt.applied_to_trx_id app_to_trx_id,
7133 lines_gt.adjusted_doc_application_id adj_doc_application_id,
7134 lines_gt.adjusted_doc_entity_code adj_doc_entity_code,
7135 lines_gt.adjusted_doc_event_class_code adj_doc_event_class_code,
7136 lines_gt.adjusted_doc_trx_id adj_doc_trx_id,
7137
7138 -- Check for existence of related documents in zx lines det factors table
7139 -- Since the Selection is at the granularity of the transaction lines, also check for existence of
7140 -- error record in validaiton errors gt to avoid inserting header level errors multiple times
7141 -- Also check in zx trx headers gt if this doc is already present
7142 nvl2( header.related_doc_trx_id,
7143 CASE WHEN ((NOT EXISTS
7144 (SELECT 1 FROM ZX_LINES_DET_FACTORS
7145 WHERE application_id = header.related_doc_application_id
7146 AND entity_code = header.related_doc_entity_code
7147 AND event_class_code = header.related_doc_event_class_code
7148 AND trx_id = header.related_doc_trx_id))
7149 AND ( NOT EXISTS
7150 (SELECT 1 FROM ZX_TRANSACTION_LINES_GT
7151 WHERE application_id = lines_gt.application_id
7152 AND entity_code = lines_gt.entity_code
7153 AND event_class_code = lines_gt.event_class_code
7154 AND trx_id = lines_gt.trx_id
7155 AND trx_line_id < lines_gt.trx_line_id
7156 AND trx_level_type = lines_gt.trx_level_type))
7157 AND ( NOT EXISTS
7158 (SELECT 1 FROM ZX_TRX_HEADERS_GT
7159 WHERE application_id = header.related_doc_application_id
7160 AND entity_code = header.related_doc_entity_code
7161 AND event_class_code = header.related_doc_event_class_code
7162 AND trx_id = header.related_doc_trx_id)))
7163 THEN 'Y'
7164 ELSE NULL END,
7165 NULL) ZX_REL_DOC_MISSING,
7166
7167 -- Check for existence of reference documents in zx lines det factors table and zx trx lines gt
7168 nvl2( lines_gt.ref_doc_trx_id,
7169 CASE WHEN ((NOT EXISTS
7170 (SELECT 1 FROM ZX_LINES_DET_FACTORS
7171 WHERE application_id = lines_gt.ref_doc_application_id
7172 AND entity_code = lines_gt.ref_doc_entity_code
7173 AND event_class_code = lines_gt.ref_doc_event_class_code
7174 AND trx_id = lines_gt.ref_doc_trx_id
7175 AND trx_line_id = lines_gt.ref_doc_line_id
7176 AND trx_level_type = lines_gt.ref_doc_trx_level_type))
7177 AND ( NOT EXISTS
7178 (SELECT 1 FROM ZX_TRANSACTION_LINES_GT
7179 WHERE application_id = lines_gt.ref_doc_application_id
7180 AND entity_code = lines_gt.ref_doc_entity_code
7181 AND event_class_code = lines_gt.ref_doc_event_class_code
7182 AND trx_id = lines_gt.ref_doc_trx_id
7183 AND trx_line_id = lines_gt.ref_doc_line_id
7184 AND trx_level_type = lines_gt.ref_doc_trx_level_type)))
7185 THEN 'Y'
7186 ELSE NULL END,
7187 NULL) ZX_REF_DOC_MISSING,
7188
7189 -- Check for applied from documents in zx lines det factors table and zx trx lines gt
7190 nvl2( lines_gt.applied_from_trx_id,
7191 CASE WHEN ((NOT EXISTS
7192 (SELECT 1 FROM ZX_LINES_DET_FACTORS
7193 WHERE application_id = lines_gt.applied_from_application_id
7194 AND entity_code = lines_gt.applied_from_entity_code
7195 AND event_class_code = lines_gt.applied_from_event_class_code
7196 AND trx_id = lines_gt.applied_from_trx_id
7197 AND trx_line_id = lines_gt.applied_from_line_id
7198 AND trx_level_type = lines_gt.applied_from_trx_level_type))
7199 AND ( NOT EXISTS
7200 (SELECT 1 FROM ZX_TRANSACTION_LINES_GT
7201 WHERE application_id = lines_gt.applied_from_application_id
7202 AND entity_code = lines_gt.applied_from_entity_code
7203 AND event_class_code = lines_gt.applied_from_event_class_code
7204 AND trx_id = lines_gt.applied_from_trx_id
7205 AND trx_line_id = lines_gt.applied_from_line_id
7206 AND trx_level_type = lines_gt.applied_from_trx_level_type)))
7207 THEN 'Y'
7208 ELSE NULL END,
7209 NULL) ZX_APP_FROM_DOC_MISSING,
7210
7211 -- Check for adjusted document in zx lines det factors table and zx trx lines gt
7212 nvl2( lines_gt.adjusted_doc_trx_id,
7213 CASE WHEN ((NOT EXISTS
7214 (SELECT 1 FROM ZX_LINES_DET_FACTORS
7215 WHERE application_id = lines_gt.adjusted_doc_application_id
7216 AND entity_code = lines_gt.adjusted_doc_entity_code
7217 AND event_class_code = lines_gt.adjusted_doc_event_class_code
7218 AND trx_id = lines_gt.adjusted_doc_trx_id
7219 AND trx_line_id = lines_gt.adjusted_doc_line_id
7220 AND trx_level_type = lines_gt.adjusted_doc_trx_level_type))
7221 AND ( NOT EXISTS
7222 (SELECT 1 FROM ZX_TRANSACTION_LINES_GT
7223 WHERE application_id = lines_gt.adjusted_doc_application_id
7224 AND entity_code = lines_gt.adjusted_doc_entity_code
7225 AND event_class_code = lines_gt.adjusted_doc_event_class_code
7226 AND trx_id = lines_gt.adjusted_doc_trx_id
7227 AND trx_line_id = lines_gt.adjusted_doc_line_id
7228 AND trx_level_type = lines_gt.adjusted_doc_trx_level_type)))
7229 THEN 'Y'
7230 ELSE NULL END,
7231 NULL) ZX_ADJ_DOC_MISSING,
7232
7233 -- Check for applied to documents in zx lines det factors table and zx trx lines gt
7234
7235 /* Since we do not store applied to document (receipt), we should
7236 not check whether the doc exists in eTax repository
7237
7238 nvl2( lines_gt.applied_to_trx_id,
7239 CASE WHEN ((NOT EXISTS
7240 (SELECT 1 FROM ZX_LINES_DET_FACTORS
7241 WHERE application_id = lines_gt.applied_to_application_id
7242 AND entity_code = lines_gt.applied_to_entity_code
7243 AND event_class_code = lines_gt.applied_to_event_class_code
7244 AND trx_id = lines_gt.applied_to_trx_id
7245 AND trx_line_id = lines_gt.applied_to_trx_line_id
7246 AND trx_level_type = lines_gt.applied_to_trx_level_type))
7247 AND ( NOT EXISTS
7248 (SELECT 1 FROM ZX_TRANSACTION_LINES_GT
7249 WHERE application_id = lines_gt.applied_to_application_id
7250 AND entity_code = lines_gt.applied_to_entity_code
7251 AND event_class_code = lines_gt.applied_to_event_class_code
7252 AND trx_id = lines_gt.applied_to_trx_id
7253 AND trx_line_id = lines_gt.applied_to_trx_line_id
7254 AND trx_level_type = lines_gt.applied_to_trx_level_type)))
7255 THEN 'Y'
7256 ELSE NULL END,
7257 NULL) ZX_APP_TO_DOC_MISSING,
7258 */
7259
7260 -- Check for source documents in zx lines det factors table and zx trx lines gt
7261 nvl2( lines_gt.source_trx_id,
7262 CASE WHEN ((NOT EXISTS
7263 (SELECT 1
7264 FROM ZX_LINES_DET_FACTORS line,
7265 ZX_EVNT_CLS_MAPPINGS map
7266 WHERE lines_gt.application_id = map.application_id
7267 AND lines_gt.entity_code = map.entity_code
7268 AND lines_gt.event_class_code = map.event_class_code
7269 AND line.application_id = decode(lines_gt.source_event_class_code,
7270 'INTERCOMPANY_TRX', map.intrcmp_src_appln_id,
7271 lines_gt.source_application_id)
7272 AND line.entity_code = decode(lines_gt.source_event_class_code,
7273 'INTERCOMPANY_TRX', map.intrcmp_src_entity_code,
7274 lines_gt.source_entity_code)
7275 AND line.event_class_code = decode(lines_gt.source_event_class_code,
7276 'INTERCOMPANY_TRX',
7277 decode(lines_gt.line_class,
7278 'AP_CREDIT_MEMO', 'CREDIT_MEMO',
7279 'AP_DEBIT_MEMO','DEBIT_MEMO',
7280 map.intrcmp_src_evnt_cls_code),
7281 lines_gt.source_event_class_code)
7282 AND line.trx_id = lines_gt.source_trx_id
7283 AND line.trx_line_id = lines_gt.source_line_id
7284 AND line.trx_level_type = lines_gt.source_trx_level_type))
7285 AND ( NOT EXISTS
7286 (SELECT 1 FROM ZX_TRANSACTION_LINES_GT line,
7287 zx_evnt_cls_mappings map
7288 WHERE lines_gt.application_id = map.application_id
7289 AND lines_gt.entity_code = map.entity_code
7290 AND lines_gt.event_class_code = map.event_class_code
7291 AND line.application_id = decode(lines_gt.source_event_class_code,
7292 'INTERCOMPANY_TRX', map.intrcmp_src_appln_id,
7293 lines_gt.source_application_id)
7294 AND line.entity_code = decode(lines_gt.source_event_class_code,
7295 'INTERCOMPANY_TRX', map.intrcmp_src_entity_code,
7296 lines_gt.source_entity_code)
7297 AND line.event_class_code = decode(lines_gt.source_event_class_code,
7298 'INTERCOMPANY_TRX',
7299 decode(lines_gt.line_class,
7300 'AP_CREDIT_MEMO', 'CREDIT_MEMO',
7301 'AP_DEBIT_MEMO','DEBIT_MEMO',
7302 map.intrcmp_src_evnt_cls_code),
7303 lines_gt.source_event_class_code)
7304 AND trx_id = lines_gt.source_trx_id
7305 AND trx_line_id = lines_gt.source_line_id
7306 AND trx_level_type = lines_gt.source_trx_level_type)))
7307 THEN 'Y'
7308 ELSE NULL END,
7309 NULL) ZX_SOURCE_DOC_MISSING
7310
7311 FROM ZX_TRX_HEADERS_GT header,
7312 ZX_TRANSACTION_LINES_GT lines_gt
7313
7314 WHERE lines_gt.application_id = header.application_id
7315 AND lines_gt.entity_code = header.entity_code
7316 AND lines_gt.event_class_code = header.event_class_code
7317 AND lines_gt.trx_id = header.trx_id;
7318
7319 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
7320
7321 IF ( g_level_statement >= g_current_runtime_level) THEN
7322 FND_LOG.STRING(g_level_statement,'ZX_VALIDATE_API_PKG.VALIDATE_TAX_ATTR',
7323 'No. of Rows inserted for Header Realted Validations '|| to_char(sql%ROWCOUNT) );
7324 END IF;
7325
7326 IF ( g_level_event >= g_current_runtime_level) THEN
7327 FND_LOG.STRING(g_level_event,
7328 'ZX.PLSQL.ZX_VALIDATE_API_PKG.Validate_Other_Documents.END',
7329 'ZX_VALIDATE_API_PKG: Validate_Other_Documents(-)');
7330 END IF;
7331
7332 EXCEPTION
7333 WHEN OTHERS THEN
7334 IF (g_level_unexpected >= g_current_runtime_level ) THEN
7335 FND_LOG.STRING(g_level_unexpected,
7336 'ZX_VALIDATE_API_PKG.Validate_Other_Documents',
7337 sqlerrm);
7338 END IF;
7339
7340 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7341 app_exception.raise_exception;
7342 END Validate_Other_Documents;
7343
7344
7345 ------------------ Procedure For pop_def_tax_classif_code -----------------
7346
7347 -- PUBLIC PROCEDURE
7348 -- pop_def_tax_classif_code
7349 --
7350 -- DESCRIPTION
7351 -- This procedure populates the parameters need to pass to
7352 -- ZX_TAX_DEFAULT_PKG.get_default_tax_classification to get the
7353 -- default tax classification code, and updates each transaction
7354 -- line with the default tax classification code found
7355 --
7356
7357 -- Bug#3910168
7358
7359 PROCEDURE pop_def_tax_classif_code(
7360 x_return_status OUT NOCOPY VARCHAR2)
7361 IS
7362 l_trx_line_id_tbl TRX_LINE_ID_TBL;
7363 l_trx_level_type_tbl TRX_LEVEL_TYPE_TBL;
7364 -- bug#5066122- rm ship_from_party/site id
7365 --l_ship_from_party_id_tbl SHIP_FROM_PARTY_ID_TBL;
7366 --l_ship_from_party_site_id_tbl SHIP_FROM_PARTY_SITE_ID_TBL;
7367 l_account_ccid_tbl ACCOUNT_CCID_TBL;
7368 l_account_string_tbl ACCOUNT_STRING_TBL;
7369 l_ship_to_location_id_tbl SHIP_TO_LOCATION_ID_TBL;
7370 l_product_id_tbl PRODUCT_ID_TBL;
7371 l_product_type_tbl PRODUCT_TYPE_TBL;
7372 l_product_org_id_tbl PRODUCT_ORG_ID_TBL;
7373 l_event_class_code_tbl EVENT_CLASS_CODE_TBL;
7374 l_entity_code_tbl ENTITY_CODE_TBL;
7375 l_ship_to_cust_acct_su_id_tbl SHIPTO_CUST_ACCT_SITEUSEID_TBL;
7376 l_bill_to_cust_acct_su_id_tbl BILLTO_CUST_ACCT_SITEUSEID_TBL;
7377 l_internal_organization_id_tbl INTERNAL_ORGANIZATION_ID_TBL;
7378 l_ledger_id_tbl LEDGER_ID_TBL;
7379 l_trx_date_tbl TRX_DATE_TBL;
7380 l_receivables_trx_type_id_tbl RECEIVABLES_TRX_TYPE_ID_TBL;
7381 l_trx_id_tbl TRX_ID_TBL;
7382 l_application_id_tbl APPLICATION_ID_TBL;
7383 l_ship_third_pty_acct_id_tbl SHIP_THIRD_PTY_ACCT_ID_TBL;
7384 l_bill_third_pty_acct_id_tbl BILL_THIRD_PTY_ACCT_ID_TBL;
7385 l_defaulting_attribute1_tbl DEFAULTING_ATTRIBUTE1_TBL;
7386 l_defaulting_attribute2_tbl DEFAULTING_ATTRIBUTE2_TBL;
7387 l_defaulting_attribute3_tbl DEFAULTING_ATTRIBUTE3_TBL;
7388 l_defaulting_attribute4_tbl DEFAULTING_ATTRIBUTE4_TBL;
7389 l_defaulting_attribute5_tbl DEFAULTING_ATTRIBUTE5_TBL;
7390 l_defaulting_attribute6_tbl DEFAULTING_ATTRIBUTE6_TBL;
7391 l_defaulting_attribute7_tbl DEFAULTING_ATTRIBUTE7_TBL;
7392 l_defaulting_attribute8_tbl DEFAULTING_ATTRIBUTE8_TBL;
7393 l_defaulting_attribute9_tbl DEFAULTING_ATTRIBUTE9_TBL;
7394 l_defaulting_attribute10_tbl DEFAULTING_ATTRIBUTE10_TBL;
7395
7396 l_input_tax_classif_code_tbl INPUT_TAX_CLASSIF_CODE_TBL;
7397 l_output_tax_classif_code_tbl OUTPUT_TAX_CLASSIF_CODE_TBL;
7398
7399 l_ref_doc_application_id_tbl REF_DOC_APPLICATION_ID_TBL;
7400 l_ref_doc_entity_code_tbl REF_DOC_ENTITY_CODE_TBL;
7401 l_ref_doc_event_class_code_tbl REF_DOC_EVENT_CLASS_CODE_TBL;
7402 l_ref_doc_trx_id_tbl REF_DOC_TRX_ID_TBL;
7403 l_ref_doc_line_id_tbl REF_DOC_LINE_ID_TBL;
7404 l_ref_doc_trx_level_type_tbl REF_DOC_TRX_LEVEL_TYPE_TBL;
7405
7406 -- Bug#4868489
7407 l_legal_entity_id_tbl LEGAL_ENTITY_ID_TBL;
7408
7409 -- Bug#5066122
7410 -- add structures here to avoid changing spec
7411 --
7412 TYPE ship_thd_pty_acct_ste_id_tbl IS TABLE OF
7413 ZX_TRX_HEADERS_GT.ship_third_pty_acct_site_id%TYPE
7414 INDEX BY BINARY_INTEGER;
7415
7416 TYPE bill_thd_pty_acct_ste_id_tbl IS TABLE OF
7417 ZX_TRX_HEADERS_GT.bill_third_pty_acct_site_id%TYPE
7418 INDEX BY BINARY_INTEGER;
7419
7420 l_ship_thd_pty_acct_ste_id_tbl SHIP_THD_PTY_ACCT_STE_ID_TBL;
7421 l_bill_thd_pty_acct_ste_id_tbl BILL_THD_PTY_ACCT_STE_ID_TBL;
7422
7423 l_definforec ZX_API_PUB.def_tax_cls_code_info_rec_type;
7424 l_definforec_null ZX_API_PUB.def_tax_cls_code_info_rec_type;
7425 l_count NUMBER;
7426 l_error_buffer VARCHAR2(240);
7427
7428 c_lines_per_commit CONSTANT NUMBER := ZX_TDS_CALC_SERVICES_PUB_PKG.G_LINES_PER_COMMIT;
7429
7430 CURSOR get_parm_info_for_def_tax_csr
7431 IS
7432 SELECT
7433 L.trx_line_id,
7434 L.trx_level_type,
7435 -- L.ship_from_party_id, -- bug#5066122
7436 -- L.ship_from_party_site_id, -- bug#5066122
7437 L.account_ccid,
7438 L.account_string,
7439 L.ship_to_location_id,
7440 L.product_id,
7441 L.product_type,
7442 L.product_org_id,
7443 H.event_class_code,
7444 H.entity_code,
7445 NVL(L.ship_to_cust_acct_site_use_id, H.ship_to_cust_acct_site_use_id),
7446 NVL(L.bill_to_cust_acct_site_use_id, H.bill_to_cust_acct_site_use_id),
7447 H.internal_organization_id,
7448 H.ledger_id,
7449 H.trx_date,
7450 NVL(L.receivables_trx_type_id, H.receivables_trx_type_id),
7451 H.trx_id,
7452 H.application_id,
7453 H.legal_entity_id,
7454 NVL(L.ship_third_pty_acct_id, H.ship_third_pty_acct_id),
7455 NVL(L.bill_third_pty_acct_id, H.bill_third_pty_acct_id),
7456 NVL(L.ship_third_pty_acct_site_id, H.ship_third_pty_acct_site_id),
7457 NVL(L.bill_third_pty_acct_site_id, H.bill_third_pty_acct_site_id),
7458 L.ref_doc_application_id,
7459 L.ref_doc_entity_code,
7460 L.ref_doc_event_class_code,
7461 L.ref_doc_trx_id,
7462 L.ref_doc_line_id,
7463 L.ref_doc_trx_level_type,
7464 L.defaulting_attribute1,
7465 L.defaulting_attribute2,
7466 L.defaulting_attribute3,
7467 L.defaulting_attribute4,
7468 L.defaulting_attribute5,
7469 L.defaulting_attribute6,
7470 L.defaulting_attribute7,
7471 L.defaulting_attribute8,
7472 L.defaulting_attribute9,
7473 L.defaulting_attribute10
7474 -- L.input_tax_classification_code, --Bug 4919842
7475 -- L.output_tax_classification_code --Bug 4919842
7476 FROM ZX_TRX_HEADERS_GT H,
7477 ZX_TRANSACTION_LINES_GT L
7478 WHERE L.application_id = H.application_id
7479 AND L.entity_code = H.entity_code
7480 AND L.event_class_code = H.event_class_code
7481 AND L.trx_id = H.trx_id
7482 AND L.line_level_action = 'CREATE'
7483 AND L.input_tax_classification_code IS NULL
7484 AND L.output_tax_classification_code IS NULL ;
7485
7486 BEGIN
7487
7488 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
7489
7490 IF (g_level_statement >= g_current_runtime_level ) THEN
7491 FND_LOG.STRING(g_level_statement,
7492 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code.BEGIN',
7493 'ZX_VALIDATE_API_PKG: pop_def_tax_classif_code(+)');
7494 END IF;
7495
7496 --
7497 -- init error buffer and return status
7498 --
7499 x_return_status := FND_API.G_RET_STS_SUCCESS;
7500 l_error_buffer := NULL;
7501
7502 OPEN get_parm_info_for_def_tax_csr;
7503
7504 IF (g_level_statement >= g_current_runtime_level ) THEN
7505 FND_LOG.STRING(g_level_statement,
7506 'ZX.PLSQL.ZX_VALIDATE_API_PKG.Validate_Other_Documents',
7507 'After opening the cursor - get_parm_info_for_def_tax_csr');
7508 END IF;
7509
7510 LOOP
7511 FETCH get_parm_info_for_def_tax_csr BULK COLLECT INTO
7512 l_trx_line_id_tbl,
7513 l_trx_level_type_tbl,
7514 -- l_ship_from_party_id_tbl, -- bug#5066122
7515 -- l_ship_from_party_site_id_tbl,-- bug#5066122
7516 l_account_ccid_tbl,
7517 l_account_string_tbl,
7518 l_ship_to_location_id_tbl,
7519 l_product_id_tbl,
7520 l_product_type_tbl,
7521 l_product_org_id_tbl,
7522 l_event_class_code_tbl,
7523 l_entity_code_tbl,
7524 l_ship_to_cust_acct_su_id_tbl,
7525 l_bill_to_cust_acct_su_id_tbl,
7526 l_internal_organization_id_tbl,
7527 l_ledger_id_tbl,
7528 l_trx_date_tbl,
7529 l_receivables_trx_type_iD_tbl,
7530 l_trx_id_tbl,
7531 l_application_id_tbl,
7532 l_legal_entity_id_tbl,
7533 l_ship_third_pty_acct_id_tbl,
7534 l_bill_third_pty_acct_id_tbl,
7535 l_ship_thd_pty_acct_ste_id_tbl,
7536 l_bill_thd_pty_acct_ste_id_tbl,
7537 l_ref_doc_application_id_tbl,
7538 l_ref_doc_entity_code_tbl,
7539 l_ref_doc_event_class_code_tbl,
7540 l_ref_doc_trx_id_tbl,
7541 l_ref_doc_line_id_tbl,
7542 l_ref_doc_trx_level_type_tbl,
7543 l_defaulting_attribute1_tbl,
7544 l_defaulting_attribute2_tbl,
7545 l_defaulting_attribute3_tbl,
7546 l_defaulting_attribute4_tbl,
7547 l_defaulting_attribute5_tbl,
7548 l_defaulting_attribute6_tbl,
7549 l_defaulting_attribute7_tbl,
7550 l_defaulting_attribute8_tbl,
7551 l_defaulting_attribute9_tbl,
7552 l_defaulting_attribute10_tbl
7553 -- l_input_tax_classif_code_tbl, --Bug 4919842
7554 -- l_output_tax_classif_code_tbl --Bug 4919842
7555 LIMIT C_LINES_PER_COMMIT;
7556
7557
7558 l_count := l_trx_line_id_tbl.COUNT;
7559
7560 IF (g_level_procedure >= g_current_runtime_level ) THEN
7561 FND_LOG.STRING(g_level_procedure,
7562 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code',
7563 'number of rows fetched = ' || to_char(l_count));
7564 END IF;
7565
7566 IF l_count > 0 THEN
7567
7568 FOR i IN 1.. l_count LOOP
7569
7570 --
7571 -- init l_definforec
7572 --
7573 l_definforec := l_definforec_null;
7574
7575 --
7576 -- populate fields in the record with values
7577 -- from zx_trx_headers_gt and zx_transaction_lines_gt
7578 --
7579 -- Bug#4310278- replace line_location_id with
7580 -- ref_doc columns
7581
7582 l_definforec.ref_doc_application_id := l_ref_doc_application_id_tbl(i);
7583 l_definforec.ref_doc_entity_code := l_ref_doc_entity_code_tbl(i);
7584 l_definforec.ref_doc_event_class_code := l_ref_doc_event_class_code_tbl(i);
7585 l_definforec.ref_doc_trx_id := l_ref_doc_trx_id_tbl(i);
7586 l_definforec.ref_doc_line_id := l_ref_doc_line_id_tbl(i);
7587 l_definforec.ref_doc_trx_level_type := l_ref_doc_trx_level_type_tbl(i);
7588
7589 -- bug#5066122
7590 --l_definforec.ship_third_pty_acct_id := l_ship_from_party_id_tbl(i);
7591 --l_definforec.ship_third_pty_acct_site_id := l_ship_from_party_site_id_tbl(i);
7592
7593 l_definforec.account_ccid := l_account_ccid_tbl(i);
7594
7595 l_definforec.account_string := l_account_string_tbl(i);
7596 l_definforec.ship_to_location_id := l_ship_to_location_id_tbl(i);
7597 l_definforec.product_id := l_product_id_tbl(i);
7598 l_definforec.product_org_id := l_product_org_id_tbl(i);
7599 l_definforec.application_id := l_application_id_tbl(i);
7600 l_definforec.internal_organization_id := l_internal_organization_id_tbl(i);
7601 l_definforec.event_class_code := l_event_class_code_tbl(i);
7602 l_definforec.entity_code := l_entity_code_tbl(i);
7603 l_definforec.ship_to_cust_acct_site_use_id := l_ship_to_cust_acct_su_id_tbl(i);
7604 l_definforec.bill_to_cust_acct_site_use_id := l_bill_to_cust_acct_su_id_tbl(i);
7605 l_definforec.ledger_id := l_ledger_id_tbl(i);
7606 l_definforec.trx_date := l_trx_date_tbl(i);
7607 l_definforec.receivables_trx_type_id := l_receivables_trx_type_id_tbl(i);
7608 l_definforec.trx_id := l_trx_id_tbl(i);
7609 l_definforec.trx_line_id := l_trx_line_id_tbl(i);
7610 l_definforec.ship_third_pty_acct_id := l_ship_third_pty_acct_id_tbl(i);
7611 l_definforec.bill_third_pty_acct_id := l_bill_third_pty_acct_id_tbl(i);
7612 --
7613 -- Bug#5066122- added ship/bill third_pty_acct_site_id
7614 --
7615 l_definforec.ship_third_pty_acct_site_id := l_ship_thd_pty_acct_ste_id_tbl(i);
7616 l_definforec.bill_third_pty_acct_site_id := l_bill_thd_pty_acct_ste_id_tbl(i);
7617 -- Bug#4868489- add legal_entity_id
7618 l_definforec.legal_entity_id := l_legal_entity_id_tbl(i);
7619
7620 --
7621 -- Bug#4868489- remove call to map_parm_for_def_tax_classif
7622 --
7623 l_definforec.defaulting_attribute1 := l_defaulting_attribute1_tbl(i);
7624 l_definforec.defaulting_attribute2 := l_defaulting_attribute2_tbl(i);
7625 l_definforec.defaulting_attribute3 := l_defaulting_attribute3_tbl(i);
7626 l_definforec.defaulting_attribute4 := l_defaulting_attribute4_tbl(i);
7627 l_definforec.defaulting_attribute5 := l_defaulting_attribute5_tbl(i);
7628 l_definforec.defaulting_attribute6 := l_defaulting_attribute6_tbl(i);
7629 l_definforec.defaulting_attribute7 := l_defaulting_attribute7_tbl(i);
7630 l_definforec.defaulting_attribute8 := l_defaulting_attribute8_tbl(i);
7631 l_definforec.defaulting_attribute9 := l_defaulting_attribute9_tbl(i);
7632 l_definforec.defaulting_attribute10 := l_defaulting_attribute10_tbl(i);
7633
7634 --
7635 -- get default tax classification code
7636 --
7637 IF (g_level_statement >= g_current_runtime_level ) THEN
7638 FND_LOG.STRING(g_level_statement,
7639 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code',
7640 'Calling ZX_TAX_DEFAULT_PKG.get_default_tax_classification for record '||to_char(i));
7641 END IF;
7642 /* Bug 4919842 : Conditionally Call ZX_TAX_DEFAULT_PKG.get_default_tax_classification if both input
7643 AND output tax classification codes are passed as null */
7644
7645 /* Removed the conditional check and included in the 'get_parm_info_for_def_tax_csr' cursor itself
7646 IF ( l_input_tax_classif_code_tbl(i) IS NULL AND
7647 l_output_tax_classif_code_tbl(i) IS NULL ) THEN */
7648 ZX_TAX_DEFAULT_PKG.get_default_tax_classification(
7649 l_definforec,
7650 x_return_status,
7651 l_error_buffer);
7652
7653 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7654 EXIT;
7655 END IF;
7656
7657 --
7658 -- store returned tax classification code for update to
7659 -- zx_transaction_lines_gt later
7660 --
7661 l_input_tax_classif_code_tbl(i) := l_definforec.input_tax_classification_code;
7662 l_output_tax_classif_code_tbl(i) := l_definforec.output_tax_classification_code;
7663 -- END IF ; -- end if for the conditional call
7664 END LOOP;
7665
7666 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7667 EXIT;
7668 END IF;
7669
7670 --
7671 -- update zx_transaction_lines_gt with the default
7672 -- tax classification code found
7673 --
7674 IF (g_level_statement >= g_current_runtime_level ) THEN
7675 FND_LOG.STRING(g_level_statement,
7676 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code',
7677 'update zx_transaction_lines_gt with the default tax classification code found ');
7678 END IF;
7679
7680 FORALL i IN 1 .. l_count
7681 UPDATE ZX_TRANSACTION_LINES_GT
7682 SET input_tax_classification_code =
7683 l_input_tax_classif_code_tbl(i),
7684 output_tax_classification_code =
7685 l_output_tax_classif_code_tbl(i)
7686 WHERE application_id = l_application_id_tbl(i)
7687 AND entity_code = l_entity_code_tbl(i)
7688 AND event_class_code = l_event_class_code_tbl(i)
7689 AND trx_id = l_trx_id_tbl(i)
7690 AND trx_line_id = l_trx_line_id_tbl(i)
7691 AND trx_level_type = l_trx_level_type_tbl(i);
7692
7693 IF (g_level_procedure >= g_current_runtime_level ) THEN
7694 FND_LOG.STRING(g_level_procedure,
7695 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code',
7696 'fetch next set of records for defaulting ....');
7697 END IF;
7698 ELSE
7699 --
7700 -- no more records to process
7701 --
7702 CLOSE get_parm_info_for_def_tax_csr;
7703 EXIT;
7704 END IF;
7705 END LOOP;
7706
7707 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
7708 CLOSE get_parm_info_for_def_tax_csr;
7709 RETURN;
7710 END IF;
7711
7712 IF (g_level_procedure >= g_current_runtime_level ) THEN
7713 FND_LOG.STRING(g_level_procedure,
7714 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code',
7715 'x_return_status = ' || x_return_status);
7716 FND_LOG.STRING(g_level_procedure,
7717 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code',
7718 'l_error_buffer = ' || l_error_buffer);
7719 FND_LOG.STRING(g_level_procedure,
7720 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code.END',
7721 'ZX_VALIDATE_API_PKG: pop_def_tax_classif_code(-)');
7722 END IF;
7723
7724 EXCEPTION
7725 WHEN OTHERS THEN
7726 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7727 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
7728 IF get_parm_info_for_def_tax_csr%ISOPEN THEN
7729 CLOSE get_parm_info_for_def_tax_csr;
7730 END IF;
7731 FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
7732 FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','pop_def_tax_classif_code- '|| l_error_buffer);
7733 FND_MSG_PUB.Add;
7734
7735 IF (g_level_unexpected >= g_current_runtime_level ) THEN
7736 FND_LOG.STRING(g_level_unexpected,
7737 'ZX.PLSQL.ZX_VALIDATE_API_PKG.pop_def_tax_classif_code',
7738 l_error_buffer);
7739 END IF;
7740
7741 END pop_def_tax_classif_code;
7742
7743
7744 /* This procedure is used to default the additional tax attributes
7745 Internally we are calling the default automation api to populate the values.
7746 */
7747
7748 PROCEDURE def_additional_tax_attribs IS
7749
7750 c_lines_per_commit CONSTANT NUMBER := ZX_TDS_CALC_SERVICES_PUB_PKG.G_LINES_PER_COMMIT;
7751
7752 CURSOR gtt_to_glb_strctr_csr
7753 IS
7754
7755 SELECT
7756
7757 INTERNAL_ORGANIZATION_ID ,
7758 header.APPLICATION_ID APPLICATION_ID,
7759 header.ENTITY_CODE ENTITY_CODE,
7760 header.EVENT_CLASS_CODE EVENT_CLASS_CODE,
7761 EVENT_TYPE_CODE ,
7762 header.TRX_ID TRX_ID ,
7763 TRX_LEVEL_TYPE ,
7764 TRX_LINE_ID ,
7765 LINE_LEVEL_ACTION ,
7766 LINE_CLASS ,
7767 TRX_DATE ,
7768 TRX_DOC_REVISION ,
7769 LEDGER_ID ,
7770 TRX_CURRENCY_CODE ,
7771 CURRENCY_CONVERSION_DATE ,
7772 CURRENCY_CONVERSION_RATE ,
7773 CURRENCY_CONVERSION_TYPE ,
7774 MINIMUM_ACCOUNTABLE_UNIT ,
7775 PRECISION ,
7776 TRX_SHIPPING_DATE ,
7777 TRX_RECEIPT_DATE ,
7778 LEGAL_ENTITY_ID ,
7779 ROUNDING_SHIP_TO_PARTY_ID ,
7780 ROUNDING_SHIP_FROM_PARTY_ID ,
7781 ROUNDING_BILL_TO_PARTY_ID ,
7782 ROUNDING_BILL_FROM_PARTY_ID ,
7783 RNDG_SHIP_TO_PARTY_SITE_ID ,
7784 RNDG_SHIP_FROM_PARTY_SITE_ID ,
7785 RNDG_BILL_TO_PARTY_SITE_ID ,
7786 RNDG_BILL_FROM_PARTY_SITE_ID ,
7787 ESTABLISHMENT_ID ,
7788 TRX_LINE_TYPE ,
7789 TRX_LINE_DATE ,
7790 TRX_BUSINESS_CATEGORY ,
7791 LINE_INTENDED_USE ,
7792 USER_DEFINED_FISC_CLASS ,
7793 LINE_AMT ,
7794 TRX_LINE_QUANTITY ,
7795 UNIT_PRICE ,
7796 EXEMPT_CERTIFICATE_NUMBER ,
7797 EXEMPT_REASON ,
7798 CASH_DISCOUNT ,
7799 VOLUME_DISCOUNT ,
7800 TRADING_DISCOUNT ,
7801 TRANSFER_CHARGE ,
7802 TRANSPORTATION_CHARGE ,
7803 INSURANCE_CHARGE ,
7804 OTHER_CHARGE ,
7805 PRODUCT_ID ,
7806 PRODUCT_FISC_CLASSIFICATION,
7807 PRODUCT_ORG_ID ,
7808 UOM_CODE ,
7809 PRODUCT_TYPE ,
7810 PRODUCT_CODE ,
7811 PRODUCT_CATEGORY ,
7812 TRX_SIC_CODE ,
7813 FOB_POINT ,
7814 SHIP_TO_PARTY_ID ,
7815 SHIP_FROM_PARTY_ID ,
7816 POA_PARTY_ID ,
7817 POO_PARTY_ID ,
7818 BILL_TO_PARTY_ID ,
7819 BILL_FROM_PARTY_ID ,
7820 MERCHANT_PARTY_ID ,
7821 SHIP_TO_PARTY_SITE_ID ,
7822 SHIP_FROM_PARTY_SITE_ID ,
7823 POA_PARTY_SITE_ID ,
7824 POO_PARTY_SITE_ID ,
7825 BILL_TO_PARTY_SITE_ID ,
7826 BILL_FROM_PARTY_SITE_ID ,
7827 SHIP_TO_LOCATION_ID ,
7828 SHIP_FROM_LOCATION_ID ,
7829 POA_LOCATION_ID ,
7830 POO_LOCATION_ID ,
7831 BILL_TO_LOCATION_ID ,
7832 BILL_FROM_LOCATION_ID ,
7833 ACCOUNT_CCID ,
7834 ACCOUNT_STRING ,
7835 MERCHANT_PARTY_COUNTRY ,
7836 NVL(lines.RECEIVABLES_TRX_TYPE_ID, header.RECEIVABLES_TRX_TYPE_ID),
7837 REF_DOC_APPLICATION_ID ,
7838 REF_DOC_ENTITY_CODE ,
7839 REF_DOC_EVENT_CLASS_CODE ,
7840 REF_DOC_TRX_ID ,
7841 -- REF_DOC_HDR_TRX_USER_KEY1 ,
7842 -- REF_DOC_HDR_TRX_USER_KEY2 ,
7843 -- REF_DOC_HDR_TRX_USER_KEY3 ,
7844 -- REF_DOC_HDR_TRX_USER_KEY4 ,
7845 -- REF_DOC_HDR_TRX_USER_KEY5 ,
7846 -- REF_DOC_HDR_TRX_USER_KEY6 ,
7847 REF_DOC_LINE_ID ,
7848 -- REF_DOC_LIN_TRX_USER_KEY1 ,
7849 -- REF_DOC_LIN_TRX_USER_KEY2 ,
7850 -- REF_DOC_LIN_TRX_USER_KEY3 ,
7851 -- REF_DOC_LIN_TRX_USER_KEY4 ,
7852 -- REF_DOC_LIN_TRX_USER_KEY5 ,
7853 -- REF_DOC_LIN_TRX_USER_KEY6 ,
7854 REF_DOC_LINE_QUANTITY ,
7855 RELATED_DOC_APPLICATION_ID ,
7856 RELATED_DOC_ENTITY_CODE ,
7857 RELATED_DOC_EVENT_CLASS_CODE,
7858 RELATED_DOC_TRX_ID ,
7859 -- REL_DOC_HDR_TRX_USER_KEY1 ,
7860 -- REL_DOC_HDR_TRX_USER_KEY2 ,
7861 -- REL_DOC_HDR_TRX_USER_KEY3 ,
7862 -- REL_DOC_HDR_TRX_USER_KEY4 ,
7863 -- REL_DOC_HDR_TRX_USER_KEY5 ,
7864 -- REL_DOC_HDR_TRX_USER_KEY6 ,
7865 RELATED_DOC_NUMBER ,
7866 RELATED_DOC_DATE ,
7867 APPLIED_FROM_APPLICATION_ID,
7868 APPLIED_FROM_ENTITY_CODE ,
7869 APPLIED_FROM_EVENT_CLASS_CODE,
7870 APPLIED_FROM_TRX_ID ,
7871 -- APP_FROM_HDR_TRX_USER_KEY1 ,
7872 -- APP_FROM_HDR_TRX_USER_KEY2 ,
7873 -- APP_FROM_HDR_TRX_USER_KEY3 ,
7874 -- APP_FROM_HDR_TRX_USER_KEY4 ,
7875 -- APP_FROM_HDR_TRX_USER_KEY5 ,
7876 -- APP_FROM_HDR_TRX_USER_KEY6 ,
7877 APPLIED_FROM_LINE_ID ,
7878 APPLIED_FROM_TRX_NUMBER ,
7879 -- APP_FROM_LIN_TRX_USER_KEY1 ,
7880 -- APP_FROM_LIN_TRX_USER_KEY2 ,
7881 -- APP_FROM_LIN_TRX_USER_KEY3 ,
7882 -- APP_FROM_LIN_TRX_USER_KEY4 ,
7883 -- APP_FROM_LIN_TRX_USER_KEY5 ,
7884 -- APP_FROM_LIN_TRX_USER_KEY6 ,
7885 ADJUSTED_DOC_APPLICATION_ID,
7886 ADJUSTED_DOC_ENTITY_CODE ,
7887 ADJUSTED_DOC_EVENT_CLASS_CODE,
7888 ADJUSTED_DOC_TRX_ID ,
7889 -- ADJ_DOC_HDR_TRX_USER_KEY1 ,
7890 -- ADJ_DOC_HDR_TRX_USER_KEY2 ,
7891 -- ADJ_DOC_HDR_TRX_USER_KEY3 ,
7892 -- ADJ_DOC_HDR_TRX_USER_KEY4 ,
7893 -- ADJ_DOC_HDR_TRX_USER_KEY5 ,
7894 -- ADJ_DOC_HDR_TRX_USER_KEY6 ,
7895 ADJUSTED_DOC_LINE_ID ,
7896 -- ADJ_DOC_LIN_TRX_USER_KEY1 ,
7897 -- ADJ_DOC_LIN_TRX_USER_KEY2 ,
7898 -- ADJ_DOC_LIN_TRX_USER_KEY3 ,
7899 -- ADJ_DOC_LIN_TRX_USER_KEY4 ,
7900 -- ADJ_DOC_LIN_TRX_USER_KEY5 ,
7901 -- ADJ_DOC_LIN_TRX_USER_KEY6 ,
7902 ADJUSTED_DOC_NUMBER ,
7903 ADJUSTED_DOC_DATE ,
7904 APPLIED_TO_APPLICATION_ID ,
7905 APPLIED_TO_ENTITY_CODE ,
7906 APPLIED_TO_EVENT_CLASS_CODE,
7907 APPLIED_TO_TRX_ID ,
7908 -- APP_TO_HDR_TRX_USER_KEY1 ,
7909 -- APP_TO_HDR_TRX_USER_KEY2 ,
7910 -- APP_TO_HDR_TRX_USER_KEY3 ,
7911 -- APP_TO_HDR_TRX_USER_KEY4 ,
7912 -- APP_TO_HDR_TRX_USER_KEY5 ,
7913 -- APP_TO_HDR_TRX_USER_KEY6 ,
7914 APPLIED_TO_TRX_LINE_ID ,
7915 -- APP_TO_LIN_TRX_USER_KEY1 ,
7916 -- APP_TO_LIN_TRX_USER_KEY2 ,
7917 -- APP_TO_LIN_TRX_USER_KEY3 ,
7918 -- APP_TO_LIN_TRX_USER_KEY4 ,
7919 -- APP_TO_LIN_TRX_USER_KEY5 ,
7920 -- APP_TO_LIN_TRX_USER_KEY6 ,
7921 TRX_ID_LEVEL2 ,
7922 TRX_ID_LEVEL3 ,
7923 TRX_ID_LEVEL4 ,
7924 TRX_ID_LEVEL5 ,
7925 TRX_ID_LEVEL6 ,
7926 -- header.HDR_TRX_USER_KEY1 HDR_TRX_USER_KEY1 ,
7927 -- header.HDR_TRX_USER_KEY2 HDR_TRX_USER_KEY2 ,
7928 -- header.HDR_TRX_USER_KEY3 HDR_TRX_USER_KEY3 ,
7929 -- header.HDR_TRX_USER_KEY4 HDR_TRX_USER_KEY4 ,
7930 -- header.HDR_TRX_USER_KEY5 HDR_TRX_USER_KEY5 ,
7931 -- header.HDR_TRX_USER_KEY6 HDR_TRX_USER_KEY6 ,
7932 -- LINE_TRX_USER_KEY1 ,
7933 -- LINE_TRX_USER_KEY2 ,
7934 -- LINE_TRX_USER_KEY3 ,
7935 -- LINE_TRX_USER_KEY4 ,
7936 -- LINE_TRX_USER_KEY5 ,
7937 -- LINE_TRX_USER_KEY6 ,
7938 TRX_NUMBER ,
7939 TRX_DESCRIPTION ,
7940 TRX_LINE_NUMBER ,
7941 TRX_LINE_DESCRIPTION ,
7942 PRODUCT_DESCRIPTION ,
7943 TRX_WAYBILL_NUMBER ,
7944 TRX_COMMUNICATED_DATE ,
7945 TRX_LINE_GL_DATE ,
7946 BATCH_SOURCE_ID ,
7947 BATCH_SOURCE_NAME ,
7948 DOC_SEQ_ID ,
7949 DOC_SEQ_NAME ,
7950 DOC_SEQ_VALUE ,
7951 TRX_DUE_DATE ,
7952 TRX_TYPE_DESCRIPTION ,
7953 MERCHANT_PARTY_NAME ,
7954 MERCHANT_PARTY_DOCUMENT_NUMBER,
7955 MERCHANT_PARTY_REFERENCE ,
7956 MERCHANT_PARTY_TAXPAYER_ID ,
7957 MERCHANT_PARTY_TAX_REG_NUMBER,
7958 PAYING_PARTY_ID ,
7959 OWN_HQ_PARTY_ID ,
7960 TRADING_HQ_PARTY_ID ,
7961 POI_PARTY_ID ,
7962 POD_PARTY_ID ,
7963 TITLE_TRANSFER_PARTY_ID ,
7964 PAYING_PARTY_SITE_ID ,
7965 OWN_HQ_PARTY_SITE_ID ,
7966 TRADING_HQ_PARTY_SITE_ID ,
7967 POI_PARTY_SITE_ID ,
7968 POD_PARTY_SITE_ID ,
7969 TITLE_TRANSFER_PARTY_SITE_ID,
7970 PAYING_LOCATION_ID ,
7971 OWN_HQ_LOCATION_ID ,
7972 TRADING_HQ_LOCATION_ID ,
7973 POC_LOCATION_ID ,
7974 POI_LOCATION_ID ,
7975 POD_LOCATION_ID ,
7976 TITLE_TRANSFER_LOCATION_ID ,
7977 ASSESSABLE_VALUE ,
7978 ASSET_FLAG ,
7979 ASSET_NUMBER ,
7980 ASSET_ACCUM_DEPRECIATION ,
7981 ASSET_TYPE ,
7982 ASSET_COST ,
7983 -- NUMERIC1 ,
7984 -- NUMERIC2 ,
7985 -- NUMERIC3 ,
7986 -- NUMERIC4 ,
7987 -- NUMERIC5 ,
7988 -- NUMERIC6 ,
7989 -- NUMERIC7 ,
7990 -- NUMERIC8 ,
7991 -- NUMERIC9 ,
7992 -- NUMERIC10 ,
7993 -- CHAR1 ,
7994 -- CHAR2 ,
7995 -- CHAR3 ,
7996 -- CHAR4 ,
7997 -- CHAR5 ,
7998 -- CHAR6 ,
7999 -- CHAR7 ,
8000 -- CHAR8 ,
8001 -- CHAR9 ,
8002 -- CHAR10 ,
8003 -- DATE1 ,
8004 -- DATE2 ,
8005 -- DATE3 ,
8006 -- DATE4 ,
8007 -- DATE5 ,
8008 -- DATE6 ,
8009 -- DATE7 ,
8010 -- DATE8 ,
8011 -- DATE9 ,
8012 -- DATE10 ,
8013 FIRST_PTY_ORG_ID ,
8014 TAX_EVENT_CLASS_CODE ,
8015 TAX_EVENT_TYPE_CODE ,
8016 DOC_EVENT_STATUS ,
8017 -- RDNG_SHIP_TO_PTY_TX_PROF_ID ,
8018 -- RDNG_SHIP_FROM_PTY_TX_PROF_ID ,
8019 -- RDNG_BILL_TO_PTY_TX_PROF_ID ,
8020 -- RDNG_BILL_FROM_PTY_TX_PROF_ID ,
8021 -- RDNG_SHIP_TO_PTY_TX_P_ST_ID ,
8022 -- RDNG_SHIP_FROM_PTY_TX_P_ST_ID ,
8023 -- RDNG_BILL_TO_PTY_TX_P_ST_ID ,
8024 -- RDNG_BILL_FROM_PTY_TX_P_ST_ID ,
8025 SHIP_TO_PARTY_TAX_PROF_ID ,
8026 SHIP_FROM_PARTY_TAX_PROF_ID ,
8027 POA_PARTY_TAX_PROF_ID ,
8028 POO_PARTY_TAX_PROF_ID ,
8029 PAYING_PARTY_TAX_PROF_ID ,
8030 OWN_HQ_PARTY_TAX_PROF_ID ,
8031 TRADING_HQ_PARTY_TAX_PROF_ID ,
8032 POI_PARTY_TAX_PROF_ID ,
8033 POD_PARTY_TAX_PROF_ID ,
8034 BILL_TO_PARTY_TAX_PROF_ID ,
8035 BILL_FROM_PARTY_TAX_PROF_ID ,
8036 TITLE_TRANS_PARTY_TAX_PROF_ID ,
8037 SHIP_TO_SITE_TAX_PROF_ID ,
8038 SHIP_FROM_SITE_TAX_PROF_ID ,
8039 POA_SITE_TAX_PROF_ID ,
8040 POO_SITE_TAX_PROF_ID ,
8041 PAYING_SITE_TAX_PROF_ID ,
8042 OWN_HQ_SITE_TAX_PROF_ID ,
8043 TRADING_HQ_SITE_TAX_PROF_ID ,
8044 POI_SITE_TAX_PROF_ID ,
8045 POD_SITE_TAX_PROF_ID ,
8046 BILL_TO_SITE_TAX_PROF_ID ,
8047 BILL_FROM_SITE_TAX_PROF_ID ,
8048 TITLE_TRANS_SITE_TAX_PROF_ID ,
8049 MERCHANT_PARTY_TAX_PROF_ID ,
8050 HQ_ESTB_PARTY_TAX_PROF_ID ,
8051 DOCUMENT_SUB_TYPE ,
8052 SUPPLIER_TAX_INVOICE_NUMBER ,
8053 SUPPLIER_TAX_INVOICE_DATE ,
8054 SUPPLIER_EXCHANGE_RATE ,
8055 TAX_INVOICE_DATE ,
8056 TAX_INVOICE_NUMBER ,
8057 LINE_AMT_INCLUDES_TAX_FLAG ,
8058 QUOTE_FLAG ,
8059 DEFAULT_TAXATION_COUNTRY ,
8060 HISTORICAL_FLAG ,
8061 INTERNAL_ORG_LOCATION_ID ,
8062 CTRL_HDR_TX_APPL_FLAG ,
8063 CTRL_TOTAL_HDR_TX_AMT ,
8064 CTRL_TOTAL_LINE_TX_AMT ,
8065 --NULL DIST_LEVEL_ACTION ,
8066 --NULL APPLIED_FROM_TAX_DIST_ID,
8067 --NULL ADJUSTED_DOC_TAX_DIST_ID,
8068 --NULL TASK_ID,
8069 --NULL AWARD_ID,
8070 --NULL PROJECT_ID,
8071 --NULL EXPENDITURE_TYPE,
8072 --NULL EXPENDITURE_ORGANIZATION_ID,
8073 --NULL EXPENDITURE_ITEM_DATE,
8074 --NULL TRX_LINE_DIST_AMT,
8075 --NULL TRX_LINE_DIST_QUANTITY,
8076 --NULL REF_DOC_CURR_CONV_RATE,
8077 --NULL ITEM_DIST_NUMBER,
8078 --NULL REF_DOC_DIST_ID,
8079 --NULL TRX_LINE_DIST_TAX_AMT,
8080 --NULL TRX_LINE_DIST_ID ,
8081 --NULL DIST_TRX_USER_KEY1,
8082 --NULL DIST_TRX_USER_KEY2,
8083 --NULL DIST_TRX_USER_KEY3,
8084 --NULL DIST_TRX_USER_KEY4,
8085 --NULL DIST_TRX_USER_KEY5,
8086 --NULL DIST_TRX_USER_KEY6,
8087 --NULL APPLIED_FROM_DIST_ID,
8088 --NULL APP_FROM_DST_TRX_USER_KEY1 ,
8089 --NULL APP_FROM_DST_TRX_USER_KEY2,
8090 --NULL APP_FROM_DST_TRX_USER_KEY3,
8091 --NULL APP_FROM_DST_TRX_USER_KEY4,
8092 --NULL APP_FROM_DST_TRX_USER_KEY5,
8093 --NULL APP_FROM_DST_TRX_USER_KEY6,
8094 --NULL ADJUSTED_DOC_DIST_ID,
8095 --NULL ADJ_DOC_DST_TRX_USER_KEY1,
8096 --NULL ADJ_DOC_DST_TRX_USER_KEY2,
8097 --NULL ADJ_DOC_DST_TRX_USER_KEY3,
8098 --NULL ADJ_DOC_DST_TRX_USER_KEY4,
8099 --NULL ADJ_DOC_DST_TRX_USER_KEY5,
8100 --NULL ADJ_DOC_DST_TRX_USER_KEY6,
8101 INPUT_TAX_CLASSIFICATION_CODE ,
8102 OUTPUT_TAX_CLASSIFICATION_CODE ,
8103 PORT_OF_ENTRY_CODE ,
8104 TAX_REPORTING_FLAG ,
8105 --NULL TAX_AMT_INCLUDED_FLAG ,
8106 --NULL COMP0UNDING_TAX_FLAG ,
8107 NVL(lines.SHIP_THIRD_PTY_ACCT_SITE_ID, header.SHIP_THIRD_PTY_ACCT_SITE_ID),
8108 NVL(lines.BILL_THIRD_PTY_ACCT_SITE_ID, header.BILL_THIRD_PTY_ACCT_SITE_ID),
8109 NVL(lines.SHIP_TO_CUST_ACCT_SITE_USE_ID, header.SHIP_TO_CUST_ACCT_SITE_USE_ID),
8110 NVL(lines.BILL_TO_CUST_ACCT_SITE_USE_ID, header.BILL_TO_CUST_ACCT_SITE_USE_ID),
8111 PROVNL_TAX_DETERMINATION_DATE ,
8112 NVL(lines.SHIP_THIRD_PTY_ACCT_ID, header.SHIP_THIRD_PTY_ACCT_ID),
8113 NVL(lines.BILL_THIRD_PTY_ACCT_ID, header.BILL_THIRD_PTY_ACCT_ID),
8114 SOURCE_APPLICATION_ID ,
8115 SOURCE_ENTITY_CODE ,
8116 SOURCE_EVENT_CLASS_CODE ,
8117 SOURCE_TRX_ID ,
8118 SOURCE_LINE_ID ,
8119 SOURCE_TRX_LEVEL_TYPE ,
8120 --NULL INSERT_UPDATE_FLAG ,
8121 header.APPLIED_TO_TRX_NUMBER APPLIED_TO_TRX_NUMBER ,
8122 START_EXPENSE_DATE ,
8123 TRX_BATCH_ID ,
8124 --NULL RECORD_TYPE_CODE ,
8125 REF_DOC_TRX_LEVEL_TYPE ,
8126 APPLIED_FROM_TRX_LEVEL_TYPE ,
8127 APPLIED_TO_TRX_LEVEL_TYPE ,
8128 ADJUSTED_DOC_TRX_LEVEL_TYPE ,
8129 DEFAULTING_ATTRIBUTE1 ,
8130 DEFAULTING_ATTRIBUTE2 ,
8131 DEFAULTING_ATTRIBUTE3 ,
8132 DEFAULTING_ATTRIBUTE4 ,
8133 DEFAULTING_ATTRIBUTE5 ,
8134 DEFAULTING_ATTRIBUTE6 ,
8135 DEFAULTING_ATTRIBUTE7 ,
8136 DEFAULTING_ATTRIBUTE8 ,
8137 DEFAULTING_ATTRIBUTE9 ,
8138 DEFAULTING_ATTRIBUTE10 ,
8139 --NULL TAX_PROCESSING_COMPLETED_FLAG,
8140 APPLICATION_DOC_STATUS ,
8141 --NULL OVERRIDE_RECOVERY_RATE ,
8142 --NULL TAX_CALCULATION_DONE_FLAG,
8143 SOURCE_TAX_LINE_ID ,
8144 --NULL REVERSED_APPLN_ID ,
8145 --NULL REVERSED_ENTITY_CODE,
8146 --NULL REVERSED_EVNT_CLS_CODE,
8147 --NULL REVERSED_TRX_ID,
8148 --NULL REVERSED_TRX_LEVEL_TYPE,
8149 --NULL REVERSED_TRX_LINE_ID,
8150 EXEMPTION_CONTROL_FLAG ,
8151 EXEMPT_REASON_CODE ,
8152 INTERFACE_ENTITY_CODE ,
8153 INTERFACE_LINE_ID ,
8154 HISTORICAL_TAX_CODE_ID ,
8155 USER_UPD_DET_FACTORS_FLAG -- Bug 4703541
8156 FROM
8157 ZX_TRANSACTION_LINES_GT Lines,
8158 ZX_TRX_HEADERS_GT Header
8159
8160 WHERE
8161
8162 Lines.application_id = Header.application_id
8163 AND Lines.entity_code = Header.entity_code
8164 AND Lines.event_class_code = Header.event_class_code
8165 AND Lines.trx_id = Header.trx_id;
8166
8167 x_return_status VARCHAR2(20);
8168 l_error_buffer VARCHAR2(240);
8169 l_event_class_rec ZX_API_PUB.event_class_rec_type;
8170
8171 l_prev_trx_id ZX_TRX_HEADERS_GT.TRX_ID%TYPE;
8172 l_prev_application_id ZX_TRX_HEADERS_GT.APPLICATION_ID%TYPE;
8173 l_prev_entity_code ZX_TRX_HEADERS_GT.ENTITY_CODE%TYPE;
8174 l_prev_event_class_code ZX_TRX_HEADERS_GT.EVENT_CLASS_CODE%TYPE;
8175
8176 l_cur_trx_id ZX_TRX_HEADERS_GT.TRX_ID%TYPE;
8177 l_cur_application_id ZX_TRX_HEADERS_GT.APPLICATION_ID%TYPE;
8178 l_cur_entity_code ZX_TRX_HEADERS_GT.ENTITY_CODE%TYPE;
8179 l_cur_event_class_code ZX_TRX_HEADERS_GT.EVENT_CLASS_CODE%TYPE;
8180
8181 -- Bug 4703541
8182 -- global_structure_rec ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_rec_type;
8183
8184
8185 BEGIN
8186
8187 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
8188
8189 IF (g_level_event >= g_current_runtime_level ) THEN
8190 FND_LOG.STRING(g_level_event,
8191 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs.BEGIN',
8192 'ZX_VALIDATE_API_PKG: def_additional_tax_attribs(+)');
8193 END IF;
8194
8195 /** Bug 4703541 :
8196 Change Made : Replace global_structure_rec with ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl
8197 as this is being directly referred in ZX_DEFAULT_AUTOMATION_PKG.DEFAULT_TAX_DET_FACTORS **/
8198 IF (g_level_statement >= g_current_runtime_level ) THEN
8199 FND_LOG.STRING(g_level_statement,
8200 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8201 'Before opening the cursor - gtt_to_glb_strctr_csr');
8202 END IF;
8203
8204 x_return_status := FND_API.G_RET_STS_SUCCESS;
8205 OPEN gtt_to_glb_strctr_csr;
8206
8207 IF (g_level_statement >= g_current_runtime_level ) THEN
8208 FND_LOG.STRING(g_level_statement,
8209 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8210 'After opening the cursor - gtt_to_glb_strctr_csr');
8211 END IF;
8212
8213 LOOP
8214 FETCH gtt_to_glb_strctr_csr
8215 BULK COLLECT INTO
8216 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID,
8217 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID,
8218 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE,
8219 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE,
8220 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_TYPE_CODE ,
8221 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID,
8222 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LEVEL_TYPE,
8223 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID ,
8224 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_LEVEL_ACTION,
8225 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_CLASS ,
8226 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_DATE,
8227 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_DOC_REVISION,
8228 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LEDGER_ID,
8229 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_CURRENCY_CODE,
8230 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE,
8231 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE ,
8232 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE,
8233 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MINIMUM_ACCOUNTABLE_UNIT,
8234 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRECISION,
8235 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_SHIPPING_DATE ,
8236 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_RECEIPT_DATE,
8237 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LEGAL_ENTITY_ID ,
8238 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID,
8239 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID,
8240 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID,
8241 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID,
8242 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID,
8243 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID,
8244 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID,
8245 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID ,
8246 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ESTABLISHMENT_ID ,
8247 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_TYPE ,
8248 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_DATE,
8249 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BUSINESS_CATEGORY,
8250 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_INTENDED_USE,
8251 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS,
8252 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_AMT,
8253 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_QUANTITY ,
8254 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.UNIT_PRICE,
8255 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EXEMPT_CERTIFICATE_NUMBER,
8256 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EXEMPT_REASON,
8257 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CASH_DISCOUNT,
8258 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.VOLUME_DISCOUNT,
8259 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRADING_DISCOUNT,
8260 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRANSFER_CHARGE,
8261 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRANSPORTATION_CHARGE,
8262 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INSURANCE_CHARGE,
8263 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OTHER_CHARGE,
8264 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ID ,
8265 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_FISC_CLASSIFICATION,
8266 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_ORG_ID ,
8267 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.UOM_CODE,
8268 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE ,
8269 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CODE,
8270 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_CATEGORY,
8271 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_SIC_CODE ,
8272 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.FOB_POINT,
8273 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_PARTY_ID,
8274 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_FROM_PARTY_ID,
8275 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POA_PARTY_ID ,
8276 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POO_PARTY_ID,
8277 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_PARTY_ID,
8278 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_FROM_PARTY_ID,
8279 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MERCHANT_PARTY_ID,
8280 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_PARTY_SITE_ID,
8281 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_FROM_PARTY_SITE_ID ,
8282 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POA_PARTY_SITE_ID ,
8283 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POO_PARTY_SITE_ID,
8284 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_PARTY_SITE_ID,
8285 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_FROM_PARTY_SITE_ID,
8286 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_LOCATION_ID ,
8287 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_FROM_LOCATION_ID,
8288 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POA_LOCATION_ID ,
8289 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POO_LOCATION_ID ,
8290 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_LOCATION_ID,
8291 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_FROM_LOCATION_ID,
8292 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ACCOUNT_CCID ,
8293 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ACCOUNT_STRING ,
8294 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MERCHANT_PARTY_COUNTRY ,
8295 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RECEIVABLES_TRX_TYPE_ID ,
8296 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_APPLICATION_ID ,
8297 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_ENTITY_CODE,
8298 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_EVENT_CLASS_CODE,
8299 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_TRX_ID ,
8300 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_HDR_TRX_USER_KEY1,
8301 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_HDR_TRX_USER_KEY2,
8302 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_HDR_TRX_USER_KEY3,
8303 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_HDR_TRX_USER_KEY4,
8304 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_HDR_TRX_USER_KEY5,
8305 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_HDR_TRX_USER_KEY6,
8306 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_LINE_ID ,
8307 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_LIN_TRX_USER_KEY1,
8308 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_LIN_TRX_USER_KEY2,
8309 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_LIN_TRX_USER_KEY3,
8310 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_LIN_TRX_USER_KEY4,
8311 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_LIN_TRX_USER_KEY5,
8312 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_LIN_TRX_USER_KEY6,
8313 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_LINE_QUANTITY,
8314 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RELATED_DOC_APPLICATION_ID ,
8315 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RELATED_DOC_ENTITY_CODE ,
8316 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RELATED_DOC_EVENT_CLASS_CODE,
8317 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RELATED_DOC_TRX_ID,
8318 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REL_DOC_HDR_TRX_USER_KEY1 ,
8319 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REL_DOC_HDR_TRX_USER_KEY2 ,
8320 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REL_DOC_HDR_TRX_USER_KEY3 ,
8321 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REL_DOC_HDR_TRX_USER_KEY4 ,
8322 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REL_DOC_HDR_TRX_USER_KEY5 ,
8323 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REL_DOC_HDR_TRX_USER_KEY6 ,
8324 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RELATED_DOC_NUMBER,
8325 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RELATED_DOC_DATE ,
8326 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_FROM_APPLICATION_ID,
8327 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_FROM_ENTITY_CODE ,
8328 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_FROM_EVENT_CLASS_CODE,
8329 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_FROM_TRX_ID ,
8330 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_HDR_TRX_USER_KEY1 ,
8331 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_HDR_TRX_USER_KEY2 ,
8332 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_HDR_TRX_USER_KEY3 ,
8333 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_HDR_TRX_USER_KEY4 ,
8334 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_HDR_TRX_USER_KEY5 ,
8335 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_HDR_TRX_USER_KEY6 ,
8336 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_FROM_LINE_ID ,
8337 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_FROM_TRX_NUMBER ,
8338 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_LIN_TRX_USER_KEY1 ,
8339 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_LIN_TRX_USER_KEY2 ,
8340 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_LIN_TRX_USER_KEY3 ,
8341 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_LIN_TRX_USER_KEY4 ,
8342 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_LIN_TRX_USER_KEY5 ,
8343 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_FROM_LIN_TRX_USER_KEY6 ,
8344 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_APPLICATION_ID,
8345 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_ENTITY_CODE ,
8346 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_EVENT_CLASS_CODE,
8347 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_TRX_ID ,
8348 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_HDR_TRX_USER_KEY1 ,
8349 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_HDR_TRX_USER_KEY2 ,
8350 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_HDR_TRX_USER_KEY3 ,
8351 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_HDR_TRX_USER_KEY4 ,
8352 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_HDR_TRX_USER_KEY5 ,
8353 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_HDR_TRX_USER_KEY6 ,
8354 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_LINE_ID ,
8355 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_LIN_TRX_USER_KEY1 ,
8356 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_LIN_TRX_USER_KEY2 ,
8357 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_LIN_TRX_USER_KEY3 ,
8358 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_LIN_TRX_USER_KEY4 ,
8359 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_LIN_TRX_USER_KEY5 ,
8360 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJ_DOC_LIN_TRX_USER_KEY6 ,
8361 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_NUMBER ,
8362 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_DATE ,
8363 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_TO_APPLICATION_ID ,
8364 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_TO_ENTITY_CODE ,
8365 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_TO_EVENT_CLASS_CODE,
8366 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_TO_TRX_ID ,
8367 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_HDR_TRX_USER_KEY1 ,
8368 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_HDR_TRX_USER_KEY2 ,
8369 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_HDR_TRX_USER_KEY3 ,
8370 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_HDR_TRX_USER_KEY4 ,
8371 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_HDR_TRX_USER_KEY5 ,
8372 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_HDR_TRX_USER_KEY6 ,
8373 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_TO_TRX_LINE_ID ,
8374 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_LIN_TRX_USER_KEY1 ,
8375 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_LIN_TRX_USER_KEY2 ,
8376 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_LIN_TRX_USER_KEY3 ,
8377 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_LIN_TRX_USER_KEY4 ,
8378 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_LIN_TRX_USER_KEY5 ,
8379 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APP_TO_LIN_TRX_USER_KEY6 ,
8380 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID_LEVEL2 ,
8381 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID_LEVEL3 ,
8382 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID_LEVEL4 ,
8383 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID_LEVEL5 ,
8384 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID_LEVEL6 ,
8385 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_TRX_USER_KEY1 ,
8386 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_TRX_USER_KEY2 ,
8387 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_TRX_USER_KEY3 ,
8388 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_TRX_USER_KEY4 ,
8389 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_TRX_USER_KEY5 ,
8390 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HDR_TRX_USER_KEY6 ,
8391 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_TRX_USER_KEY1,
8392 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_TRX_USER_KEY2,
8393 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_TRX_USER_KEY3,
8394 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_TRX_USER_KEY4,
8395 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_TRX_USER_KEY5,
8396 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_TRX_USER_KEY6,
8397 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_NUMBER,
8398 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_DESCRIPTION,
8399 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_NUMBER ,
8400 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_DESCRIPTION ,
8401 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_DESCRIPTION ,
8402 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_WAYBILL_NUMBER ,
8403 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_COMMUNICATED_DATE ,
8404 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_GL_DATE ,
8405 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BATCH_SOURCE_ID ,
8406 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BATCH_SOURCE_NAME ,
8407 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOC_SEQ_ID ,
8408 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOC_SEQ_NAME ,
8409 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOC_SEQ_VALUE ,
8410 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_DUE_DATE ,
8411 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_TYPE_DESCRIPTION ,
8412 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MERCHANT_PARTY_NAME ,
8413 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MERCHANT_PARTY_DOCUMENT_NUMBER,
8414 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MERCHANT_PARTY_REFERENCE ,
8415 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MERCHANT_PARTY_TAXPAYER_ID ,
8416 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MERCHANT_PARTY_TAX_REG_NUMBER,
8417 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PAYING_PARTY_ID ,
8418 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OWN_HQ_PARTY_ID ,
8419 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRADING_HQ_PARTY_ID ,
8420 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POI_PARTY_ID ,
8421 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POD_PARTY_ID ,
8422 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_ID ,
8423 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PAYING_PARTY_SITE_ID ,
8424 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OWN_HQ_PARTY_SITE_ID ,
8425 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRADING_HQ_PARTY_SITE_ID ,
8426 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POI_PARTY_SITE_ID ,
8427 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POD_PARTY_SITE_ID ,
8428 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TITLE_TRANSFER_PARTY_SITE_ID,
8429 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PAYING_LOCATION_ID ,
8430 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OWN_HQ_LOCATION_ID ,
8431 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRADING_HQ_LOCATION_ID ,
8432 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POC_LOCATION_ID ,
8433 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POI_LOCATION_ID ,
8434 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POD_LOCATION_ID ,
8435 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TITLE_TRANSFER_LOCATION_ID ,
8436 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSESSABLE_VALUE ,
8437 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSET_FLAG ,
8438 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSET_NUMBER ,
8439 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSET_ACCUM_DEPRECIATION ,
8440 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSET_TYPE ,
8441 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ASSET_COST ,
8442 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC1 ,
8443 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC2 ,
8444 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC3 ,
8445 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC4 ,
8446 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC5 ,
8447 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC6 ,
8448 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC7 ,
8449 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC8 ,
8450 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC9 ,
8451 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.NUMERIC10 ,
8452 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR1 ,
8453 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR2 ,
8454 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR3 ,
8455 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR4 ,
8456 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR5 ,
8457 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR6 ,
8458 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR7 ,
8459 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR8 ,
8460 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR9 ,
8461 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CHAR10 ,
8462 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE1 ,
8463 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE2 ,
8464 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE3 ,
8465 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE4 ,
8466 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE5 ,
8467 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE6 ,
8468 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE7 ,
8469 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE8 ,
8470 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE9 ,
8471 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DATE10 ,
8472 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.FIRST_PTY_ORG_ID ,
8473 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_EVENT_CLASS_CODE ,
8474 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_EVENT_TYPE_CODE ,
8475 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOC_EVENT_STATUS ,
8476 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_PROF_ID ,
8477 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_PROF_ID ,
8478 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_PROF_ID ,
8479 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_PROF_ID ,
8480 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RDNG_SHIP_TO_PTY_TX_P_ST_ID ,
8481 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RDNG_SHIP_FROM_PTY_TX_P_ST_ID ,
8482 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RDNG_BILL_TO_PTY_TX_P_ST_ID ,
8483 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RDNG_BILL_FROM_PTY_TX_P_ST_ID ,
8484 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_PARTY_TAX_PROF_ID ,
8485 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_FROM_PARTY_TAX_PROF_ID ,
8486 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POA_PARTY_TAX_PROF_ID ,
8487 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POO_PARTY_TAX_PROF_ID ,
8488 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PAYING_PARTY_TAX_PROF_ID ,
8489 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OWN_HQ_PARTY_TAX_PROF_ID ,
8490 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRADING_HQ_PARTY_TAX_PROF_ID ,
8491 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POI_PARTY_TAX_PROF_ID ,
8492 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POD_PARTY_TAX_PROF_ID ,
8493 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_PARTY_TAX_PROF_ID ,
8494 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_FROM_PARTY_TAX_PROF_ID ,
8495 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TITLE_TRANS_PARTY_TAX_PROF_ID ,
8496 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_SITE_TAX_PROF_ID ,
8497 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_FROM_SITE_TAX_PROF_ID ,
8498 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POA_SITE_TAX_PROF_ID ,
8499 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POO_SITE_TAX_PROF_ID ,
8500 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PAYING_SITE_TAX_PROF_ID ,
8501 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OWN_HQ_SITE_TAX_PROF_ID ,
8502 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRADING_HQ_SITE_TAX_PROF_ID ,
8503 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POI_SITE_TAX_PROF_ID ,
8504 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.POD_SITE_TAX_PROF_ID ,
8505 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_SITE_TAX_PROF_ID ,
8506 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_FROM_SITE_TAX_PROF_ID ,
8507 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TITLE_TRANS_SITE_TAX_PROF_ID ,
8508 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.MERCHANT_PARTY_TAX_PROF_ID ,
8509 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HQ_ESTB_PARTY_TAX_PROF_ID ,
8510 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE ,
8511 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_NUMBER ,
8512 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SUPPLIER_TAX_INVOICE_DATE ,
8513 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SUPPLIER_EXCHANGE_RATE ,
8514 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_DATE ,
8515 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_NUMBER ,
8516 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LINE_AMT_INCLUDES_TAX_FLAG ,
8517 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.QUOTE_FLAG ,
8518 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY ,
8519 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HISTORICAL_FLAG ,
8520 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORG_LOCATION_ID ,
8521 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CTRL_HDR_TX_APPL_FLAG ,
8522 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT ,
8523 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CTRL_TOTAL_LINE_TX_AMT ,
8524 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INPUT_TAX_CLASSIFICATION_CODE ,
8525 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.OUTPUT_TAX_CLASSIFICATION_CODE ,
8526 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PORT_OF_ENTRY_CODE ,
8527 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_REPORTING_FLAG ,
8528 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_SITE_ID ,
8529 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_SITE_ID ,
8530 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_TO_CUST_ACCT_SITE_USE_ID ,
8531 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_TO_CUST_ACCT_SITE_USE_ID ,
8532 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PROVNL_TAX_DETERMINATION_DATE ,
8533 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SHIP_THIRD_PTY_ACCT_ID ,
8534 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.BILL_THIRD_PTY_ACCT_ID ,
8535 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_APPLICATION_ID ,
8536 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_ENTITY_CODE ,
8537 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_EVENT_CLASS_CODE ,
8538 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_TRX_ID ,
8539 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_LINE_ID ,
8540 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_TRX_LEVEL_TYPE ,
8541 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_TO_TRX_NUMBER ,
8542 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.START_EXPENSE_DATE ,
8543 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_BATCH_ID ,
8544 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.REF_DOC_TRX_LEVEL_TYPE ,
8545 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_FROM_TRX_LEVEL_TYPE ,
8546 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLIED_TO_TRX_LEVEL_TYPE ,
8547 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ADJUSTED_DOC_TRX_LEVEL_TYPE ,
8548 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE1 ,
8549 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE2 ,
8550 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE3 ,
8551 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE4 ,
8552 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE5 ,
8553 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE6 ,
8554 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE7 ,
8555 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE8 ,
8556 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE9 ,
8557 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULTING_ATTRIBUTE10 ,
8558 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_DOC_STATUS ,
8559 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.SOURCE_TAX_LINE_ID ,
8560 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EXEMPTION_CONTROL_FLAG ,
8561 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EXEMPT_REASON_CODE ,
8562 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERFACE_ENTITY_CODE ,
8563 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERFACE_LINE_ID ,
8564 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.HISTORICAL_TAX_CODE_ID ,
8565 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_UPD_DET_FACTORS_FLAG -- Bug 4703541
8566 LIMIT C_LINES_PER_COMMIT;
8567
8568 FOR i in 1..nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.last,0)
8569
8570 LOOP
8571
8572 l_cur_trx_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(i);
8573 l_cur_application_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(i);
8574 l_cur_entity_code := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(i);
8575 l_cur_event_class_code := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(i);
8576
8577 -- If current document Information is different from previous document information
8578 -- then store it in the event class rec.
8579 IF ( i = 1 ) OR NOT ( l_prev_trx_id = l_cur_trx_id AND l_prev_application_id = l_cur_application_id AND
8580 l_prev_entity_code = l_cur_entity_code AND l_prev_event_class_code = l_cur_event_class_code ) THEN
8581
8582 l_prev_trx_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(i);
8583 l_prev_application_id := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(i);
8584 l_prev_entity_code := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(i);
8585 l_prev_event_class_code := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(i);
8586
8587 l_event_class_rec.INTERNAL_ORGANIZATION_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID(i) ;
8588 l_event_class_rec.LEGAL_ENTITY_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LEGAL_ENTITY_ID(i) ;
8589 l_event_class_rec.LEDGER_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.LEDGER_ID(i) ;
8590 l_event_class_rec.APPLICATION_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(i) ;
8591 l_event_class_rec.ENTITY_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(i) ;
8592 l_event_class_rec.EVENT_CLASS_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(i) ;
8593 l_event_class_rec.EVENT_TYPE_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_TYPE_CODE(i) ;
8594 l_event_class_rec.CTRL_TOTAL_HDR_TX_AMT := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CTRL_TOTAL_HDR_TX_AMT(i) ;
8595 l_event_class_rec.TRX_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(i) ;
8596 l_event_class_rec.TRX_DATE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_DATE(i) ;
8597 l_event_class_rec.REL_DOC_DATE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RELATED_DOC_DATE(i) ;
8598 l_event_class_rec.TRX_CURRENCY_CODE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_CURRENCY_CODE(i) ;
8599 l_event_class_rec.CURRENCY_CONVERSION_TYPE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CURRENCY_CONVERSION_TYPE(i) ;
8600 l_event_class_rec.CURRENCY_CONVERSION_RATE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CURRENCY_CONVERSION_RATE(i) ;
8601 l_event_class_rec.CURRENCY_CONVERSION_DATE := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.CURRENCY_CONVERSION_DATE(i) ;
8602 l_event_class_rec.ROUNDING_SHIP_TO_PARTY_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ROUNDING_SHIP_TO_PARTY_ID(i) ;
8603 l_event_class_rec.ROUNDING_SHIP_FROM_PARTY_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ROUNDING_SHIP_FROM_PARTY_ID(i) ;
8604 l_event_class_rec.ROUNDING_BILL_TO_PARTY_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ROUNDING_BILL_TO_PARTY_ID(i) ;
8605 l_event_class_rec.ROUNDING_BILL_FROM_PARTY_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ROUNDING_BILL_FROM_PARTY_ID(i) ;
8606 l_event_class_rec.RNDG_SHIP_TO_PARTY_SITE_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RNDG_SHIP_TO_PARTY_SITE_ID(i) ;
8607 l_event_class_rec.RNDG_SHIP_FROM_PARTY_SITE_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RNDG_SHIP_FROM_PARTY_SITE_ID(i) ;
8608 l_event_class_rec.RNDG_BILL_TO_PARTY_SITE_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RNDG_BILL_TO_PARTY_SITE_ID(i) ;
8609 l_event_class_rec.RNDG_BILL_FROM_PARTY_SITE_ID := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.RNDG_BILL_FROM_PARTY_SITE_ID(i) ;
8610
8611
8612 IF ( G_LEVEL_EVENT >= G_CURRENT_RUNTIME_LEVEL) THEN
8613 FND_LOG.STRING(G_LEVEL_EVENT,
8614 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8615 'Validating Transaction: '||
8616 to_char(l_event_class_rec.trx_id)||
8617 ' of Application: '||
8618 to_char(l_event_class_rec.application_id) ||
8619 ' and Event Class: '||
8620 l_event_class_rec.event_class_code
8621 );
8622 END IF;
8623 -- Bug # 5094766. This procedure validates the parameter and populate the tax event class info.
8624 ZX_VALID_INIT_PARAMS_PKG.get_default_tax_det_attrs(
8625 p_event_class_rec => l_event_class_rec,
8626 x_return_status => l_return_status
8627 );
8628
8629 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8630 IF (g_level_procedure >= g_current_runtime_level ) THEN
8631 FND_LOG.STRING(g_level_procedure,
8632 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8633 'x_return_status = ' || x_return_status);
8634 FND_LOG.STRING(g_level_procedure,
8635 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8636 'l_error_buffer = ' || l_error_buffer);
8637 FND_LOG.STRING(g_level_procedure,
8638 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs.END',
8639 'ZX_VALIDATE_API_PKG: def_additional_tax_attribs(-)');
8640 END IF;
8641
8642 RETURN;
8643
8644 END IF;
8645 END IF;
8646
8647
8648 IF (g_level_statement >= g_current_runtime_level ) THEN
8649 FND_LOG.STRING(g_level_statement,
8650 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8651 'Before Calling ZX_DEFAULT_AUTOMATION_PKG.DEFAULT_TAX_DET_FACTORS for record '||to_char(i));
8652 END IF;
8653
8654 ZX_DEFAULT_AUTOMATION_PKG.DEFAULT_TAX_DET_FACTORS
8655 (
8656 i,
8657 l_event_class_rec,
8658 NULL, --p_taxation_country
8659 NULL, --p_document_sub_type
8660 x_return_status
8661 );
8662
8663 IF (g_level_statement >= g_current_runtime_level ) THEN
8664 FND_LOG.STRING(g_level_statement,
8665 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8666 'Before Calling ZX_DEFAULT_AUTOMATION_PKG.DEFAULT_TAX_REPORTING_ATTRIBS for record '||to_char(i));
8667 END IF;
8668
8669 ZX_DEFAULT_AUTOMATION_PKG.DEFAULT_TAX_REPORTING_ATTRIBS
8670 (
8671 i,
8672 NULL, --p_tax_invoice_number
8673 NULL, --p_tax_invoice_date
8674 x_return_status
8675 );
8676
8677 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8678 IF (g_level_procedure >= g_current_runtime_level ) THEN
8679 FND_LOG.STRING(g_level_procedure,
8680 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8681 'x_return_status = ' || x_return_status);
8682 FND_LOG.STRING(g_level_procedure,
8683 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8684 'l_error_buffer = ' || l_error_buffer);
8685 FND_LOG.STRING(g_level_procedure,
8686 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs.END',
8687 'ZX_VALIDATE_API_PKG: def_additional_tax_attribs(-)');
8688 END IF;
8689
8690 RETURN;
8691
8692 END IF;
8693
8694 END LOOP;
8695 -- update zx_transaction_lines_gt with the default
8696 -- tax attributes found
8697
8698 IF (g_level_statement >= g_current_runtime_level ) THEN
8699 FND_LOG.STRING(g_level_statement,
8700 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8701 'updating zx_transaction_lines_gt with tax attributes found');
8702 END IF;
8703
8704 FORALL i IN 1..nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.last,0)
8705
8706 UPDATE /*+ INDEX (z,ZX_TRANSACTION_LINES_GT_U1) */ ZX_TRANSACTION_LINES_GT z
8707 SET trx_business_category =
8708 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(i),
8709 product_category =
8710 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_category(i),
8711 product_fisc_classification =
8712 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_fisc_classification(i),
8713 assessable_value =
8714 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(i),
8715 product_type =
8716 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.PRODUCT_TYPE(i),
8717 user_defined_fisc_class =
8718 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.USER_DEFINED_FISC_CLASS(i),
8719 line_intended_use =
8720 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_intended_use(i)
8721
8722 WHERE z.application_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(i)
8723 AND z.entity_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(i)
8724 AND z.event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(i)
8725 AND z.trx_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(i)
8726 AND z.trx_line_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_LINE_ID(i);
8727
8728 FORALL i IN 1..nvl(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.INTERNAL_ORGANIZATION_ID.last,0)
8729 UPDATE ZX_TRX_HEADERS_GT
8730 SET TAX_INVOICE_NUMBER =
8731 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_NUMBER(i),
8732 TAX_INVOICE_DATE =
8733 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TAX_INVOICE_DATE(i),
8734 DEFAULT_TAXATION_COUNTRY =
8735 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DEFAULT_TAXATION_COUNTRY(i),
8736 DOCUMENT_SUB_TYPE =
8737 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.DOCUMENT_SUB_TYPE(i)
8738
8739 WHERE application_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.APPLICATION_ID(i)
8740 AND entity_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ENTITY_CODE(i)
8741 AND event_class_code = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.EVENT_CLASS_CODE(i)
8742 AND trx_id = ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.TRX_ID(i);
8743
8744 EXIT WHEN gtt_to_glb_strctr_csr%NOTFOUND;
8745
8746 END LOOP;
8747 CLOSE gtt_to_glb_strctr_csr;
8748
8749 IF (g_level_event >= g_current_runtime_level ) THEN
8750 FND_LOG.STRING(g_level_event,
8751 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs.END',
8752 'ZX_VALIDATE_API_PKG: def_additional_tax_attribs(-)');
8753 END IF;
8754
8755 EXCEPTION
8756
8757 WHEN OTHERS THEN
8758 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8759 l_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
8760 IF gtt_to_glb_strctr_csr%ISOPEN THEN
8761 CLOSE gtt_to_glb_strctr_csr;
8762 END IF;
8763 FND_MESSAGE.SET_NAME('ZX','GENERIC_MESSAGE');
8764 FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','def_additional_tax_attribs- '|| l_error_buffer);
8765 FND_MSG_PUB.Add;
8766
8767 IF (g_level_unexpected >= g_current_runtime_level ) THEN
8768 FND_LOG.STRING(g_level_unexpected,
8769 'ZX.PLSQL.ZX_VALIDATE_API_PKG.def_additional_tax_attribs',
8770 l_error_buffer);
8771 END IF;
8772
8773 END def_additional_tax_attribs;
8774
8775
8776
8777 --Constructor
8778 BEGIN
8779
8780 l_regime_not_exists :=fnd_message.get_string('ZX','ZX_REGIME_NOT_EXIST' );
8781 l_regime_not_effective :=fnd_message.get_string('ZX','ZX_REGIME_NOT_EFFECTIVE' );
8782 l_tax_not_exists :=fnd_message.get_string('ZX','ZX_TAX_NOT_EXIST' );
8783 l_tax_not_live :=fnd_message.get_string('ZX','ZX_TAX_NOT_LIVE' );
8784 l_tax_not_effective :=fnd_message.get_string('ZX','ZX_TAX_NOT_EFFECTIVE' );
8785 l_tax_recov_or_offset :=fnd_message.get_string('ZX','ZX_TAX_RECOV_OR_OFFSET' );
8786 l_tax_status_not_exists :=fnd_message.get_string('ZX','ZX_TAX_STATUS_NOT_EXIST' );
8787 l_tax_status_not_effective :=fnd_message.get_string('ZX','ZX_TAX_STATUS_NOT_EFFECTIVE' );
8788 l_tax_rate_not_exists :=fnd_message.get_string('ZX','ZX_TAX_RATE_NOT_EXIST' );
8789 l_tax_rate_not_effective :=fnd_message.get_string('ZX','ZX_TAX_RATE_NOT_EFFECTIVE' );
8790 l_tax_rate_not_active :=fnd_message.get_string('ZX','ZX_TAX_RATE_NOT_ACTIVE' );
8791 --l_tax_rate_code_not_effective :=fnd_message.get_string('ZX','ZX_TAX_RATE_NOT_EFFECTIVE' );
8792 --l_tax_rate_code_not_active :=fnd_message.get_string('ZX','ZX_TAX_RATE_NOT_ACTIVE' );
8793 l_tax_rate_percentage_invalid :=fnd_message.get_string('ZX','ZX_TAX_RATE_PERCENTAGE_INVALID' );
8794 l_jur_code_not_exists :=fnd_message.get_string('ZX','ZX_JUR_CODE_NOT_EXIST' );
8795 l_jur_code_not_effective :=fnd_message.get_string('ZX','ZX_JUR_CODE_NOT_EFFECTIVE' );
8796 l_ref_doc_missing :=fnd_message.get_string('ZX','ZX_REF_DOC_MISSING' );
8797 l_rel_doc_missing :=fnd_message.get_string('ZX','ZX_REL_DOC_MISSING' );
8798 l_app_from_doc_missing :=fnd_message.get_string('ZX','ZX_APP_FROM_DOC_MISSING' );
8799 --l_app_to_doc_missing :=fnd_message.get_string('ZX','ZX_APP_TO_DOC_MISSING' );
8800 l_adj_doc_missing :=fnd_message.get_string('ZX','ZX_ADJ_DOC_MISSING' );
8801 l_source_doc_missing :=fnd_message.get_string('ZX','ZX_SOURCE_DOC_MISSING' );
8802 l_round_party_missing :=fnd_message.get_string('ZX','ZX_ROUND_PARTY_MISSING' );
8803 l_location_missing :=fnd_message.get_string('ZX','ZX_LOCATION_MISSING' );
8804 l_ctrl_flag_missing :=fnd_message.get_string('ZX','ZX_CTRFLAG_MISSING' );
8805 l_line_class_invalid :=fnd_message.get_string('ZX','ZX_LINE_CLASS_INVALID' );
8806 l_trx_line_type_invalid :=fnd_message.get_string('ZX','ZX_TRX_LINE_TYPE_INVALID' );
8807 l_line_amt_incl_tax_invalid :=fnd_message.get_string('ZX','ZX_LINE_AMT_INCTAX_INVALID' );
8808 l_default_status_not_exists :=fnd_message.get_string('ZX','ZX_DEFAULT_STATUS_NOT_EXIST' );
8809 l_default_rate_code_not_exists:=fnd_message.get_string('ZX','ZX_DEFAULT_RATE_CODE_NOT_EXIST' );
8810 l_taxation_country_not_exists :=fnd_message.get_string('ZX','ZX_TAXATION_COUNTRY_NOT_EXIST' );
8811 l_prd_categ_not_exists :=fnd_message.get_string('ZX','ZX_PRODUCT_CATEG_NOT_EXIST' );
8812 l_prd_categ_not_effective :=fnd_message.get_string('ZX','ZX_PRODUCT_CATEG_NOT_EFFECTIVE' );
8813 l_prd_categ_country_inconsis :=fnd_message.get_string('ZX','ZX_PRODUCT_CATEG_COUNTRY_INCON' );
8814 l_usr_df_fc_code_not_exists :=fnd_message.get_string('ZX','ZX_USER_DEF_FC_CODE_NOT_EXIST' );
8815 l_usr_df_fc_code_not_effective:=fnd_message.get_string('ZX','ZX_USER_DEF_FC_CODE_NOT_EFFECT' );
8816 l_usr_df_country_inconsis :=fnd_message.get_string('ZX','ZX_USER_DEF_COUNTRY_INCONSIS' );
8817 l_doc_fc_code_not_exists :=fnd_message.get_string('ZX','ZX_DOC_FC_CODE_NOT_EXIST' );
8818 l_doc_fc_code_not_effective :=fnd_message.get_string('ZX','ZX_DOC_FC_CODE_NOT_EFFECTIVE' );
8819 l_doc_fc_country_inconsis :=fnd_message.get_string('ZX','ZX_DOC_FC_COUNTRY_INCONSIS' );
8820 l_trx_biz_fc_code_not_exists :=fnd_message.get_string('ZX','ZX_TRX_BIZ_FC_CODE_NOT_EXIST' );
8821 l_trx_biz_fc_code_not_effect :=fnd_message.get_string('ZX','ZX_TRX_BIZ_FC_CODE_NOT_EFFECT' );
8822 l_trx_biz_fc_country_inconsis :=fnd_message.get_string('ZX','ZX_TRX_BIZ_FC_COUNTRY_INCONSIS' );
8823 l_intended_use_code_not_exists:=fnd_message.get_string('ZX','ZX_INTENDED_USE_CODE_NOT_EXIST' );
8824 l_intended_use_not_effective :=fnd_message.get_string('ZX','ZX_INTENDED_USE_NOT_EFFECTIVE' );
8825 l_intended_use_contry_inconsis:=fnd_message.get_string('ZX','ZX_INTENDED_USE_COUNTRY_INCON' );
8826 l_prd_type_code_not_exists :=fnd_message.get_string('ZX','ZX_PRODUCT_TYPE_CODE_NOT_EXIST' );
8827 l_prd_type_not_effective :=fnd_message.get_string('ZX','ZX_PRODUCT_TYPE_NOT_EFFECTIVE' );
8828 l_prd_fc_code_not_exists :=fnd_message.get_string('ZX','ZX_PRODUCT_FC_CODE_NOT_EXIST' );
8829 l_party_not_exists :=fnd_message.get_string('ZX','ZX_PARTY_NOT_EXISTS' );
8830 l_ship_to_party_not_exists :=fnd_message.get_string('ZX','ZX_SHIP_TO_PARTY_NOT_EXIST' );
8831 l_ship_frm_party_not_exits :=fnd_message.get_string('ZX','ZX_SHIP_FROM_PARTY_NOT_EXIST' );
8832 l_bill_to_party_not_exists :=fnd_message.get_string('ZX','ZX_BILTO_PARTY_NOT_EXIST' );
8833 l_bill_frm_party_not_exists :=fnd_message.get_string('ZX','ZX_BILFROM_PARTY_NOT_EXIST' );
8834 l_shipto_party_site_not_exists:=fnd_message.get_string('ZX','ZX_SHIPTO_PARTY_SITE_NOT_EXIST' );
8835 l_shipfrm_party_site_not_exits:=fnd_message.get_string('ZX','ZX_SHIPFROM_PARTYSITE_NOTEXIST' );
8836 l_billto_party_site_not_exists:=fnd_message.get_string('ZX','ZX_BILLTO_PARTY_SITE_NOT_EXIST' );
8837 l_billfrm_party_site_not_exist:=fnd_message.get_string('ZX','ZX_BILLFROM_PARTYSITE_NOTEXIST' );
8838 l_tax_multialloc_to_sameln :=fnd_message.get_string('ZX','ZX_TAX_MULTIALLOC_TO_SAMELN' );
8839 l_imptax_multialloc_to_sameln :=fnd_message.get_string('ZX','ZX_IMPTAX_MULTIALLOC_TO_SAMELN' );
8840 l_tax_only_line_multi_allocate:=fnd_message.get_string('ZX','ZX_TAX_ONLY_LINE_MULTI_ALLOCAT' );
8841 l_pseudo_line_has_multi_taxall:=fnd_message.get_string('ZX','ZX_PSEUDO_LINE_HAS_MULTI_TAX' );
8842 l_tax_amt_missing :=fnd_message.get_string('ZX','ZX_TAX_AMT_MISSING' );
8843 l_tax_ln_typ_loc_not_allw_f_ar:=fnd_message.get_string('ZX','ZX_TAX_LN_TYP_LOC_N_ALLW_F_AR' );
8844 l_tax_incl_flag_mismatch :=fnd_message.get_string('ZX','ZX_TAX_INCL_FLAG_MISMATCH' );
8845 l_imp_tax_missing_in_appld_frm:=fnd_message.get_string('ZX','ZX_TAX_MISSING_IN_APPLIED_FRM');
8846 l_imp_tax_missing_in_adjust_to:=fnd_message.get_string('ZX','ZX_TAX_MISSING_IN_ADJUSTED_TO');
8847 l_currency_info_reqd :=fnd_message.get_string('ZX','ZX_CURRENCY_INFO_REQD' );
8848 l_line_ctrl_amt_invalid :=fnd_message.get_string('ZX','ZX_LINE_CTRL_AMT_INVALID' );
8849 l_line_ctrl_amt_not_null :=fnd_message.get_string('ZX','ZX_LINE_CTRL_AMT_NOT_NULL' );
8850 l_unit_price_missing :=fnd_message.get_string('ZX','ZX_UNIT_PRICE_REQD' );
8851 l_line_quantity_missing :=fnd_message.get_string('ZX','ZX_TRX_LINE_QUANTITY_REQD' );
8852 l_exemption_ctrl_flag_invalid :=fnd_message.get_string('ZX','ZX_EXEMPTION_CTRL_FLAG_INVALID' );
8853 l_product_type_invalid :=fnd_message.get_string('ZX','ZX_PRODUCT_TYPE_INVALID' );
8854 l_quote_flag_invalid :=fnd_message.get_string('ZX','ZX_QUOTE_FLAG_INVALID' );
8855 l_doc_lvl_recalc_flag_invalid :=fnd_message.get_string('ZX','ZX_DOC_LVL_RECALC_FLAG_INVALID' );
8856 l_tax_line_alloc_flag_invalid :=fnd_message.get_string('ZX','ZX_TAX_LINE_ALLOC_FLAG_INVALID' );
8857 l_inval_tax_lines_for_ctrl_flg:=fnd_message.get_string('ZX','ZX_INVALID_TAX_LINES' );
8858 l_invald_line_for_ctrl_tot_amt:=fnd_message.get_string('ZX','ZX_INVALID_LINE_TAX_AMT' );
8859 l_inval_tax_line_for_alloc_flg:=fnd_message.get_string('ZX','ZX_INVALID_TAX_FOR_ALLOC_FLG' );
8860 l_invalid_tax_only_tax_lines :=fnd_message.get_string('ZX','ZX_INVALID_TAX_ONLY_TAX_LINES' );
8861 l_invalid_tax_line_alloc_flag :=fnd_message.get_string('ZX','ZX_INVALID_TAX_ALLOC_FLAG' );
8862 l_invd_trx_line_id_in_link_gt :=fnd_message.get_string('ZX','ZX_INVALID_TRX_LINE_ID' );
8863 l_invalid_summary_tax_line_id :=fnd_message.get_string('ZX','ZX_INVALID_SUMMARY_TAX_LINE_ID' );
8864 l_regime_not_eff_in_subscrptn :=fnd_message.get_string('ZX','ZX_REGIME_NOT_EFF_IN_SUBSCR' );
8865 l_tax_rate_code_not_exists :=fnd_message.get_string('ZX','ZX_TAX_RATE_CODE_NOT_EXIST' ); -- 4703541
8866 l_tax_rate_id_code_missing :=fnd_message.get_string('ZX','ZX_TAX_RATE_ID_CODE_MISSING' ); -- 4917256
8867 l_imp_tax_rate_amt_mismatch :=fnd_message.get_string('ZX','ZX_IMP_TAX_RATE_AMT_MISMATCH');
8868
8869
8870 END Zx_Validate_Api_Pkg;