[Home] [Help]
PACKAGE BODY: APPS.ZX_TDS_TAX_LINES_POPU_PKG
Source
1 PACKAGE BODY ZX_TDS_TAX_LINES_POPU_PKG AS
2 /* $Header: zxditaxlnpoppkgb.pls 120.100.12020000.3 2013/03/13 06:58:10 ssohal ship $ */
3
4
5 g_current_runtime_level NUMBER;
6 g_level_statement CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
7 g_level_procedure CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
8 g_level_unexpected CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
9
10 -----------------------------------------------------------------------
11 -- PUBLIC PROCEDURE
12 -- cp_tsrm_val_to_zx_lines
13 --
14 -- DESCRIPTION
15 --
16 -- This procedure is called after determine tax applicability process
17 -- It copies TSRM parameter values to TDS global detail tax line structures
18 -- It is one of the entry point to Populate Tax lines process
19 --
20 -- CALLED BY
21 -- ZX_TDS_APPLICABILITY_DETM_PKG
22 --
23
24 PROCEDURE cp_tsrm_val_to_zx_lines(
25 p_trx_line_index IN BINARY_INTEGER,
26 p_begin_index IN BINARY_INTEGER,
27 p_end_index IN BINARY_INTEGER,
28 p_return_status OUT NOCOPY VARCHAR2,
29 p_error_buffer OUT NOCOPY VARCHAR2
30 )
31 IS
32 j BINARY_INTEGER;
33
34 BEGIN
35
36 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
37
38 IF (g_level_statement >= g_current_runtime_level ) THEN
39 FND_LOG.STRING(g_level_statement,
40 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.cp_tsrm_val_to_zx_lines.BEGIN',
41 'ZX_TDS_TAX_LINES_POPU_PKG: cp_tsrm_val_to_zx_lines(+)');
42 END IF;
43
44 --
45 -- init error buffer and return status
46 --
47 p_return_status := FND_API.G_RET_STS_SUCCESS;
48 p_error_buffer := NULL;
49
50 --
51 -- check if begin_index and end_index have values
52 --
53 IF (p_begin_index IS NULL OR p_end_index IS NULL) THEN
54
55 IF (g_level_statement >= g_current_runtime_level ) THEN
56 FND_LOG.STRING(g_level_statement,
57 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.cp_tsrm_val_to_zx_lines.END',
58 'ZX_TDS_TAX_LINES_POPU_PKG: cp_tsrm_val_to_zx_lines(-)'||'Begin index or End index is null');
59
60 END IF;
61 RETURN;
62 END IF;
63
64 --
65 -- get the index to transaction line table
66 --
67 j := p_trx_line_index;
68
69 FOR i IN p_begin_index ..p_end_index LOOP
70
71 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).account_string :=
72 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.account_string(j);
73 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).adjusted_doc_application_id :=
74 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_application_id(j);
75 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).adjusted_doc_entity_code :=
76 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_entity_code(j);
77 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).adjusted_doc_event_class_code :=
78 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_event_class_code(j);
79 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).adjusted_doc_line_id :=
80 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_line_id(j);
81 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).adjusted_doc_trx_level_type :=
82 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_level_type(j);
83 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).adjusted_doc_trx_id :=
84 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_trx_id(j);
85 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).adjusted_doc_date :=
86 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_date(j);
87 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).adjusted_doc_number :=
88 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.adjusted_doc_number(j);
89 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).application_id :=
90 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.application_id(j);
91 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_from_application_id :=
92 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_application_id(j);
93 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_from_entity_code :=
94 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_entity_code(j);
95 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_from_event_class_code :=
96 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_event_class_code(j);
97 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_from_line_id :=
98 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_line_id(j);
99 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_from_trx_level_type :=
100 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_level_type(j);
101 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_from_trx_id :=
102 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_id(j);
103 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_from_trx_number :=
104 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_from_trx_number;
105 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_to_application_id :=
106 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_to_application_id(j);
107 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_to_event_class_code :=
108 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_to_event_class_code(j);
109 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_to_entity_code :=
110 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_to_entity_code(j);
111 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_to_line_id :=
112 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_to_trx_line_id(j);
113 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_to_trx_level_type :=
114 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_to_trx_level_type(j);
115 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_to_trx_id :=
116 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_to_trx_id(j);
117 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).applied_to_trx_number :=
118 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.applied_to_trx_number(j);
119 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_assessable_value :=
120 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.assessable_value(j);
121 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Asset_Flag :=
122 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.Asset_Flag(j);
123 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).asset_number :=
124 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.asset_number(j);
125 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).asset_accum_depreciation :=
126 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.asset_accum_depreciation(j);
127 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).asset_cost :=
128 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.asset_cost(j);
129 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).asset_type :=
130 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.asset_type(j);
131 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).banking_tp_taxpayer_id :=
132 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.banking_tp_taxpayer_id(j);
133 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).batch_source_id :=
134 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.batch_source_id(j);
135 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).batch_source_name :=
136 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.batch_source_name(j);
137 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).bill_from_location_id :=
138 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_location_id(j);
139 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).bill_from_party_tax_prof_id :=
140 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_party_tax_prof_id(j);
141 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).bill_from_site_tax_prof_id :=
142 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_from_site_tax_prof_id(j);
143 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).bill_to_location_id :=
144 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_location_id(j);
145 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).bill_to_party_tax_prof_id :=
146 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_party_tax_prof_id(j);
147 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).bill_to_site_tax_prof_id :=
148 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.bill_to_site_tax_prof_id(j);
149 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).billing_tp_taxpayer_id :=
150 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.billing_tp_taxpayer_id(j);
151 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Billing_Tp_Tax_Reporting_Flag :=
152 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.Billing_Tp_Tax_Reporting_Flag(j);
153 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).billing_trading_partner_number :=
154 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.billing_trading_partner_number(j);
155 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).billing_trading_partner_name :=
156 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.billing_trading_partner_name(j);
157 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).cash_discount :=
158 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.cash_discount(j);
159 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char1 :=
160 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char1(j);
161 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char2 :=
162 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char2(j);
163 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char3 :=
164 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char3(j);
165 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char4 :=
166 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char4(j);
167 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char5 :=
168 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char5(j);
169 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char6 :=
170 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char6(j);
171 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char7 :=
172 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char7(j);
173 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char8 :=
174 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char8(j);
175 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char9 :=
176 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char9(j);
177 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).char10 :=
178 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.char10(j);
179 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).account_ccid :=
180 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.account_ccid(j);
181 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_date :=
182 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_date(j);
183 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_rate :=
184 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_rate(j);
185 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_type :=
186 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_type(j);
187 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date1 :=
188 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date1(j);
189 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date2 :=
190 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date2(j);
191 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date3 :=
192 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date3(j);
193 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date4 :=
194 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date4(j);
195 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date5 :=
196 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date5(j);
197 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date6 :=
198 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date6(j);
199 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date7 :=
200 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date7(j);
201 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date8 :=
202 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date8(j);
203 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date9 :=
204 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date9(j);
205 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).date10 :=
206 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.date10(j);
207 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).default_taxation_country :=
208 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.default_taxation_country(j);
209 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).doc_event_status :=
210 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.doc_event_status(j);
211 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).doc_seq_id :=
212 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.doc_seq_id(j);
213 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).doc_seq_name :=
214 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.doc_seq_name(j);
215 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).doc_seq_value :=
216 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.doc_seq_value(j);
217 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).document_sub_type :=
218 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.document_sub_type(j);
219 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).entity_code :=
220 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.entity_code(j);
221 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).establishment_id :=
222 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.establishment_id(j);
223 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).event_class_code :=
224 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_class_code(j);
225 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).event_type_code :=
226 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.event_type_code(j);
227 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).exempt_certificate_number :=
228 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.exempt_certificate_number(j);
229 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).fob_point :=
230 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.fob_point(j);
231 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_gl_date :=
232 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_gl_date(j);
233 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Historical_Flag is NULL THEN
234 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Historical_Flag :=
235 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.Historical_Flag(j);
236 END IF;
237 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).hq_estb_party_tax_prof_id :=
238 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.hq_estb_party_tax_prof_id(j);
239 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).insurance_charge :=
240 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.insurance_charge(j);
241 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_intended_use :=
242 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_intended_use(j);
243 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).internal_organization_id :=
244 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_organization_id(j);
245 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).legal_entity_id :=
246 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.legal_entity_id(j);
247 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_amt :=
248 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_amt(j);
249 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).line_level_action :=
250 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_level_action(j);
251 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).minimum_accountable_unit :=
252 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.minimum_accountable_unit(j);
253 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric1 :=
254 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric1(j);
255 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric2 :=
256 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric2(j);
257 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric3 :=
258 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric3(j);
259 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric4 :=
260 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric4(j);
261 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric5 :=
262 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric5(j);
263 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric6 :=
264 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric6(j);
265 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric7 :=
266 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric7(j);
267 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric8 :=
268 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric8(j);
269 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric9 :=
270 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric9(j);
271 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).numeric10 :=
272 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.numeric10(j);
273 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_charge :=
274 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.other_charge(j);
275 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).own_hq_location_id :=
276 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.own_hq_location_id(j);
277 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).own_hq_party_tax_prof_id :=
278 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.own_hq_party_tax_prof_id(j);
279 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).own_hq_site_tax_prof_id :=
280 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.own_hq_site_tax_prof_id(j);
281 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Line_Amt_Includes_Tax_Flag :=
282 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.Line_Amt_Includes_Tax_Flag(j);
283 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).paying_location_id :=
284 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.paying_location_id(j);
285 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).paying_party_tax_prof_id :=
286 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.paying_party_tax_prof_id(j);
287 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).paying_site_tax_prof_id :=
288 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.paying_site_tax_prof_id(j);
289 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poa_location_id :=
290 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_location_id(j);
291 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poa_party_tax_prof_id :=
292 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_party_tax_prof_id(j);
293 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poa_site_tax_prof_id :=
294 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poa_site_tax_prof_id(j);
295 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).pod_party_tax_prof_id :=
296 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.pod_party_tax_prof_id(j);
297 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).pod_site_tax_prof_id :=
298 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.pod_site_tax_prof_id(j);
299 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poi_party_tax_prof_id :=
300 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poi_party_tax_prof_id(j);
301 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poi_site_tax_prof_id :=
302 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poi_site_tax_prof_id(j);
303 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poc_location_id :=
304 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poc_location_id(j);
305 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).pod_location_id :=
306 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.pod_location_id(j);
307 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poi_location_id :=
308 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poi_location_id(j);
309 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poo_location_id :=
310 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_location_id(j);
311 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poo_party_tax_prof_id :=
312 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_party_tax_prof_id(j);
313 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).poo_site_tax_prof_id :=
314 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.poo_site_tax_prof_id(j);
315 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).precision :=
316 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.precision(j);
317 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).product_code :=
318 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_code(j);
319 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).product_description :=
320 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_description(j);
321 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).product_id :=
322 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_id(j);
323 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).product_category :=
324 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_category(j);
325 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).product_fisc_classification :=
326 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_fisc_classification(j);
327 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).product_org_id :=
328 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_org_id(j);
329 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).product_type :=
330 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.product_type(j);
331 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).related_doc_application_id :=
332 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.related_doc_application_id(j);
333 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).related_doc_entity_code :=
334 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.related_doc_entity_code(j);
335 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).related_doc_event_class_code :=
336 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.related_doc_event_class_code(j);
337 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).related_doc_trx_id :=
338 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.related_doc_trx_id(j);
339 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).related_doc_number :=
340 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.related_doc_number(j);
341 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).related_doc_date :=
342 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.related_doc_date(j);
343 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ref_doc_line_quantity :=
344 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_line_quantity(j);
345 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ref_doc_application_id :=
346 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_application_id(j);
347 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ref_doc_entity_code :=
348 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_entity_code(j);
349 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ref_doc_event_class_code :=
350 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_event_class_code(j);
351 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ref_doc_line_id :=
352 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_line_id(j);
353 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ref_doc_trx_level_type :=
354 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_trx_level_type(j);
355 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ref_doc_trx_id :=
356 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ref_doc_trx_id(j);
357 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ledger_id :=
358 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ledger_id(j);
359 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ship_from_location_id :=
360 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_location_id(j);
361 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ship_from_party_tax_prof_id :=
362 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_party_tax_prof_id(j);
363 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ship_from_site_tax_prof_id :=
364 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_from_site_tax_prof_id(j);
365 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ship_to_location_id :=
366 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_location_id(j);
367 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ship_to_party_tax_prof_id :=
368 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_party_tax_prof_id(j);
369 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ship_to_site_tax_prof_id :=
370 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ship_to_site_tax_prof_id(j);
371 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).content_owner_id :=
372 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.first_pty_org_id(j); -- subscriber_id(j): bug fix 3462583
373 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).supplier_tax_invoice_number :=
374 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.supplier_tax_invoice_number(j);
375 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).supplier_tax_invoice_date :=
376 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.supplier_tax_invoice_date(j);
377 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).supplier_exchange_rate :=
378 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.supplier_exchange_rate(j);
379 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_class_code :=
380 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_event_class_code(j);
381 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_event_type_code :=
382 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_event_type_code(j);
383 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_invoice_date :=
384 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_invoice_date(j);
385 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_invoice_number :=
386 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.tax_invoice_number(j);
387 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).merchant_party_country :=
388 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.merchant_party_country(j);
389 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).merchant_party_document_number :=
390 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.merchant_party_document_number(j);
391 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).merchant_party_name :=
392 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.merchant_party_name(j);
393 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).merchant_party_reference :=
394 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.merchant_party_reference(j);
395 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).merchant_party_tax_prof_id :=
396 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.merchant_party_tax_prof_id(j);
397 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).merchant_party_tax_reg_number :=
398 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.merchant_party_tax_reg_number(j);
399 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).merchant_party_taxpayer_id :=
400 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.merchant_party_taxpayer_id(j);
401 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).title_trans_party_tax_prof_id :=
402 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.title_trans_party_tax_prof_id(j);
403 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).title_trans_site_tax_prof_id :=
404 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.title_trans_site_tax_prof_id(j);
405 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).title_transfer_location_id :=
406 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.title_transfer_location_id(j);
407 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trading_discount :=
408 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trading_discount(j);
409 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trading_hq_location_id :=
410 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trading_hq_location_id(j);
411 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trading_hq_party_tax_prof_id :=
412 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trading_hq_party_tax_prof_id(j);
413 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trading_hq_site_tax_prof_id :=
414 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trading_hq_site_tax_prof_id(j);
415 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_number :=
416 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_number(j);
417 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_currency_code :=
418 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_currency_code(j);
419 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_date :=
420 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_date(j);
421 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_id :=
422 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id(j);
423 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_id_level2 :=
424 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id_level2(j);
425 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_id_level3 :=
426 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id_level3(j);
427 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_id_level4 :=
428 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id_level4(j);
429 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_id_level5 :=
430 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id_level5(j);
431 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_id_level6 :=
432 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_id_level6(j);
433 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type :=
434 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_level_type(j);
435 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_description :=
436 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_description(j);
437 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id :=
438 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_id(j);
439 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_number :=
440 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_number(j);
441 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_type :=
442 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_type(j);
443 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).transfer_charge :=
444 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.transfer_charge(j);
445 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).transportation_charge :=
446 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.transportation_charge(j);
447 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_business_category :=
448 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_business_category(j);
449 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_communicated_date :=
450 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_communicated_date(j);
451 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_description :=
452 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_description(j);
453 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_doc_revision :=
454 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_doc_revision(j);
455 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_due_date :=
456 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_due_date(j);
457 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_date :=
458 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_date(j);
459 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_quantity :=
460 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_quantity(j);
461 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_receipt_date :=
462 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_receipt_date(j);
463 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_shipping_date :=
464 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_shipping_date(j);
465 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_sic_code :=
466 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_sic_code(j);
467 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_type_description :=
468 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_type_description(j);
469 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).receivables_trx_type_id :=
470 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.receivables_trx_type_id(j);
471 /***********************
472 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_user_key_level1 :=
473 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_trx_user_key1(j);
474 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_user_key_level2 :=
475 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_trx_user_key2(j);
476 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_user_key_level3 :=
477 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_trx_user_key3(j);
478 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_user_key_level4 :=
479 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_trx_user_key4(j);
480 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_user_key_level5 :=
481 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_trx_user_key5(j);
482 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_user_key_level6 :=
483 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.line_trx_user_key6(j);
484 *******************/
485 -- ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_waybill_number :=
486 -- ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_waybill_number(j);
487 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).unit_price :=
488 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.unit_price(j);
489 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).internal_org_location_id :=
490 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.internal_org_location_id(j);
491
492 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ctrl_total_line_tx_amt :=
493 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.ctrl_total_line_tx_amt(j);
494
495 -- bug fix 4630692
496 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_currency_code :=
497 NVL(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_currency_code(j),
498 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_currency_code(j));
499
500 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_currency_code =
501 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_currency_code(j) THEN
502 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_date :=
503 NVL(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_date(j),
504 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_currency_conv_date(j));
505
506 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_rate :=
507 NVL(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_rate(j),
508 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_currency_conv_rate(j));
509
510 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_type :=
511 NVL(ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_type(j),
512 ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.trx_line_currency_conv_type(j));
513 ELSE
514 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_date := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_date(j);
515 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_rate := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_rate(j);
516 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).currency_conversion_type := ZX_GLOBAL_STRUCTURES_PKG.trx_line_dist_tbl.currency_conversion_type(j);
517 END IF;
518
519 END LOOP;
520
521 IF (g_level_statement >= g_current_runtime_level ) THEN
522
523 FND_LOG.STRING(g_level_statement,
524 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.cp_tsrm_val_to_zx_lines.END',
525 'ZX_TDS_TAX_LINES_POPU_PKG: cp_tsrm_val_to_zx_lines(-)'||p_return_status);
526 END IF;
527
528 EXCEPTION
529 WHEN OTHERS THEN
530 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
531 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
532
533 IF (g_level_unexpected >= g_current_runtime_level ) THEN
534 FND_LOG.STRING(g_level_unexpected,
535 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.cp_tsrm_val_to_zx_lines',
536 p_error_buffer);
537 END IF;
538
539 END cp_tsrm_val_to_zx_lines;
540
541 -----------------------------------------------------------------------
542 -- PUBLIC PROCEDURE
543 -- populate_tax_line
544 --
545 -- DESCRIPTION
546 -- This procedure is called before tax lines summarization process
547 -- It is one of the entry point to populate Tax lines process
548 --
549 -- NOTE : currently not use
550
551 PROCEDURE populate_tax_line(
552 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
553 p_tax_line_rec IN OUT NOCOPY ZX_DETAIL_TAX_LINES_GT%ROWTYPE,
554 p_return_status OUT NOCOPY VARCHAR2,
555 p_error_buffer OUT NOCOPY VARCHAR2)
556 IS
557 BEGIN
558
559 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
560
561 IF (g_level_statement >= g_current_runtime_level ) THEN
562 FND_LOG.STRING(g_level_statement,
563 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_tax_lines.BEGIN',
564 'ZX_TDS_TAX_LINES_POPU_PKG: populate_tax_lines(+)');
565 END IF;
566
567 p_return_status := FND_API.G_RET_STS_SUCCESS;
568 p_error_buffer := NULL;
569
570
571 /*
572 * populate orig columns in override case only
573 * and this should be done by UI
574 *
575 *IF ((p_event_class_rec.tax_event_type_code = 'CREATE' AND
576 * p_tax_line_rec.Manually_Entered_Flag = 'N') OR
577 * (p_event_class_rec.tax_event_type_code = 'UPDATE' AND
578 * p_tax_line_rec.line_level_action = 'CREATE') OR
579 * (p_event_class_rec.tax_event_type_code = 'OVERRIDE_TAX' AND
580 * p_tax_line_rec.Manually_Entered_Flag = 'Y') ) THEN
581 * populate_orig_columns(p_tax_line_rec);
582 * END IF;
583 */
584
585 p_tax_line_rec.line_assessable_value := p_tax_line_rec.taxable_amt;
586
587 populate_mandatory_columns(p_tax_line_rec,
588 p_return_status,
589 p_error_buffer);
590
591 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
592 RETURN;
593 END IF;
594
595 check_mandatory_columns(p_tax_line_rec,
596 p_return_status,
597 p_error_buffer);
598
599 IF (g_level_statement >= g_current_runtime_level ) THEN
600
601 FND_LOG.STRING(g_level_statement,
602 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_tax_lines.END',
603 'ZX_TDS_TAX_LINES_POPU_PKG: populate_tax_lines(-)'||p_return_status);
604 END IF;
605
606 EXCEPTION
607 WHEN OTHERS THEN
608 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
609 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
610
611 IF (g_level_unexpected >= g_current_runtime_level ) THEN
612 FND_LOG.STRING(g_level_unexpected,
613 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_tax_line',
614 p_error_buffer);
615 END IF;
616
617 END populate_tax_line;
618
619 -----------------------------------------------------------------------
620 -- PUBLIC PROCEDURE
621 -- populate_orig_columns
622 --
623 -- DESCRIPTION
624 -- This procedure populates original columns for a tax line record
625 --
626 -- NOTE : currently not use
627
628 PROCEDURE populate_orig_columns(
629 p_tax_line_rec IN OUT NOCOPY ZX_DETAIL_TAX_LINES_GT%ROWTYPE)
630
631 IS
632 BEGIN
633
634 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
635
636 IF (g_level_statement >= g_current_runtime_level ) THEN
637 FND_LOG.STRING(g_level_statement,
638 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_orig_columns.BEGIN',
639 'ZX_TDS_TAX_LINES_POPU_PKG: populate_orig_columns(+)');
640 END IF;
641
642 IF p_tax_line_rec.orig_tax_status_id IS NULL THEN
643 p_tax_line_rec.orig_tax_status_id := p_tax_line_rec.tax_status_id;
644 END IF;
645 IF p_tax_line_rec.orig_tax_status_code IS NULL THEN
646 p_tax_line_rec.orig_tax_status_code := p_tax_line_rec.tax_status_code;
647 END IF;
648 IF p_tax_line_rec.orig_tax_rate_id IS NULL THEN
649 p_tax_line_rec.orig_tax_rate_id := p_tax_line_rec.tax_rate_id;
650 END IF;
651 IF p_tax_line_rec.orig_tax_rate_code IS NULL THEN
652 p_tax_line_rec.orig_tax_rate_code := p_tax_line_rec.tax_rate_code;
653 END IF;
654 IF p_tax_line_rec.orig_tax_rate IS NULL THEN
655 p_tax_line_rec.orig_tax_rate := p_tax_line_rec.tax_rate;
656 END IF;
657 IF p_tax_line_rec.orig_taxable_amt IS NULL THEN
658 p_tax_line_rec.orig_taxable_amt := p_tax_line_rec.taxable_amt;
659 END IF;
660 IF p_tax_line_rec.orig_taxable_amt_tax_curr IS NULL THEN
661 p_tax_line_rec.orig_taxable_amt_tax_curr :=
662 p_tax_line_rec.taxable_amt_tax_curr;
663 END IF;
664 IF p_tax_line_rec.orig_tax_amt IS NULL THEN
665 p_tax_line_rec.orig_tax_amt := p_tax_line_rec.tax_amt;
666 END IF;
667 IF p_tax_line_rec.orig_tax_amt_tax_curr IS NULL THEN
668 p_tax_line_rec.orig_tax_amt_tax_curr :=
669 p_tax_line_rec.tax_amt_tax_curr;
670 END IF;
671
672
673 IF (g_level_statement >= g_current_runtime_level ) THEN
674
675 FND_LOG.STRING(g_level_statement,
676 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_orig_columns.END',
677 'ZX_TDS_TAX_LINES_POPU_PKG: populate_orig_columns(-)');
678 END IF;
679
680 EXCEPTION
681 WHEN OTHERS THEN
682
683 IF (g_level_unexpected >= g_current_runtime_level ) THEN
684 FND_LOG.STRING(g_level_unexpected,
685 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_orig_columns',
686 sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80));
687 END IF;
688
689 END populate_orig_columns;
690
691 -----------------------------------------------------------------------
692 -- PUBLIC PROCEDURE
693 -- populate_mandatory_columns
694 --
695 -- DESCRIPTION
696 -- This procedure populates mandatory columns such as tax line id, who
697 -- columns, etc for a tax line record
698 --
699 -- CALLED BY
700 -- ZX_TDS_OFFSET_TAX_DETM_PKG
701
702 PROCEDURE populate_mandatory_columns(
703 p_tax_line_rec IN OUT NOCOPY ZX_DETAIL_TAX_LINES_GT%ROWTYPE,
704 p_return_status OUT NOCOPY VARCHAR2,
705 p_error_buffer OUT NOCOPY VARCHAR2)
706
707 IS
708
709 BEGIN
710
711 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
712
713 IF (g_level_statement >= g_current_runtime_level ) THEN
714 FND_LOG.STRING(g_level_statement,
715 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_mandatory_columns.BEGIN',
716 'ZX_TDS_TAX_LINES_POPU_PKG: populate_mandatory_columns(+)');
717 END IF;
718
719 p_return_status := FND_API.G_RET_STS_SUCCESS;
720
721 --
722 -- populate tax_line_id if it is null
723 --
724 IF p_tax_line_rec.tax_line_id IS NULL THEN
725 SELECT ZX_LINES_S.nextval
726 INTO p_tax_line_rec.tax_line_id
727 FROM dual;
728 END IF;
729
730
731 /******************************************
732 * move to set_detail_tax_line_def_val
733 * in ZX_TDS_CALC_SERVICES_PUB_PKG now
734 *
735 *
736 *
737 * -- populate Record_Type_Code
738 * IF p_tax_line_rec.Record_Type_Code IS NULL THEN
739 * p_tax_line_rec.Record_Type_Code := 'ETAX_CREATED';
740 * END IF;
741 *
742 * -- populate Historical_Flag
743 * IF p_tax_line_rec.Historical_Flag IS NULL THEN
744 * p_tax_line_rec.Historical_Flag := 'N';
745 * END IF;
746 **********************************************/
747
748 -- populate who columns
749
750
751 IF p_tax_line_rec.created_by IS NULL THEN
752 p_tax_line_rec.created_by := fnd_global.user_id;
753 END IF;
754
755 IF p_tax_line_rec.creation_date IS NULL THEN
756 p_tax_line_rec.creation_date := sysdate;
757 END IF;
758
759 p_tax_line_rec.last_updated_by := fnd_global.user_id;
760 p_tax_line_rec.last_update_login := fnd_global.login_id;
761 p_tax_line_rec.last_update_date := sysdate;
762
763 IF (g_level_statement >= g_current_runtime_level ) THEN
764
765 FND_LOG.STRING(g_level_statement,
766 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_mandatory_columns.END',
767 'ZX_TDS_TAX_LINES_POPU_PKG: populate_mandatory_columns(-)'||p_return_status);
768 END IF;
769
770 EXCEPTION
771 WHEN OTHERS THEN
772 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
773 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
774
775 IF (g_level_unexpected >= g_current_runtime_level ) THEN
776 FND_LOG.STRING(g_level_unexpected,
777 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_mandatory_columns',
778 p_error_buffer);
779 END IF;
780
781 END populate_mandatory_columns;
782 -----------------------------------------------------------------------
783 -- PUBLIC PROCEDURE
784 -- check_mandatory_columns
785 --
786 -- DESCRIPTION
787 -- This procedure ensures all mandatory columns are not NULL for a
788 -- tax line record
789 --
790 -- CALLED BY
791 -- populate_tax_lines
792
793 PROCEDURE check_mandatory_columns(
794 p_tax_line_rec IN OUT NOCOPY ZX_DETAIL_TAX_LINES_GT%ROWTYPE,
795 p_return_status OUT NOCOPY VARCHAR2,
796 p_error_buffer OUT NOCOPY VARCHAR2)
797
798 IS
799 BEGIN
800
801 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
802
803 IF (g_level_statement >= g_current_runtime_level ) THEN
804 FND_LOG.STRING(g_level_statement,
805 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns.BEGIN',
806 'ZX_TDS_TAX_LINES_POPU_PKG: check_mandatory_columns(+)');
807 END IF;
808
809 p_return_status := FND_API.G_RET_STS_SUCCESS;
810
811 --
812 -- check mandatory columns for all tax lines
813 --
814 check_mandatory_columns_all(p_tax_line_rec,
815 p_return_status,
816 p_error_buffer);
817 IF (p_return_status = FND_API.G_RET_STS_SUCCESS AND
818 NVL(p_tax_line_rec.Manually_Entered_Flag,'N') = 'N') THEN
819 check_non_manual_tax_line(p_tax_line_rec,
820 p_return_status,
821 p_error_buffer);
822 END IF;
823
824 IF (g_level_statement >= g_current_runtime_level ) THEN
825 FND_LOG.STRING(g_level_statement,
826 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns',
827 'p_return_status = ' || p_return_status);
828 FND_LOG.STRING(g_level_statement,
829 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns',
830 'p_error_buffer = ' || p_error_buffer);
831 FND_LOG.STRING(g_level_statement,
832 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns.END',
833 'ZX_TDS_TAX_LINES_POPU_PKG: check_mandatory_columns(-)');
834 END IF;
835
836 EXCEPTION
837 WHEN OTHERS THEN
838 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
839 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
840
841 IF (g_level_unexpected >= g_current_runtime_level ) THEN
842 FND_LOG.STRING(g_level_unexpected,
843 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns',
844 p_error_buffer);
845 END IF;
846
847 END check_mandatory_columns;
848 -----------------------------------------------------------------------
849 -- PUBLIC PROCEDURE
850 -- check_mandatory_columns_all
851 --
852 -- DESCRIPTION
853 -- This procedure ensures all mandatory columns belonged to a manual and
854 -- non manual tax line are not NULL for a tax line record
855 --
856 -- CALLED BY
857 -- check_mandatory_columns
858
859 PROCEDURE check_mandatory_columns_all(
860 p_tax_line_rec IN OUT NOCOPY ZX_DETAIL_TAX_LINES_GT%ROWTYPE,
861 p_return_status OUT NOCOPY VARCHAR2,
862 p_error_buffer OUT NOCOPY VARCHAR2)
863
864 IS
865 BEGIN
866
867 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
868
869 IF (g_level_statement >= g_current_runtime_level ) THEN
870 FND_LOG.STRING(g_level_statement,
871 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns_all.BEGIN',
872 'ZX_TDS_TAX_LINES_POPU_PKG: check_mandatory_columns_all(+)');
873 END IF;
874
875 p_return_status := FND_API.G_RET_STS_SUCCESS;
876
877 IF p_tax_line_rec.application_id IS NULL THEN
878 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
879 p_error_buffer := 'application_id can not be NULL';
880 ELSIF p_tax_line_rec.entity_code IS NULL THEN
881 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
882 p_error_buffer := 'entity_code can not be NULL';
883 ELSIF p_tax_line_rec.event_class_code IS NULL THEN
884 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
885 p_error_buffer := 'event_class_code can not be NULL';
886 ELSIF p_tax_line_rec.event_type_code IS NULL THEN
887 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
888 p_error_buffer := 'event_type_code can not be NULL';
889 ELSIF p_tax_line_rec.trx_id IS NULL THEN
890 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
891 p_error_buffer := 'trx_id can not be NULL';
892 ELSIF p_tax_line_rec.trx_line_id IS NULL THEN
893 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
894 p_error_buffer := 'trx_line_id can not be NULL';
895 ELSIF p_tax_line_rec.trx_level_type IS NULL THEN
896 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
897 p_error_buffer := 'trx_level_type can not be NULL';
898
899 -- Bug#4572001- content_owner_id can be NULL
900 -- ELSIF p_tax_line_rec.content_owner_id IS NULL THEN
901 -- p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
902 -- p_error_buffer := 'content_owner_id can not be NULL';
903
904 ELSIF p_tax_line_rec.tax_regime_id IS NULL THEN
905 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
906 p_error_buffer := 'tax_regime_id can not be NULL';
907 ELSIF p_tax_line_rec.tax_regime_code IS NULL THEN
908 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
909 p_error_buffer := 'tax_regime_code can not be NULL';
910 ELSIF p_tax_line_rec.tax_id IS NULL THEN
911 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
912 p_error_buffer := 'tax_id can not be NULL';
913 ELSIF p_tax_line_rec.tax IS NULL THEN
914 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
915 p_error_buffer := 'tax can not be NULL';
916 ELSIF p_tax_line_rec.tax_status_id IS NULL THEN
917 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
918 p_error_buffer := 'tax_status_id can not be NULL';
919 ELSIF p_tax_line_rec.tax_status_code IS NULL THEN
920 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
921 p_error_buffer := 'tax_status_code can not be NULL';
922 END IF;
923
924 IF (g_level_statement >= g_current_runtime_level ) THEN
925 FND_LOG.STRING(g_level_statement,
926 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns_all',
927 'p_return_status = ' || p_return_status);
928 FND_LOG.STRING(g_level_statement,
929 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns_all',
930 'p_error_buffer = ' || p_error_buffer);
931 FND_LOG.STRING(g_level_statement,
932 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns_all.END',
933 'ZX_TDS_TAX_LINES_POPU_PKG: check_mandatory_columns_all(-)');
934 END IF;
935
936 EXCEPTION
937 WHEN OTHERS THEN
938 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
939 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
940
941 IF (g_level_unexpected >= g_current_runtime_level ) THEN
942 FND_LOG.STRING(g_level_unexpected,
943 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_mandatory_columns_all',
944 p_error_buffer);
945 END IF;
946
947 END check_mandatory_columns_all;
948
949 -----------------------------------------------------------------------
950 -- PUBLIC PROCEDURE
951 -- check_non_manual_tax_line
952 --
953 -- DESCRIPTION
954 -- This procedure ensures all mandatory columns belonged to a
955 -- non manually entered tax line are not NULL for a tax line record
956 --
957 -- CALLED BY
958 -- check_mandatory_columns
959
960
961 PROCEDURE check_non_manual_tax_line(
962 p_tax_line_rec IN OUT NOCOPY ZX_DETAIL_TAX_LINES_GT%ROWTYPE,
963 p_return_status OUT NOCOPY VARCHAR2,
964 p_error_buffer OUT NOCOPY VARCHAR2)
965
966 IS
967 BEGIN
968
969 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
970
971 IF (g_level_statement >= g_current_runtime_level ) THEN
972 FND_LOG.STRING(g_level_statement,
973 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_non_manual_tax_line.BEGIN',
974 'ZX_TDS_TAX_LINES_POPU_PKG: check_non_manual_tax_line(+)');
975 END IF;
976
977 p_return_status := FND_API.G_RET_STS_SUCCESS;
978
979 IF p_tax_line_rec.trx_date IS NULL THEN
980 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
981 p_error_buffer := 'trx_date can not be NULL';
982 --ELSIF p_tax_line_rec.trx_line_date IS NULL THEN
983 -- p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
984 -- p_error_buffer := 'trx_line_date can not be NULL';
985 ELSIF p_tax_line_rec.ledger_id IS NULL THEN
986 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
987 p_error_buffer := 'ledger_id can not be NULL';
988
989 /* comment out only for AP uptake testing purpose. Change to reversed later. chku
990 ELSIF p_tax_line_rec.establishment_id IS NULL THEN
991 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
992 p_error_buffer := 'establishment_id can not be NULL';
993 */
994 ELSIF p_tax_line_rec.legal_entity_id IS NULL THEN
995 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
996 p_error_buffer := 'legal_entity_id can not be NULL';
997 ELSIF p_tax_line_rec.tax_rate_id IS NULL THEN
998 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
999 p_error_buffer := 'tax_rate_id can not be NULL';
1000 ELSIF p_tax_line_rec.tax_rate_code IS NULL THEN
1001 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1002 p_error_buffer := 'tax_rate_code can not be NULL';
1003 ELSIF p_tax_line_rec.tax_rate IS NULL THEN
1004 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1005 p_error_buffer := 'tax_rate can not be NULL';
1006
1007 /* comment out only for AP uptake testing purpose. Change to reversed later. chku
1008 ELSIF p_tax_line_rec.tax_apportionment_line_number IS NULL THEN
1009 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1010 p_error_buffer := 'tax_apportionment_line_number can not be NULL';
1011 */
1012 ELSIF p_tax_line_rec.tax_date IS NULL THEN
1013 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1014 p_error_buffer := 'tax_date can not be NULL';
1015 ELSIF p_tax_line_rec.tax_determine_date IS NULL THEN
1016 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1017 p_error_buffer := 'tax_determine_date can not be NULL';
1018 ELSIF p_tax_line_rec.tax_point_date IS NULL THEN
1019 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1020 p_error_buffer := 'tax_point_date can not be NULL';
1021
1022 END IF;
1023
1024 IF (g_level_statement >= g_current_runtime_level ) THEN
1025 FND_LOG.STRING(g_level_statement,
1026 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_non_manual_tax_line',
1027 'p_return_status = ' || p_return_status);
1028 FND_LOG.STRING(g_level_statement,
1029 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_non_manual_tax_line',
1030 'p_error_buffer = ' || p_error_buffer);
1031 FND_LOG.STRING(g_level_statement,
1032 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_non_manual_tax_line.END',
1033 'ZX_TDS_TAX_LINES_POPU_PKG: check_non_manual_tax_line(-)');
1034 END IF;
1035
1036 EXCEPTION
1037 WHEN OTHERS THEN
1038 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1039 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1040
1041 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1042 FND_LOG.STRING(g_level_unexpected,
1043 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.check_non_manual_tax_line',
1044 p_error_buffer);
1045 END IF;
1046
1047 END check_non_manual_tax_line;
1048
1049 -----------------------------------------------------------------------
1050 -- PUBLIC PROCEDURE
1051 -- pop_tax_line_for_trx_line
1052 --
1053 -- DESCRIPTION
1054 -- This procedure is called after tax calculation is done for
1055 -- all tax lines belonged to a transaction line. It populates
1056 -- missing columns and ensures all mandatory columns are not
1057 -- NULL for each tax line belonged to a transaction line.
1058 -- It is one of the entry point to populate Tax lines process
1059 --
1060 -- CALLED BY
1061 -- ZX_TDS_CALC_SERVICES_PUB_PKG
1062
1063
1064 PROCEDURE pop_tax_line_for_trx_line(
1065 p_begin_index IN BINARY_INTEGER,
1066 p_end_index IN BINARY_INTEGER,
1067 p_return_status OUT NOCOPY VARCHAR2,
1068 p_error_buffer OUT NOCOPY VARCHAR2)
1069 IS
1070
1071 BEGIN
1072
1073 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1074
1075 IF (g_level_statement >= g_current_runtime_level ) THEN
1076 FND_LOG.STRING(g_level_statement,
1077 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_tax_line_for_trx_line.BEGIN',
1078 'ZX_TDS_TAX_LINES_POPU_PKG: pop_tax_line_for_trx_line(+)');
1079 FND_LOG.STRING(g_level_statement,
1080 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_tax_line_for_trx_line',
1081 'p_begin_index = ' || to_char(p_begin_index));
1082 FND_LOG.STRING(g_level_statement,
1083 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_tax_line_for_trx_line',
1084 'p_end_index = ' || to_char(p_end_index));
1085 END IF;
1086
1087 p_return_status := FND_API.G_RET_STS_SUCCESS;
1088 p_error_buffer := NULL;
1089
1090 --
1091 -- check if begin_index and end_index have values
1092 --
1093 IF (p_begin_index IS NULL OR p_end_index IS NULL) THEN
1094
1095 IF (g_level_statement >= g_current_runtime_level ) THEN
1096 FND_LOG.STRING(g_level_statement,
1097 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_tax_line_for_trx_line',
1098 'Begin index or End index is null' );
1099 END IF;
1100
1101 RETURN;
1102 END IF;
1103
1104 pop_mandatory_col_for_trx_line(
1105 p_begin_index,
1106 p_end_index,
1107 p_return_status,
1108 p_error_buffer);
1109
1110 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1111 RETURN;
1112 END IF;
1113
1114 chk_mandatory_col_for_trx_line(
1115 p_begin_index,
1116 p_end_index,
1117 p_return_status,
1118 p_error_buffer);
1119
1120 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1121 RETURN;
1122 END IF;
1123
1124 IF (g_level_statement >= g_current_runtime_level ) THEN
1125 FND_LOG.STRING(g_level_statement,
1126 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_tax_line_for_trx_lines',
1127 'p_return_status = ' || p_return_status);
1128 FND_LOG.STRING(g_level_statement,
1129 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_tax_line_for_trx_lines',
1130 'p_error_buffer = ' || p_error_buffer);
1131 FND_LOG.STRING(g_level_statement,
1132 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_tax_line_for_trx_lines.END',
1133 'ZX_TDS_TAX_LINES_POPU_PKG: pop_tax_line_for_trx_lines(-)');
1134 END IF;
1135
1136 EXCEPTION
1137 WHEN OTHERS THEN
1138 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1139 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1140
1141 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1142 FND_LOG.STRING(g_level_unexpected,
1143 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_tax_line_for_trx_line',
1144 p_error_buffer);
1145 END IF;
1146
1147 END pop_tax_line_for_trx_line;
1148
1149 -----------------------------------------------------------------------
1150 -- PUBLIC PROCEDURE
1151 -- pop_mandatory_col_for_trx_line
1152 --
1153 -- DESCRIPTION
1154 -- This procedure populates mandatory columns such as tax line id, who
1155 -- columns, etc for all tax lines belonged to a transaction line
1156 --
1157 -- CALLED BY
1158 -- pop_tax_line_for_trx_lines
1159
1160 PROCEDURE pop_mandatory_col_for_trx_line(
1161 p_begin_index IN BINARY_INTEGER,
1162 p_end_index IN BINARY_INTEGER,
1163 p_return_status OUT NOCOPY VARCHAR2,
1164 p_error_buffer OUT NOCOPY VARCHAR2)
1165 IS
1166
1167 --bug8517610
1168 l_process_offset_flag VARCHAR2(1);
1169
1170 BEGIN
1171
1172 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1173
1174 IF (g_level_statement >= g_current_runtime_level ) THEN
1175 FND_LOG.STRING(g_level_statement,
1176 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line.BEGIN',
1177 'ZX_TDS_TAX_LINES_POPU_PKG: pop_mandatory_col_for_trx_line(+)');
1178 FND_LOG.STRING(g_level_statement,
1179 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1180 'p_begin_index = ' || to_char(p_begin_index));
1181 FND_LOG.STRING(g_level_statement,
1182 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1183 'p_end_index = ' || to_char(p_end_index));
1184 END IF;
1185
1186 p_return_status := FND_API.G_RET_STS_SUCCESS;
1187
1188 --bug8517610
1189 l_process_offset_flag := 'N';
1190
1191 --
1192 -- check if begin_index and end_index have values
1193 --
1194 IF (p_begin_index IS NULL OR p_end_index IS NULL) THEN
1195
1196 IF (g_level_statement >= g_current_runtime_level ) THEN
1197 FND_LOG.STRING(g_level_statement,
1198 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1199 'Begin index or End index is null' );
1200 END IF;
1201
1202 RETURN;
1203 END IF;
1204
1205 FOR i IN p_begin_index ..p_end_index LOOP
1206
1207 IF (g_level_statement >= g_current_runtime_level ) THEN
1208 FND_LOG.STRING(g_level_statement,
1209 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1210 'Processing detail line index = ' || to_char(i));
1211 END IF;
1212
1213 --
1214 -- populate tax_line_id if it is null
1215 --
1216 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_line_id IS NULL THEN
1217 SELECT ZX_LINES_S.nextval
1218 INTO ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_line_id
1219 FROM dual;
1220 END IF;
1221
1222 /*************************************
1223 * -- populate assessable_value
1224 * ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).assessable_value :=
1225 * ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).taxable_amt;
1226 *
1227 * -- populate Record_Type_Code
1228 * IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Record_Type_Code IS NULL THEN
1229 * ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Record_Type_Code :=
1230 * 'ETAX_CREATED';
1231 * END IF;
1232 *
1233 * -- populate Historical_Flag
1234 * IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Historical_Flag IS NULL THEN
1235 * ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Historical_Flag := 'N';
1236 * END IF;
1237 *
1238 ***************************************/
1239
1240 -- populate who columns
1241
1242 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).created_by IS NULL THEN
1243 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).created_by :=
1244 fnd_global.user_id;
1245 END IF;
1246
1247 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).creation_date IS NULL THEN
1248 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).creation_date :=
1249 sysdate;
1250 END IF;
1251
1252 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_updated_by :=
1253 fnd_global.user_id;
1254 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_update_login :=
1255 fnd_global.login_id;
1256 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).last_update_date :=
1257 sysdate;
1258
1259 --bug8517610
1260
1261 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).offset_tax_rate_code IS NOT NULL AND
1262 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source IN ('APPLIED_FROM','ADJUSTED') -- Changed for Bug#16418291
1263 THEN
1264 l_process_offset_flag := 'Y';
1265 END IF;
1266
1267 IF (g_level_statement >= g_current_runtime_level ) THEN
1268 FND_LOG.STRING(g_level_statement,
1269 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1270 'Tax_Line_Id = ' ||
1271 to_char(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_line_id));
1272 END IF;
1273
1274 END LOOP;
1275
1276
1277 --bug8517610
1278 IF l_process_offset_flag = 'Y' THEN
1279 IF (g_level_statement >= g_current_runtime_level ) THEN
1280 FND_LOG.STRING(g_level_statement,
1281 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1282 'Setting Offset_Link_To_Tax_Line_Id');
1283 END IF;
1284
1285 FOR i IN p_begin_index ..p_end_index LOOP
1286 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).offset_tax_rate_code IS NOT NULL AND
1287 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).other_doc_source IN ('APPLIED_FROM','ADJUSTED') -- Changed for Bug#16418291
1288 THEN
1289
1290 FOR j IN p_begin_index ..p_end_index LOOP
1291 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(j).tax_rate_code =
1292 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).offset_tax_rate_code AND
1293 NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(j).tax_apportionment_line_number,1) =
1294 NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_apportionment_line_number,1)
1295 THEN
1296 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(j).offset_link_to_tax_line_id :=
1297 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_line_id;
1298
1299 IF (g_level_statement >= g_current_runtime_level ) THEN
1300 FND_LOG.STRING(g_level_statement,
1301 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1302 'Tax_Line_Id '||
1303 TO_CHAR(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(j).tax_line_id)||
1304 ' has Offset_Link_To_Tax_Line_Id '||
1305 TO_CHAR(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(j).offset_link_to_tax_line_id));
1306 END IF;
1307
1308 END IF;
1309 END LOOP;
1310
1311 END IF;
1312 END LOOP;
1313
1314 END IF;
1315
1316 IF (g_level_statement >= g_current_runtime_level ) THEN
1317 FND_LOG.STRING(g_level_statement,
1318 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1319 'p_return_status = ' || p_return_status);
1320 FND_LOG.STRING(g_level_statement,
1321 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1322 'p_error_buffer = ' || p_error_buffer);
1323 FND_LOG.STRING(g_level_statement,
1324 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line.END',
1325 'ZX_TDS_TAX_LINES_POPU_PKG: pop_mandatory_col_for_trx_line(-)');
1326 END IF;
1327
1328 EXCEPTION
1329 WHEN OTHERS THEN
1330 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1331 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1332
1333 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1334 FND_LOG.STRING(g_level_unexpected,
1335 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.pop_mandatory_col_for_trx_line',
1336 p_error_buffer);
1337 END IF;
1338
1339 END pop_mandatory_col_for_trx_line;
1340
1341 -----------------------------------------------------------------------
1342 -- PUBLIC PROCEDURE
1343 -- chk_mandatory_col_for_trx_line
1344 --
1345 -- DESCRIPTION
1346 -- This procedure ensures all mandatory columns are not NULL
1347 -- for each tax lines belonged to a transaction line
1348 --
1349 -- CALLED BY
1350 -- pop_tax_line_for_trx_lines
1351
1352
1353 PROCEDURE chk_mandatory_col_for_trx_line(
1354 p_begin_index IN BINARY_INTEGER,
1355 p_end_index IN BINARY_INTEGER,
1356 p_return_status OUT NOCOPY VARCHAR2,
1357 p_error_buffer OUT NOCOPY VARCHAR2)
1358
1359 IS
1360 BEGIN
1361
1362 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1363
1364 IF (g_level_statement >= g_current_runtime_level ) THEN
1365 FND_LOG.STRING(g_level_statement,
1366 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mandatory_col_for_trx_line.BEGIN',
1367 'ZX_TDS_TAX_LINES_POPU_PKG: chk_mandatory_col_for_trx_line(+)');
1368 FND_LOG.STRING(g_level_statement,
1369 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mandatory_col_for_trx_line',
1370 'p_begin_index = ' || to_char(p_begin_index));
1371 FND_LOG.STRING(g_level_statement,
1372 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mandatory_col_for_trx_line',
1373 'p_end_index = ' || to_char(p_end_index));
1374 END IF;
1375
1376 p_return_status := FND_API.G_RET_STS_SUCCESS;
1377
1378 --
1379 -- check if begin_index and end_index have values
1380 --
1381 IF (p_begin_index IS NULL OR p_end_index IS NULL) THEN
1382
1383 IF (g_level_statement >= g_current_runtime_level ) THEN
1384 FND_LOG.STRING(g_level_statement,
1385 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mandatory_col_for_trx_line',
1386 'Begin index or End index is null' );
1387 END IF;
1388
1389 RETURN;
1390 END IF;
1391
1392 --
1393 -- check mandatory columns for all tax lines
1394 --
1395 chk_mand_col_all_for_trx_line(
1396 p_begin_index,
1397 p_end_index,
1398 p_return_status,
1399 p_error_buffer);
1400
1401 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1402 RETURN;
1403 END IF;
1404
1405 --
1406 -- check mandatory columns applied to non
1407 -- manually entered tax lines only
1408 --
1409 chk_non_manual_line_f_trx_line(
1410 p_begin_index,
1411 p_end_index,
1412 p_return_status,
1413 p_error_buffer);
1414 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1415 RETURN;
1416 END IF;
1417
1418 IF (g_level_statement >= g_current_runtime_level ) THEN
1419 FND_LOG.STRING(g_level_statement,
1420 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mandatory_col_for_trx_line',
1421 'p_return_status = ' || p_return_status);
1422 FND_LOG.STRING(g_level_statement,
1423 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mandatory_col_for_trx_line',
1424 'p_error_buffer = ' || p_error_buffer);
1425 FND_LOG.STRING(g_level_statement,
1426 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mandatory_col_for_trx_line.END',
1427 'ZX_TDS_TAX_LINES_POPU_PKG: chk_mandatory_col_for_trx_line(-)');
1428 END IF;
1429
1430 EXCEPTION
1431 WHEN OTHERS THEN
1432 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1433 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1434
1435 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1436 FND_LOG.STRING(g_level_unexpected,
1437 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mandatory_col_for_trx_line',
1438 p_error_buffer);
1439 END IF;
1440
1441 END chk_mandatory_col_for_trx_line;
1442 -----------------------------------------------------------------------
1443 -- PUBLIC PROCEDURE
1444 -- chk_mand_col_all_for_trx_line
1445 --
1446 -- DESCRIPTION
1447 -- This procedure ensures all mandatory columns of a manual or non
1448 -- manual tax line are not NULL for each tax line belonged to
1449 -- a transaction line
1450 --
1451 -- CALLED BY
1452 -- chk_mandatory_col_for_trx_line
1453
1454 PROCEDURE chk_mand_col_all_for_trx_line(
1455 p_begin_index IN BINARY_INTEGER,
1456 p_end_index IN BINARY_INTEGER,
1457 p_return_status OUT NOCOPY VARCHAR2,
1458 p_error_buffer OUT NOCOPY VARCHAR2)
1459 IS
1460 BEGIN
1461
1462 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1463
1464 IF (g_level_statement >= g_current_runtime_level ) THEN
1465 FND_LOG.STRING(g_level_statement,
1466 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line.BEGIN',
1467 'ZX_TDS_TAX_LINES_POPU_PKG: chk_mand_col_all_for_trx_line(+)');
1468 FND_LOG.STRING(g_level_statement,
1469 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line',
1470 'p_begin_index = ' || to_char(p_begin_index));
1471 FND_LOG.STRING(g_level_statement,
1472 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line',
1473 'p_end_index = ' || to_char(p_end_index));
1474 END IF;
1475
1476 p_return_status := FND_API.G_RET_STS_SUCCESS;
1477
1478 --
1479 -- check if begin_index and end_index have values
1480 --
1481 IF (p_begin_index IS NULL OR p_end_index IS NULL) THEN
1482
1483 IF (g_level_statement >= g_current_runtime_level ) THEN
1484 FND_LOG.STRING(g_level_statement,
1485 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line',
1486 'Begin index or End index is null' );
1487 END IF;
1488
1489 RETURN;
1490 END IF;
1491
1492 FOR i IN p_begin_index ..p_end_index LOOP
1493
1494 IF (g_level_statement >= g_current_runtime_level ) THEN
1495 FND_LOG.STRING(g_level_statement,
1496 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line',
1497 'processing detail line index = ' || to_char(i));
1498 END IF;
1499
1500 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).application_id IS NULL THEN
1501 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1502 p_error_buffer := 'application_id can not be NULL';
1503 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).entity_code IS NULL THEN
1504 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1505 p_error_buffer := 'entity_code can not be NULL';
1506 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).event_class_code IS NULL THEN
1507 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1508 p_error_buffer := 'event_class_code can not be NULL';
1509 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).event_type_code IS NULL THEN
1510 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1511 p_error_buffer := 'event_type_code can not be NULL';
1512 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_id IS NULL THEN
1513 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1514 p_error_buffer := 'trx_id can not be NULL';
1515 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_id IS NULL THEN
1516 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1517 p_error_buffer := 'trx_line_id can not be NULL';
1518 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_level_type IS NULL THEN
1519 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1520 p_error_buffer := 'trx_level_type can not be NULL';
1521 /*
1522 -- Bug#4572001- content_owner_id can be NULL
1523 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).content_owner_id IS NULL THEN
1524 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1525 p_error_buffer := 'content_owner_id can not be NULL';
1526 */
1527 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_id IS NULL THEN
1528 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1529 p_error_buffer := 'tax_regime_id can not be NULL';
1530 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_regime_code IS NULL THEN
1531 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1532 p_error_buffer := 'tax_regime_code can not be NULL';
1533 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_id IS NULL THEN
1534 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1535 p_error_buffer := 'tax_id can not be NULL';
1536 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax IS NULL THEN
1537 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1538 p_error_buffer := 'tax can not be NULL';
1539 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_id IS NULL THEN
1540 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1541 p_error_buffer := 'tax_status_id can not be NULL';
1542 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_status_code IS NULL THEN
1543 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1544 p_error_buffer := 'tax_status_code can not be NULL';
1545 END IF;
1546
1547 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1548 EXIT;
1549 END IF;
1550
1551 END LOOP;
1552
1553 IF (g_level_statement >= g_current_runtime_level ) THEN
1554 FND_LOG.STRING(g_level_statement,
1555 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line',
1556 'p_return_status = ' || p_return_status);
1557 FND_LOG.STRING(g_level_statement,
1558 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line',
1559 'p_error_buffer = ' || p_error_buffer);
1560 FND_LOG.STRING(g_level_statement,
1561 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line.END',
1562 'ZX_TDS_TAX_LINES_POPU_PKG: chk_mand_col_all_for_trx_line(-)');
1563 END IF;
1564
1565 EXCEPTION
1566 WHEN OTHERS THEN
1567 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1568 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1569
1570 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1571 FND_LOG.STRING(g_level_unexpected,
1572 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_mand_col_all_for_trx_line',
1573 p_error_buffer);
1574 END IF;
1575
1576 END chk_mand_col_all_for_trx_line;
1577
1578 -----------------------------------------------------------------------
1579 -- PUBLIC PROCEDURE
1580 -- chk_non_manual_line_f_trx_line
1581 --
1582 -- DESCRIPTION
1583 -- This procedure ensures all mandatory columns of a non manually
1584 -- entered tax line are not NULL for each tax lines belonged to
1585 -- a transaction line
1586 --
1587 -- CALLED BY
1588 -- chk_mandatory_col_for_trx_line
1589
1590
1591 PROCEDURE chk_non_manual_line_f_trx_line(
1592 p_begin_index IN BINARY_INTEGER,
1593 p_end_index IN BINARY_INTEGER,
1594 p_return_status OUT NOCOPY VARCHAR2,
1595 p_error_buffer OUT NOCOPY VARCHAR2)
1596 IS
1597 BEGIN
1598
1599 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1600
1601 IF (g_level_statement >= g_current_runtime_level ) THEN
1602 FND_LOG.STRING(g_level_statement,
1603 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line.BEGIN',
1604 'ZX_TDS_TAX_LINES_POPU_PKG: chk_non_manual_line_f_trx_line(+)');
1605 FND_LOG.STRING(g_level_statement,
1606 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line',
1607 'p_begin_index = ' || to_char(p_begin_index));
1608 FND_LOG.STRING(g_level_statement,
1609 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line',
1610 'p_end_index = ' || to_char(p_end_index));
1611 END IF;
1612
1613 p_return_status := FND_API.G_RET_STS_SUCCESS;
1614
1615 --
1616 -- check if begin_index and end_index have values
1617 --
1618 IF (p_begin_index IS NULL OR p_end_index IS NULL) THEN
1619
1620 IF (g_level_statement >= g_current_runtime_level ) THEN
1621 FND_LOG.STRING(g_level_statement,
1622 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line',
1623 'Begin index or End index is null' );
1624 END IF;
1625
1626 RETURN;
1627 END IF;
1628
1629 FOR i IN p_begin_index ..p_end_index LOOP
1630
1631 IF (g_level_statement >= g_current_runtime_level ) THEN
1632 FND_LOG.STRING(g_level_statement,
1633 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line',
1634 'processing detail line index = ' || to_char(i));
1635 END IF;
1636
1637 IF (NVL(ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).Manually_Entered_Flag,'N') = 'N') THEN
1638
1639 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_date IS NULL THEN
1640 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1641 p_error_buffer := 'trx_date can not be NULL';
1642 -- ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).trx_line_date IS NULL THEN
1643 -- p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1644 -- p_error_buffer := 'trx_line_date can not be NULL';
1645 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).ledger_id IS NULL THEN
1646 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1647 p_error_buffer := 'ledger_id can not be NULL';
1648
1649 /* comment out only for AP uptake testing purpose. Change to reversed later. chku
1650 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).establishment_id IS NULL THEN
1651 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1652 p_error_buffer := 'establishment_id can not be NULL';
1653 */
1654 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).legal_entity_id IS NULL THEN
1655 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1656 p_error_buffer := 'legal_entity_id can not be NULL';
1657 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_id IS NULL THEN
1658 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1659 p_error_buffer := 'tax_rate_id can not be NULL';
1660 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate_code IS NULL THEN
1661 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1662 p_error_buffer := 'tax_rate_code can not be NULL';
1663 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_rate IS NULL THEN
1664 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1665 p_error_buffer := 'tax_rate can not be NULL';
1666
1667 /* comment out only for AP uptake testing purpose. Change to reversed later. chku
1668 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_apportionment_line_number IS NULL THEN
1669 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1670 p_error_buffer := 'tax_apportionment_line_number can not be NULL';
1671 */
1672 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_date IS NULL THEN
1673 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1674 p_error_buffer := 'tax_date can not be NULL';
1675 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_determine_date IS NULL THEN
1676 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1677 p_error_buffer := 'tax_determine_date can not be NULL';
1678 ELSIF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).tax_point_date IS NULL THEN
1679 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1680 p_error_buffer := 'tax_point_date can not be NULL';
1681 END IF;
1682
1683 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1684 EXIT;
1685 END IF;
1686 END IF; -- non manual tax line
1687 END LOOP;
1688
1689 IF (g_level_statement >= g_current_runtime_level ) THEN
1690 FND_LOG.STRING(g_level_statement,
1691 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line',
1692 'p_return_status = ' || p_return_status);
1693 FND_LOG.STRING(g_level_statement,
1694 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line',
1695 'p_error_buffer = ' || p_error_buffer);
1696 FND_LOG.STRING(g_level_statement,
1697 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line.END',
1698 'ZX_TDS_TAX_LINES_POPU_PKG: chk_non_manual_line_f_trx_line(-)');
1699 END IF;
1700
1701 EXCEPTION
1702 WHEN OTHERS THEN
1703 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1704 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
1705
1706 IF (g_level_unexpected >= g_current_runtime_level ) THEN
1707 FND_LOG.STRING(g_level_unexpected,
1708 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.chk_non_manual_line_f_trx_line',
1709 p_error_buffer);
1710 END IF;
1711
1712 END chk_non_manual_line_f_trx_line;
1713
1714
1715 -----------------------------------------------------------------------
1716 -- PUBLIC PROCEDURE
1717 -- process_cancel_tax_lines
1718 --
1719 -- DESCRIPTION
1720 -- This procedure brings all canceled tax lines from zx_lines into
1721 -- detail tax lines global temp table and marks them as cancel
1722 --
1723 -- CALLED BY
1724 -- ZX_TDS_TAX_LINES_DETM_PKG
1725
1726 PROCEDURE process_cancel_tax_lines(
1727 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
1728 p_return_status OUT NOCOPY VARCHAR2,
1729 p_error_buffer OUT NOCOPY VARCHAR2)
1730
1731 IS
1732 BEGIN
1733
1734 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1735
1736 IF (g_level_procedure >= g_current_runtime_level ) THEN
1737 FND_LOG.STRING(g_level_procedure,
1738 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_tax_lines.BEGIN',
1739 'ZX_TDS_TAX_LINES_POPU_PKG: process_cancel_tax_lines(+)');
1740 END IF;
1741
1742 p_return_status := FND_API.G_RET_STS_SUCCESS;
1743
1744 -- bug 8470599 forcing the driving table in select clause from zx_lines_det_factors
1745 INSERT INTO zx_detail_tax_lines_gt
1746 ( tax_line_id,
1747 internal_organization_id,
1748 application_id,
1749 entity_code,
1750 event_class_code,
1751 event_type_code,
1752 trx_id,
1753 trx_line_id,
1754 trx_level_type,
1755 trx_line_number,
1756 doc_event_status,
1757 -- line_event_status,
1758 tax_event_class_code,
1759 tax_event_type_code,
1760 tax_line_number,
1761 content_owner_id,
1762 tax_regime_id,
1763 tax_regime_code,
1764 tax_id,
1765 tax,
1766 tax_status_id,
1767 tax_status_code,
1768 tax_rate_id,
1769 tax_rate_code,
1770 tax_rate,
1771 tax_apportionment_line_number,
1772 trx_id_level2,
1773 trx_id_level3,
1774 trx_id_level4,
1775 trx_id_level5,
1776 trx_id_level6,
1777 trx_user_key_level1,
1778 trx_user_key_level2,
1779 trx_user_key_level3,
1780 trx_user_key_level4,
1781 trx_user_key_level5,
1782 trx_user_key_level6,
1783 mrc_tax_line_flag,
1784 ledger_id,
1785 establishment_id,
1786 legal_entity_id,
1787 legal_entity_tax_reg_number,
1788 hq_estb_reg_number,
1789 hq_estb_party_tax_prof_id,
1790 currency_conversion_date,
1791 currency_conversion_type,
1792 currency_conversion_rate,
1793 tax_currency_conversion_date,
1794 tax_currency_conversion_type,
1795 tax_currency_conversion_rate,
1796 trx_currency_code,
1797 minimum_accountable_unit,
1798 precision,
1799 trx_number,
1800 trx_date,
1801 unit_price,
1802 line_amt,
1803 trx_line_quantity,
1804 tax_base_modifier_rate,
1805 ref_doc_application_id,
1806 ref_doc_entity_code,
1807 ref_doc_event_class_code,
1808 ref_doc_trx_id,
1809 ref_doc_line_id,
1810 ref_doc_line_quantity,
1811 other_doc_line_amt,
1812 other_doc_line_tax_amt,
1813 other_doc_line_taxable_amt,
1814 unrounded_taxable_amt,
1815 unrounded_tax_amt,
1816 related_doc_application_id,
1817 related_doc_entity_code,
1818 related_doc_event_class_code,
1819 related_doc_trx_id,
1820 related_doc_number,
1821 related_doc_date,
1822 applied_from_application_id,
1823 applied_from_event_class_code,
1824 applied_from_entity_code,
1825 applied_from_trx_id,
1826 applied_from_line_id,
1827 applied_from_trx_level_type,
1828 applied_from_trx_number,
1829 adjusted_doc_application_id,
1830 adjusted_doc_entity_code,
1831 adjusted_doc_event_class_code,
1832 adjusted_doc_trx_id,
1833 adjusted_doc_line_id,
1834 adjusted_doc_trx_level_type,
1835 adjusted_doc_number,
1836 adjusted_doc_date,
1837 applied_to_application_id,
1838 applied_to_event_class_code,
1839 applied_to_entity_code,
1840 applied_to_trx_id,
1841 applied_to_line_id,
1842 applied_to_trx_number,
1843 summary_tax_line_id,
1844 offset_link_to_tax_line_id,
1845 offset_flag,
1846 process_for_recovery_flag,
1847 tax_jurisdiction_id,
1848 tax_jurisdiction_code,
1849 place_of_supply,
1850 place_of_supply_type_code,
1851 place_of_supply_result_id,
1852 tax_date_rule_id,
1853 tax_date,
1854 tax_determine_date,
1855 tax_point_date,
1856 trx_line_date,
1857 tax_type_code,
1858 tax_code,
1859 tax_registration_id,
1860 tax_registration_number,
1861 registration_party_type,
1862 rounding_level_code,
1863 rounding_rule_code,
1864 rounding_lvl_party_tax_prof_id,
1865 rounding_lvl_party_type,
1866 compounding_tax_flag,
1867 orig_tax_status_id,
1868 orig_tax_status_code,
1869 orig_tax_rate_id,
1870 orig_tax_rate_code,
1871 orig_tax_rate,
1872 orig_tax_jurisdiction_id,
1873 orig_tax_jurisdiction_code,
1874 orig_tax_amt_included_flag,
1875 orig_self_assessed_flag,
1876 tax_currency_code,
1877 tax_amt,
1878 tax_amt_tax_curr,
1879 tax_amt_funcl_curr,
1880 taxable_amt,
1881 taxable_amt_tax_curr,
1882 taxable_amt_funcl_curr,
1883 orig_taxable_amt,
1884 orig_taxable_amt_tax_curr,
1885 cal_tax_amt,
1886 cal_tax_amt_tax_curr,
1887 cal_tax_amt_funcl_curr,
1888 orig_tax_amt,
1889 orig_tax_amt_tax_curr,
1890 rec_tax_amt,
1891 rec_tax_amt_tax_curr,
1892 rec_tax_amt_funcl_curr,
1893 nrec_tax_amt,
1894 nrec_tax_amt_tax_curr,
1895 nrec_tax_amt_funcl_curr,
1896 tax_exemption_id,
1897 tax_rate_before_exemption,
1898 tax_rate_name_before_exemption,
1899 exempt_rate_modifier,
1900 exempt_certificate_number,
1901 exempt_reason,
1902 exempt_reason_code,
1903 tax_exception_id,
1904 tax_rate_before_exception,
1905 tax_rate_name_before_exception,
1906 exception_rate,
1907 tax_apportionment_flag,
1908 historical_flag,
1909 taxable_basis_formula,
1910 tax_calculation_formula,
1911 cancel_flag,
1912 purge_flag,
1913 delete_flag,
1914 tax_amt_included_flag,
1915 self_assessed_flag,
1916 overridden_flag,
1917 manually_entered_flag,
1918 freeze_until_overridden_flag,
1919 copied_from_other_doc_flag,
1920 recalc_required_flag,
1921 settlement_flag,
1922 item_dist_changed_flag,
1923 associated_child_frozen_flag,
1924 tax_only_line_flag,
1925 compounding_dep_tax_flag,
1926 last_manual_entry,
1927 tax_provider_id,
1928 record_type_code,
1929 reporting_period_id,
1930 legal_message_appl_2,
1931 legal_message_status,
1932 legal_message_rate,
1933 legal_message_basis,
1934 legal_message_calc,
1935 legal_message_threshold,
1936 legal_message_pos,
1937 legal_message_trn,
1938 legal_message_exmpt,
1939 legal_message_excpt,
1940 tax_regime_template_id,
1941 tax_applicability_result_id,
1942 direct_rate_result_id,
1943 status_result_id,
1944 rate_result_id,
1945 basis_result_id,
1946 thresh_result_id,
1947 calc_result_id,
1948 tax_reg_num_det_result_id,
1949 eval_exmpt_result_id,
1950 eval_excpt_result_id,
1951 enforce_from_natural_acct_flag,
1952 tax_hold_code,
1953 tax_hold_released_code,
1954 prd_total_tax_amt,
1955 prd_total_tax_amt_tax_curr,
1956 prd_total_tax_amt_funcl_curr,
1957 internal_org_location_id,
1958 attribute_category,
1959 attribute1,
1960 attribute2,
1961 attribute3,
1962 attribute4,
1963 attribute5,
1964 attribute6,
1965 attribute7,
1966 attribute8,
1967 attribute9,
1968 attribute10,
1969 attribute11,
1970 attribute12,
1971 attribute13,
1972 attribute14,
1973 attribute15,
1974 global_attribute_category,
1975 global_attribute1,
1976 global_attribute2,
1977 global_attribute3,
1978 global_attribute4,
1979 global_attribute5,
1980 global_attribute6,
1981 global_attribute7,
1982 global_attribute8,
1983 global_attribute9,
1984 global_attribute10,
1985 global_attribute11,
1986 global_attribute12,
1987 global_attribute13,
1988 global_attribute14,
1989 global_attribute15,
1990 numeric1,
1991 numeric2,
1992 numeric3,
1993 numeric4,
1994 numeric5,
1995 numeric6,
1996 numeric7,
1997 numeric8,
1998 numeric9,
1999 numeric10,
2000 char1,
2001 char2,
2002 char3,
2003 char4,
2004 char5,
2005 char6,
2006 char7,
2007 char8,
2008 char9,
2009 char10,
2010 date1,
2011 date2,
2012 date3,
2013 date4,
2014 date5,
2015 date6,
2016 date7,
2017 date8,
2018 date9,
2019 date10,
2020 tax_rate_type,
2021 created_by,
2022 creation_date,
2023 last_updated_by,
2024 last_update_date,
2025 last_update_login,
2026 line_assessable_value,
2027 legal_justification_text1,
2028 legal_justification_text2,
2029 legal_justification_text3,
2030 reporting_currency_code,
2031 trx_line_index,
2032 offset_tax_rate_code,
2033 proration_code,
2034 other_doc_source,
2035 reporting_only_flag,
2036 ctrl_total_line_tx_amt,
2037 sync_with_prvdr_flag,
2038 interface_entity_code,
2039 interface_tax_line_id,
2040 taxing_juris_geography_id,
2041 adjusted_doc_tax_line_id,
2042 object_version_number,
2043 legal_reporting_status,
2044 account_source_tax_rate_id
2045 )
2046 (SELECT /*+ leading(G) index(l ZX_LINES_u1 ) */
2047 L.tax_line_id,
2048 L.internal_organization_id,
2049 L.application_id,
2050 L.entity_code,
2051 L.event_class_code,
2052 L.event_type_code,
2053 L.trx_id,
2054 L.trx_line_id,
2055 L.trx_level_type,
2056 L.trx_line_number,
2057 L.doc_event_status,
2058 -- L.line_event_status,
2059 L.tax_event_class_code,
2060 L.tax_event_type_code,
2061 L.tax_line_number,
2062 L.content_owner_id,
2063 L.tax_regime_id,
2064 L.tax_regime_code,
2065 L.tax_id,
2066 L.tax,
2067 L.tax_status_id,
2068 L.tax_status_code,
2069 L.tax_rate_id,
2070 L.tax_rate_code,
2071 L.tax_rate,
2072 L.tax_apportionment_line_number,
2073 L.trx_id_level2,
2074 L.trx_id_level3,
2075 L.trx_id_level4,
2076 L.trx_id_level5,
2077 L.trx_id_level6,
2078 L.trx_user_key_level1,
2079 L.trx_user_key_level2,
2080 L.trx_user_key_level3,
2081 L.trx_user_key_level4,
2082 L.trx_user_key_level5,
2083 L.trx_user_key_level6,
2084 L.mrc_tax_line_flag,
2085 G.ledger_id,
2086 G.establishment_id,
2087 G.legal_entity_id,
2088 L.legal_entity_tax_reg_number,
2089 L.hq_estb_reg_number,
2090 L.hq_estb_party_tax_prof_id,
2091 G.currency_conversion_date,
2092 G.currency_conversion_type,
2093 G.currency_conversion_rate,
2094 L.tax_currency_conversion_date,
2095 L.tax_currency_conversion_type,
2096 L.tax_currency_conversion_rate,
2097 L.trx_currency_code,
2098 L.minimum_accountable_unit,
2099 L.precision,
2100 G.trx_number,
2101 G.trx_date,
2102 L.unit_price,
2103 L.line_amt,
2104 L.trx_line_quantity,
2105 L.tax_base_modifier_rate,
2106 L.ref_doc_application_id,
2107 L.ref_doc_entity_code,
2108 L.ref_doc_event_class_code,
2109 L.ref_doc_trx_id,
2110 L.ref_doc_line_id,
2111 L.ref_doc_line_quantity,
2112 L.other_doc_line_amt,
2113 L.other_doc_line_tax_amt,
2114 L.other_doc_line_taxable_amt,
2115 0,
2116 0, -- L.unrounded_tax_amt,
2117 L.related_doc_application_id,
2118 L.related_doc_entity_code,
2119 L.related_doc_event_class_code,
2120 L.related_doc_trx_id,
2121 L.related_doc_number,
2122 L.related_doc_date,
2123 L.applied_from_application_id,
2124 L.applied_from_event_class_code,
2125 L.applied_from_entity_code,
2126 L.applied_from_trx_id,
2127 L.applied_from_line_id,
2128 L.applied_from_trx_level_type,
2129 L.applied_from_trx_number,
2130 L.adjusted_doc_application_id,
2131 L.adjusted_doc_entity_code,
2132 L.adjusted_doc_event_class_code,
2133 L.adjusted_doc_trx_id,
2134 L.adjusted_doc_line_id,
2135 L.adjusted_doc_trx_level_type,
2136 L.adjusted_doc_number,
2137 L.adjusted_doc_date,
2138 L.applied_to_application_id,
2139 L.applied_to_event_class_code,
2140 L.applied_to_entity_code,
2141 L.applied_to_trx_id,
2142 L.applied_to_line_id,
2143 L.applied_to_trx_number,
2144 L.summary_tax_line_id,
2145 L.offset_link_to_tax_line_id,
2146 L.offset_flag,
2147 DECODE(L.historical_flag,'Y','Y',L.process_for_recovery_flag),
2148 L.tax_jurisdiction_id,
2149 L.tax_jurisdiction_code,
2150 L.place_of_supply,
2151 L.place_of_supply_type_code,
2152 L.place_of_supply_result_id,
2153 L.tax_date_rule_id,
2154 L.tax_date,
2155 L.tax_determine_date,
2156 L.tax_point_date,
2157 L.trx_line_date,
2158 L.tax_type_code,
2159 L.tax_code,
2160 L.tax_registration_id,
2161 L.tax_registration_number,
2162 L.registration_party_type,
2163 L.rounding_level_code,
2164 L.rounding_rule_code,
2165 L.rounding_lvl_party_tax_prof_id,
2166 L.rounding_lvl_party_type,
2167 L.compounding_tax_flag,
2168 L.orig_tax_status_id,
2169 L.orig_tax_status_code,
2170 L.orig_tax_rate_id,
2171 L.orig_tax_rate_code,
2172 L.orig_tax_rate,
2173 L.orig_tax_jurisdiction_id,
2174 L.orig_tax_jurisdiction_code,
2175 L.orig_tax_amt_included_flag,
2176 L.orig_self_assessed_flag,
2177 L.tax_currency_code,
2178 0, -- L.tax_amt,
2179 0, -- L.tax_amt_tax_curr,
2180 0, -- L.tax_amt_funcl_curr,
2181 0, -- L.taxable_amt
2182 0, -- L.taxable_amt_tax_curr,
2183 0, -- L.taxable_amt_funcl_curr,
2184 DECODE(L.orig_taxable_amt,NULL,L.taxable_amt,L.orig_taxable_amt),
2185 --orig_taxable_amt
2186 DECODE(L.orig_taxable_amt_tax_curr,NULL,L.taxable_amt_tax_curr,L.orig_taxable_amt_tax_curr),
2187 -- orig_taxable_amt_tax_curr
2188 0 , -- L.cal_tax_amt,
2189 0 , -- L.cal_tax_amt_tax_curr,
2190 0 , -- L.cal_tax_amt_funcl_curr,
2191 DECODE(L.orig_tax_amt,NULL,L.tax_amt,L.orig_tax_amt),
2192 --L.orig_tax_amt
2193 DECODE(L.orig_tax_amt_tax_curr,NULL, L.tax_amt_tax_curr,
2194 L.orig_tax_amt_tax_curr), -- L.orig_tax_amt_tax_curr
2195 0, --L.rec_tax_amt,
2196 0, --L.rec_tax_amt_tax_curr,
2197 0, --L.rec_tax_amt_funcl_curr,
2198 0, -- L.nrec_tax_amt,
2199 0, --L.nrec_tax_amt_tax_curr,
2200 0, -- L.nrec_tax_amt_funcl_curr,
2201 L.tax_exemption_id,
2202 L.tax_rate_before_exemption,
2203 L.tax_rate_name_before_exemption,
2204 L.exempt_rate_modifier,
2205 L.exempt_certificate_number,
2206 L.exempt_reason,
2207 L.exempt_reason_code,
2208 L.tax_exception_id,
2209 L.tax_rate_before_exception,
2210 L.tax_rate_name_before_exception,
2211 L.exception_rate,
2212 L.tax_apportionment_flag,
2213 L.historical_flag,
2214 L.taxable_basis_formula,
2215 L.tax_calculation_formula,
2216 L.cancel_flag,
2217 L.purge_flag,
2218 L.delete_flag,
2219 L.tax_amt_included_flag,
2220 L.self_assessed_flag,
2221 L.overridden_flag,
2222 L.manually_entered_flag,
2223 L.freeze_until_overridden_flag,
2224 L.copied_from_other_doc_flag,
2225 L.recalc_required_flag,
2226 L.settlement_flag,
2227 L.item_dist_changed_flag,
2228 L.associated_child_frozen_flag,
2229 L.tax_only_line_flag,
2230 L.compounding_dep_tax_flag,
2231 L.last_manual_entry,
2232 L.tax_provider_id,
2233 L.record_type_code,
2234 L.reporting_period_id,
2235 L.legal_message_appl_2,
2236 L.legal_message_status,
2237 L.legal_message_rate,
2238 L.legal_message_basis,
2239 L.legal_message_calc,
2240 L.legal_message_threshold,
2241 L.legal_message_pos,
2242 L.legal_message_trn,
2243 L.legal_message_exmpt,
2244 L.legal_message_excpt,
2245 L.tax_regime_template_id,
2246 L.tax_applicability_result_id,
2247 L.direct_rate_result_id,
2248 L.status_result_id,
2249 L.rate_result_id,
2250 L.basis_result_id,
2251 L.thresh_result_id,
2252 L.calc_result_id,
2253 L.tax_reg_num_det_result_id,
2254 L.eval_exmpt_result_id,
2255 L.eval_excpt_result_id,
2256 L.enforce_from_natural_acct_flag,
2257 NULL, --L.tax_hold_code,
2258 NULL, -- L.tax_hold_released_code,
2259 NULL, --L.prd_total_tax_amt,
2260 NULL, --L.prd_total_tax_amt_tax_curr,
2261 NULL, --L.prd_total_tax_amt_funcl_curr,
2262 L.internal_org_location_id,
2263 L.attribute_category,
2264 L.attribute1,
2265 L.attribute2,
2266 L.attribute3,
2267 L.attribute4,
2268 L.attribute5,
2269 L.attribute6,
2270 L.attribute7,
2271 L.attribute8,
2272 L.attribute9,
2273 L.attribute10,
2274 L.attribute11,
2275 L.attribute12,
2276 L.attribute13,
2277 L.attribute14,
2278 L.attribute15,
2279 L.global_attribute_category,
2280 L.global_attribute1,
2281 L.global_attribute2,
2282 L.global_attribute3,
2283 L.global_attribute4,
2284 L.global_attribute5,
2285 L.global_attribute6,
2286 L.global_attribute7,
2287 L.global_attribute8,
2288 L.global_attribute9,
2289 L.global_attribute10,
2290 L.global_attribute11,
2291 L.global_attribute12,
2292 L.global_attribute13,
2293 L.global_attribute14,
2294 L.global_attribute15,
2295 L.numeric1,
2296 L.numeric2,
2297 L.numeric3,
2298 L.numeric4,
2299 L.numeric5,
2300 L.numeric6,
2301 L.numeric7,
2302 L.numeric8,
2303 L.numeric9,
2304 L.numeric10,
2305 L.char1,
2306 L.char2,
2307 L.char3,
2308 L.char4,
2309 L.char5,
2310 L.char6,
2311 L.char7,
2312 L.char8,
2313 L.char9,
2314 L.char10,
2315 L.date1,
2316 L.date2,
2317 L.date3,
2318 L.date4,
2319 L.date5,
2320 L.date6,
2321 L.date7,
2322 L.date8,
2323 L.date9,
2324 L.date10,
2325 L.tax_rate_type,
2326 L.created_by,
2327 L.creation_date,
2328 L.last_updated_by,
2329 L.last_update_date,
2330 L.last_update_login,
2331 L.line_assessable_value,
2332 L.legal_justification_text1,
2333 L.legal_justification_text2,
2334 L.legal_justification_text3,
2335 L.reporting_currency_code,
2336 NULL, --L.trx_line_index,
2337 L.offset_tax_rate_code,
2338 NULL, -- L.proration_code,
2339 NULL, --L.other_doc_source,
2340 L.reporting_only_flag,
2341 L.ctrl_total_line_tx_amt,
2342 L.sync_with_prvdr_flag,
2343 L.interface_entity_code,
2344 L.interface_tax_line_id,
2345 L.taxing_juris_geography_id,
2346 L.adjusted_doc_tax_line_id,
2347 1,
2348 L.legal_reporting_status,
2349 L.account_source_tax_rate_id
2350 FROM ZX_LINES L,
2351 zx_lines_det_factors G
2352 WHERE G.application_id = p_event_class_rec.application_id AND
2353 G.entity_code = p_event_class_rec.entity_code AND
2354 G.event_class_code = p_event_class_rec.event_class_code AND
2355 -- G.trx_id = p_event_class_rec.trx_id AND
2356 G.event_id = p_event_class_rec.event_id AND
2357 L.trx_id = G.trx_id AND
2358 L.trx_line_id = G.trx_line_id AND
2359 L.trx_level_type = G.trx_level_type AND
2360 L.event_class_code = G.event_class_code
2361 AND L.entity_code = G.entity_code
2362 AND L.application_id = G.application_id
2363 -- AND L.subscriber_id = G.subscriber_id
2364 AND G.line_level_action NOT IN ('SYNCHRONIZE', 'CANCEL', 'NO_CHANGE','DISCARD')
2365 AND L.Cancel_Flag = 'Y'
2366 -- AND (L.tax_provider_id IS NOT NULL OR L.Cancel_Flag = 'Y')
2367 AND NOT EXISTS
2368 (SELECT /*+ INDEX(gt ZX_DETAIL_TAX_LINES_GT_U1) */
2369 1
2370 FROM zx_detail_tax_lines_gt gt
2371 WHERE gt.application_id = L.application_id
2372 AND gt.entity_code = L.entity_code
2373 AND gt.event_class_code = L.event_class_code
2374 AND gt.trx_id = L.trx_id
2375 AND gt.trx_line_id = L.trx_line_id
2376 AND gt.trx_level_type = L.trx_level_type
2377 AND gt.tax_regime_code = L.tax_regime_code
2378 AND gt.tax = L.tax
2379 AND NVL(gt.tax_apportionment_line_number, -999999) =
2380 NVL(L.tax_apportionment_line_number, -999999)
2381 )
2382 );
2383
2384 IF (g_level_statement >= g_current_runtime_level ) THEN
2385 FND_LOG.STRING(g_level_statement,
2386 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_tax_lines',
2387 'Number of Rows Inserted: ' || SQL%ROWCOUNT);
2388 END IF;
2389
2390 IF (g_level_procedure >= g_current_runtime_level ) THEN
2391 FND_LOG.STRING(g_level_procedure,
2392 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_tax_lines',
2393 'p_return_status = ' || p_return_status);
2394 FND_LOG.STRING(g_level_procedure,
2395 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_tax_lines',
2396 'p_error_buffer = ' || p_error_buffer);
2397 FND_LOG.STRING(g_level_procedure,
2398 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_tax_lines.END',
2399 'ZX_TDS_TAX_LINES_POPU_PKG: process_cancel_tax_lines(-)');
2400 END IF;
2401
2402 EXCEPTION
2403 WHEN OTHERS THEN
2404 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2405 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
2406
2407 IF (g_level_unexpected >= g_current_runtime_level ) THEN
2408 FND_LOG.STRING(g_level_unexpected,
2409 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_tax_lines',
2410 p_error_buffer);
2411 END IF;
2412
2413 END process_cancel_tax_lines;
2414
2415 -----------------------------------------------------------------------
2416 -- PUBLIC PROCEDURE
2417 -- process_frozen_tax_lines
2418 --
2419 -- DESCRIPTION
2420 -- This procedure brings all frozen tax lines which found not
2421 -- applicable into detail tax lines global temp table and
2422 -- mark them as cancel
2423 --
2424 -- CALLED BY
2425 -- ZX_TDS_TAX_LINES_DETM_PKG
2426
2427 PROCEDURE process_frozen_tax_lines(
2428 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
2429 p_return_status OUT NOCOPY VARCHAR2,
2430 p_error_buffer OUT NOCOPY VARCHAR2)
2431
2432 IS
2433 BEGIN
2434
2435 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2436
2437 IF (g_level_procedure >= g_current_runtime_level ) THEN
2438 FND_LOG.STRING(g_level_procedure,
2439 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_frozen_tax_lines.BEGIN',
2440 'ZX_TDS_TAX_LINES_POPU_PKG: process_frozen_tax_lines(+)');
2441 END IF;
2442
2443 p_return_status := FND_API.G_RET_STS_SUCCESS;
2444
2445 -- bug 6906427: 1. Add code to handle OVERRIDE_TAX
2446 -- 2. Make changes for UPDATE
2447 --
2448 IF p_event_class_rec.tax_event_type_code = 'OVERRIDE_TAX' THEN
2449
2450 -- Fetch back canceled tax lines with frozen tax distributions
2451 --
2452
2453 -- bug 8470599 forcing the driving table in select clause from zx_lines_det_factors
2454 INSERT INTO zx_detail_tax_lines_gt
2455 ( tax_line_id,
2456 internal_organization_id,
2457 application_id,
2458 entity_code,
2459 event_class_code,
2460 event_type_code,
2461 trx_id,
2462 trx_line_id,
2463 trx_level_type,
2464 trx_line_number,
2465 doc_event_status,
2466 tax_event_class_code,
2467 tax_event_type_code,
2468 tax_line_number,
2469 content_owner_id,
2470 tax_regime_id,
2471 tax_regime_code,
2472 tax_id,
2473 tax,
2474 tax_status_id,
2475 tax_status_code,
2476 tax_rate_id,
2477 tax_rate_code,
2478 tax_rate,
2479 tax_apportionment_line_number,
2480 trx_id_level2,
2481 trx_id_level3,
2482 trx_id_level4,
2483 trx_id_level5,
2484 trx_id_level6,
2485 trx_user_key_level1,
2486 trx_user_key_level2,
2487 trx_user_key_level3,
2488 trx_user_key_level4,
2489 trx_user_key_level5,
2490 trx_user_key_level6,
2491 mrc_tax_line_flag,
2492 ledger_id,
2493 establishment_id,
2494 legal_entity_id,
2495 legal_entity_tax_reg_number,
2496 hq_estb_reg_number,
2497 hq_estb_party_tax_prof_id,
2498 currency_conversion_date,
2499 currency_conversion_type,
2500 currency_conversion_rate,
2501 tax_currency_conversion_date,
2502 tax_currency_conversion_type,
2503 tax_currency_conversion_rate,
2504 trx_currency_code,
2505 minimum_accountable_unit,
2506 precision,
2507 trx_number,
2508 trx_date,
2509 unit_price,
2510 line_amt,
2511 trx_line_quantity,
2512 tax_base_modifier_rate,
2513 ref_doc_application_id,
2514 ref_doc_entity_code,
2515 ref_doc_event_class_code,
2516 ref_doc_trx_id,
2517 ref_doc_line_id,
2518 ref_doc_line_quantity,
2519 other_doc_line_amt,
2520 other_doc_line_tax_amt,
2521 other_doc_line_taxable_amt,
2522 unrounded_taxable_amt,
2523 unrounded_tax_amt,
2524 related_doc_application_id,
2525 related_doc_entity_code,
2526 related_doc_event_class_code,
2527 related_doc_trx_id,
2528 related_doc_number,
2529 related_doc_date,
2530 applied_from_application_id,
2531 applied_from_event_class_code,
2532 applied_from_entity_code,
2533 applied_from_trx_id,
2534 applied_from_line_id,
2535 applied_from_trx_level_type,
2536 applied_from_trx_number,
2537 adjusted_doc_application_id,
2538 adjusted_doc_entity_code,
2539 adjusted_doc_event_class_code,
2540 adjusted_doc_trx_id,
2541 adjusted_doc_line_id,
2542 adjusted_doc_trx_level_type,
2543 adjusted_doc_number,
2544 adjusted_doc_date,
2545 applied_to_application_id,
2546 applied_to_event_class_code,
2547 applied_to_entity_code,
2548 applied_to_trx_id,
2549 applied_to_line_id,
2550 applied_to_trx_number,
2551 summary_tax_line_id,
2552 offset_link_to_tax_line_id,
2553 offset_flag,
2554 process_for_recovery_flag,
2555 tax_jurisdiction_id,
2556 tax_jurisdiction_code,
2557 place_of_supply,
2558 place_of_supply_type_code,
2559 place_of_supply_result_id,
2560 tax_date_rule_id,
2561 tax_date,
2562 tax_determine_date,
2563 tax_point_date,
2564 trx_line_date,
2565 tax_type_code,
2566 tax_code,
2567 tax_registration_id,
2568 tax_registration_number,
2569 registration_party_type,
2570 rounding_level_code,
2571 rounding_rule_code,
2572 rounding_lvl_party_tax_prof_id,
2573 rounding_lvl_party_type,
2574 compounding_tax_flag,
2575 orig_tax_status_id,
2576 orig_tax_status_code,
2577 orig_tax_rate_id,
2578 orig_tax_rate_code,
2579 orig_tax_rate,
2580 orig_tax_jurisdiction_id,
2581 orig_tax_jurisdiction_code,
2582 orig_tax_amt_included_flag,
2583 orig_self_assessed_flag,
2584 tax_currency_code,
2585 tax_amt,
2586 tax_amt_tax_curr,
2587 tax_amt_funcl_curr,
2588 taxable_amt,
2589 taxable_amt_tax_curr,
2590 taxable_amt_funcl_curr,
2591 orig_taxable_amt,
2592 orig_taxable_amt_tax_curr,
2593 cal_tax_amt,
2594 cal_tax_amt_tax_curr,
2595 cal_tax_amt_funcl_curr,
2596 orig_tax_amt,
2597 orig_tax_amt_tax_curr,
2598 rec_tax_amt,
2599 rec_tax_amt_tax_curr,
2600 rec_tax_amt_funcl_curr,
2601 nrec_tax_amt,
2602 nrec_tax_amt_tax_curr,
2603 nrec_tax_amt_funcl_curr,
2604 tax_exemption_id,
2605 tax_rate_before_exemption,
2606 tax_rate_name_before_exemption,
2607 exempt_rate_modifier,
2608 exempt_certificate_number,
2609 exempt_reason,
2610 exempt_reason_code,
2611 tax_exception_id,
2612 tax_rate_before_exception,
2613 tax_rate_name_before_exception,
2614 exception_rate,
2615 tax_apportionment_flag,
2616 historical_flag,
2617 taxable_basis_formula,
2618 tax_calculation_formula,
2619 cancel_flag,
2620 purge_flag,
2621 delete_flag,
2622 tax_amt_included_flag,
2623 self_assessed_flag,
2624 overridden_flag,
2625 manually_entered_flag,
2626 freeze_until_overridden_flag,
2627 copied_from_other_doc_flag,
2628 recalc_required_flag,
2629 settlement_flag,
2630 item_dist_changed_flag,
2631 associated_child_frozen_flag,
2632 tax_only_line_flag,
2633 compounding_dep_tax_flag,
2634 last_manual_entry,
2635 tax_provider_id,
2636 record_type_code,
2637 reporting_period_id,
2638 legal_message_appl_2,
2639 legal_message_status,
2640 legal_message_rate,
2641 legal_message_basis,
2642 legal_message_calc,
2643 legal_message_threshold,
2644 legal_message_pos,
2645 legal_message_trn,
2646 legal_message_exmpt,
2647 legal_message_excpt,
2648 tax_regime_template_id,
2649 tax_applicability_result_id,
2650 direct_rate_result_id,
2651 status_result_id,
2652 rate_result_id,
2653 basis_result_id,
2654 thresh_result_id,
2655 calc_result_id,
2656 tax_reg_num_det_result_id,
2657 eval_exmpt_result_id,
2658 eval_excpt_result_id,
2659 enforce_from_natural_acct_flag,
2660 tax_hold_code,
2661 tax_hold_released_code,
2662 prd_total_tax_amt,
2663 prd_total_tax_amt_tax_curr,
2664 prd_total_tax_amt_funcl_curr,
2665 internal_org_location_id,
2666 attribute_category,
2667 attribute1,
2668 attribute2,
2669 attribute3,
2670 attribute4,
2671 attribute5,
2672 attribute6,
2673 attribute7,
2674 attribute8,
2675 attribute9,
2676 attribute10,
2677 attribute11,
2678 attribute12,
2679 attribute13,
2680 attribute14,
2681 attribute15,
2682 global_attribute_category,
2683 global_attribute1,
2684 global_attribute2,
2685 global_attribute3,
2686 global_attribute4,
2687 global_attribute5,
2688 global_attribute6,
2689 global_attribute7,
2690 global_attribute8,
2691 global_attribute9,
2692 global_attribute10,
2693 global_attribute11,
2694 global_attribute12,
2695 global_attribute13,
2696 global_attribute14,
2697 global_attribute15,
2698 numeric1,
2699 numeric2,
2700 numeric3,
2701 numeric4,
2702 numeric5,
2703 numeric6,
2704 numeric7,
2705 numeric8,
2706 numeric9,
2707 numeric10,
2708 char1,
2709 char2,
2710 char3,
2711 char4,
2712 char5,
2713 char6,
2714 char7,
2715 char8,
2716 char9,
2717 char10,
2718 date1,
2719 date2,
2720 date3,
2721 date4,
2722 date5,
2723 date6,
2724 date7,
2725 date8,
2726 date9,
2727 date10,
2728 tax_rate_type,
2729 created_by,
2730 creation_date,
2731 last_updated_by,
2732 last_update_date,
2733 last_update_login,
2734 line_assessable_value,
2735 legal_justification_text1,
2736 legal_justification_text2,
2737 legal_justification_text3,
2738 reporting_currency_code,
2739 trx_line_index,
2740 offset_tax_rate_code,
2741 proration_code,
2742 other_doc_source,
2743 reporting_only_flag,
2744 ctrl_total_line_tx_amt,
2745 sync_with_prvdr_flag,
2746 interface_entity_code,
2747 interface_tax_line_id,
2748 taxing_juris_geography_id,
2749 adjusted_doc_tax_line_id,
2750 object_version_number,
2751 legal_reporting_status,
2752 account_source_tax_rate_id
2753 )
2754 (SELECT /*+ leading(G) */
2755 L.tax_line_id,
2756 L.internal_organization_id,
2757 L.application_id,
2758 L.entity_code,
2759 L.event_class_code,
2760 L.event_type_code,
2761 L.trx_id,
2762 L.trx_line_id,
2763 L.trx_level_type,
2764 L.trx_line_number,
2765 L.doc_event_status,
2766 L.tax_event_class_code,
2767 L.tax_event_type_code,
2768 L.tax_line_number,
2769 L.content_owner_id,
2770 L.tax_regime_id,
2771 L.tax_regime_code,
2772 L.tax_id,
2773 L.tax,
2774 L.tax_status_id,
2775 L.tax_status_code,
2776 L.tax_rate_id,
2777 L.tax_rate_code,
2778 L.tax_rate,
2779 L.tax_apportionment_line_number,
2780 L.trx_id_level2,
2781 L.trx_id_level3,
2782 L.trx_id_level4,
2783 L.trx_id_level5,
2784 L.trx_id_level6,
2785 L.trx_user_key_level1,
2786 L.trx_user_key_level2,
2787 L.trx_user_key_level3,
2788 L.trx_user_key_level4,
2789 L.trx_user_key_level5,
2790 L.trx_user_key_level6,
2791 L.mrc_tax_line_flag,
2792 L.ledger_id,
2793 L.establishment_id,
2794 L.legal_entity_id,
2795 L.legal_entity_tax_reg_number,
2796 L.hq_estb_reg_number,
2797 L.hq_estb_party_tax_prof_id,
2798 L.currency_conversion_date,
2799 L.currency_conversion_type,
2800 L.currency_conversion_rate,
2801 L.tax_currency_conversion_date,
2802 L.tax_currency_conversion_type,
2803 L.tax_currency_conversion_rate,
2804 L.trx_currency_code,
2805 L.minimum_accountable_unit,
2806 L.precision,
2807 G.trx_number,
2808 L.trx_date,
2809 L.unit_price,
2810 L.line_amt,
2811 L.trx_line_quantity,
2812 L.tax_base_modifier_rate,
2813 L.ref_doc_application_id,
2814 L.ref_doc_entity_code,
2815 L.ref_doc_event_class_code,
2816 L.ref_doc_trx_id,
2817 L.ref_doc_line_id,
2818 L.ref_doc_line_quantity,
2819 L.other_doc_line_amt,
2820 L.other_doc_line_tax_amt,
2821 L.other_doc_line_taxable_amt,
2822 0, -- L.unrounded_taxable_amt,
2823 0, -- L.unrounded_tax_amt,
2824 L.related_doc_application_id,
2825 L.related_doc_entity_code,
2826 L.related_doc_event_class_code,
2827 L.related_doc_trx_id,
2828 L.related_doc_number,
2829 L.related_doc_date,
2830 L.applied_from_application_id,
2831 L.applied_from_event_class_code,
2832 L.applied_from_entity_code,
2833 L.applied_from_trx_id,
2834 L.applied_from_line_id,
2835 L.applied_from_trx_level_type,
2836 L.applied_from_trx_number,
2837 L.adjusted_doc_application_id,
2838 L.adjusted_doc_entity_code,
2839 L.adjusted_doc_event_class_code,
2840 L.adjusted_doc_trx_id,
2841 L.adjusted_doc_line_id,
2842 L.adjusted_doc_trx_level_type,
2843 L.adjusted_doc_number,
2844 L.adjusted_doc_date,
2845 L.applied_to_application_id,
2846 L.applied_to_event_class_code,
2847 L.applied_to_entity_code,
2848 L.applied_to_trx_id,
2849 L.applied_to_line_id,
2850 L.applied_to_trx_number,
2851 L.summary_tax_line_id,
2852 L.offset_link_to_tax_line_id,
2853 L.offset_flag,
2854 DECODE(L.Reporting_Only_Flag, 'N', 'Y', 'N'), -- L.Process_For_Recovery_Flag,
2855 L.tax_jurisdiction_id,
2856 L.tax_jurisdiction_code,
2857 L.place_of_supply,
2858 L.place_of_supply_type_code,
2859 L.place_of_supply_result_id,
2860 L.tax_date_rule_id,
2861 L.tax_date,
2862 L.tax_determine_date,
2863 L.tax_point_date,
2864 L.trx_line_date,
2865 L.tax_type_code,
2866 L.tax_code,
2867 L.tax_registration_id,
2868 L.tax_registration_number,
2869 L.registration_party_type,
2870 L.rounding_level_code,
2871 L.rounding_rule_code,
2872 L.rounding_lvl_party_tax_prof_id,
2873 L.rounding_lvl_party_type,
2874 L.compounding_tax_flag,
2875 L.orig_tax_status_id,
2876 L.orig_tax_status_code,
2877 L.orig_tax_rate_id,
2878 L.orig_tax_rate_code,
2879 L.orig_tax_rate,
2880 L.orig_tax_jurisdiction_id,
2881 L.orig_tax_jurisdiction_code,
2882 L.orig_tax_amt_included_flag,
2883 L.orig_self_assessed_flag,
2884 L.tax_currency_code,
2885 0, -- L.tax_amt,
2886 0, -- L.tax_amt_tax_curr,
2887 0, -- L.tax_amt_funcl_curr,
2888 0, -- L.taxable_amt,
2889 0, -- L.taxable_amt_tax_curr,
2890 0, -- L.taxable_amt_funcl_curr,
2891 DECODE(L.orig_taxable_amt, NULL,L.taxable_amt,
2892 L.orig_taxable_amt), -- L.orig_taxable_amt
2893 DECODE(L.orig_taxable_amt_tax_curr, NULL, L.taxable_amt_funcl_curr,
2894 L.orig_taxable_amt_tax_curr), -- L.orig_taxable_amt_tax_curr
2895 0, -- L.cal_tax_amt,
2896 0, -- L.cal_tax_amt_tax_curr,
2897 0, -- L.cal_tax_amt_funcl_curr,
2898 DECODE(L.orig_tax_amt, NULL, L.tax_amt,
2899 L.orig_tax_amt), -- L.orig_tax_amt
2900 DECODE(L.orig_tax_amt_tax_curr, NULL, L.tax_amt,
2901 L.orig_tax_amt_tax_curr), -- L.orig_tax_amt_tax_curr
2902 0, -- L.rec_tax_amt,
2903 0, -- L.rec_tax_amt_tax_curr,
2904 0, -- L.rec_tax_amt_funcl_curr,
2905 0, -- L.nrec_tax_amt,
2906 0, -- L.nrec_tax_amt_tax_curr,
2907 0, -- L.nrec_tax_amt_funcl_curr,
2908 L.tax_exemption_id,
2909 L.tax_rate_before_exemption,
2910 L.tax_rate_name_before_exemption,
2911 L.exempt_rate_modifier,
2912 L.exempt_certificate_number,
2913 L.exempt_reason,
2914 L.exempt_reason_code,
2915 L.tax_exception_id,
2916 L.tax_rate_before_exception,
2917 L.tax_rate_name_before_exception,
2918 L.exception_rate,
2919 L.tax_apportionment_flag,
2920 L.historical_flag,
2921 L.taxable_basis_formula,
2922 L.tax_calculation_formula,
2923 'Y', -- L.cancel_flag
2924 L.purge_flag,
2925 L.delete_flag,
2926 L.tax_amt_included_flag,
2927 L.self_assessed_flag,
2928 L.overridden_flag,
2929 L.manually_entered_flag,
2930 L.freeze_until_overridden_flag,
2931 L.copied_from_other_doc_flag,
2932 L.recalc_required_flag,
2933 L.settlement_flag,
2934 L.item_dist_changed_flag,
2935 L.associated_child_frozen_flag,
2936 L.tax_only_line_flag,
2937 L.compounding_dep_tax_flag,
2938 L.last_manual_entry,
2939 L.tax_provider_id,
2940 L.record_type_code,
2941 L.reporting_period_id,
2942 L.legal_message_appl_2,
2943 L.legal_message_status,
2944 L.legal_message_rate,
2945 L.legal_message_basis,
2946 L.legal_message_calc,
2947 L.legal_message_threshold,
2948 L.legal_message_pos,
2949 L.legal_message_trn,
2950 L.legal_message_exmpt,
2951 L.legal_message_excpt,
2952 L.tax_regime_template_id,
2953 L.tax_applicability_result_id,
2954 L.direct_rate_result_id,
2955 L.status_result_id,
2956 L.rate_result_id,
2957 L.basis_result_id,
2958 L.thresh_result_id,
2959 L.calc_result_id,
2960 L.tax_reg_num_det_result_id,
2961 L.eval_exmpt_result_id,
2962 L.eval_excpt_result_id,
2963 L.enforce_from_natural_acct_flag,
2964 NULL, -- L.tax_hold_code,
2965 NULL, -- L.tax_hold_released_code,
2966 NULL, -- L.prd_total_tax_amt,
2967 NULL, -- L.prd_total_tax_amt_tax_curr,
2968 NULL, -- L.prd_total_tax_amt_funcl_curr,
2969 L.internal_org_location_id,
2970 L.attribute_category,
2971 L.attribute1,
2972 L.attribute2,
2973 L.attribute3,
2974 L.attribute4,
2975 L.attribute5,
2976 L.attribute6,
2977 L.attribute7,
2978 L.attribute8,
2979 L.attribute9,
2980 L.attribute10,
2981 L.attribute11,
2982 L.attribute12,
2983 L.attribute13,
2984 L.attribute14,
2985 L.attribute15,
2986 L.global_attribute_category,
2987 L.global_attribute1,
2988 L.global_attribute2,
2989 L.global_attribute3,
2990 L.global_attribute4,
2991 L.global_attribute5,
2992 L.global_attribute6,
2993 L.global_attribute7,
2994 L.global_attribute8,
2995 L.global_attribute9,
2996 L.global_attribute10,
2997 L.global_attribute11,
2998 L.global_attribute12,
2999 L.global_attribute13,
3000 L.global_attribute14,
3001 L.global_attribute15,
3002 L.numeric1,
3003 L.numeric2,
3004 L.numeric3,
3005 L.numeric4,
3006 L.numeric5,
3007 L.numeric6,
3008 L.numeric7,
3009 L.numeric8,
3010 L.numeric9,
3011 L.numeric10,
3012 L.char1,
3013 L.char2,
3014 L.char3,
3015 L.char4,
3016 L.char5,
3017 L.char6,
3018 L.char7,
3019 L.char8,
3020 L.char9,
3021 L.char10,
3022 L.date1,
3023 L.date2,
3024 L.date3,
3025 L.date4,
3026 L.date5,
3027 L.date6,
3028 L.date7,
3029 L.date8,
3030 L.date9,
3031 L.date10,
3032 L.tax_rate_type,
3033 L.created_by,
3034 L.creation_date,
3035 L.last_updated_by,
3036 L.last_update_date,
3037 L.last_update_login,
3038 L.line_assessable_value,
3039 L.legal_justification_text1,
3040 L.legal_justification_text2,
3041 L.legal_justification_text3,
3042 L.reporting_currency_code,
3043 NULL, -- L.trx_line_index
3044 NULL, -- L.offset_tax_rate_code
3045 NULL, -- L.proration_code
3046 NULL, -- L.other_doc_source
3047 L.reporting_only_flag,
3048 L.ctrl_total_line_tx_amt,
3049 DECODE(L.tax_provider_id, NULL, L.sync_with_prvdr_flag, 'Y'),
3050 L.interface_entity_code,
3051 L.interface_tax_line_id,
3052 L.taxing_juris_geography_id,
3053 L.adjusted_doc_tax_line_id,
3054 1,
3055 legal_reporting_status,
3056 L.account_source_tax_rate_id
3057 FROM zx_lines L,
3058 zx_lines_det_factors G
3059 WHERE G.application_id = p_event_class_rec.application_id
3060 AND G.entity_code = p_event_class_rec.entity_code
3061 AND G.event_class_code = p_event_class_rec.event_class_code
3062 AND G.trx_id = p_event_class_rec.trx_id
3063 AND G.event_id = p_event_class_rec.event_id
3064 AND L.trx_id = G.trx_id
3065 AND L.trx_line_id = G.trx_line_id
3066 AND L.trx_level_type = G.trx_level_type
3067 AND L.event_class_code = G.event_class_code
3068 AND L.entity_code = G.entity_code
3069 AND L.application_id = G.application_id
3070 AND L.associated_child_frozen_flag = 'Y'
3071 AND L.cancel_flag = 'Y'
3072 AND L.tax_apportionment_line_number < 0
3073 AND NOT EXISTS ( SELECT 1
3074 FROM zx_detail_tax_lines_gt T
3075 WHERE T.tax_line_id = L.tax_line_id
3076 -- bug 8470599 these columns are redundant and are doing index range scan on ZX_DETAIL_TAX_LINES_GT_U1
3077 -- AND T.trx_id = L.trx_id
3078 -- AND T.trx_line_id = L.trx_line_id
3079 -- AND T.event_class_code = L.event_class_code
3080 -- AND T.entity_code = L.entity_code
3081 -- AND T.application_id = L.application_id
3082 -- AND T.trx_level_type = L.trx_level_type
3083 )
3084 );
3085
3086 ELSE
3087
3088 -- bug 6906427: update tax line id if no grouping criteria change
3089 --
3090 --bug8517610
3091
3092 UPDATE zx_detail_tax_lines_gt zlgt
3093 SET (tax_line_id, associated_child_frozen_flag, summary_tax_line_id,offset_link_to_tax_line_id) =
3094 ( SELECT /*+ INDEX(zl ZX_LINES_U1) */
3095 tax_line_id, associated_child_frozen_flag, summary_tax_line_id,offset_link_to_tax_line_id
3096 FROM zx_lines zl
3097 WHERE zl.application_id = zlgt.application_id
3098 AND zl.entity_code = zlgt.entity_code
3099 AND zl.event_class_code = zlgt.event_class_code
3100 AND zl.trx_id = zlgt.trx_id
3101 and zl.trx_line_id = zlgt.trx_line_id
3102 AND zl.trx_level_type = zlgt.trx_level_type
3103 AND zl.internal_organization_id = zlgt.internal_organization_id
3104 AND NVL(zl.applied_from_trx_level_type, 'x') = NVL(zlgt.applied_from_trx_level_type, 'x')
3105 AND NVL(zl.adjusted_doc_trx_level_type, 'x') = NVL(zlgt.adjusted_doc_trx_level_type, 'x')
3106 AND NVL(zl.applied_from_application_id, 0) = NVL(zlgt.applied_from_application_id, 0)
3107 AND NVL(zl.applied_from_event_class_code, 'x') = NVL(zlgt.applied_from_event_class_code, 'x')
3108 AND NVL(zl.applied_from_entity_code, 'x') = NVL(zlgt.applied_from_entity_code, 'x')
3109 AND NVL(zl.applied_from_trx_id, 0) = NVL(zlgt.applied_from_trx_id, 0)
3110 AND NVL(zl.applied_from_line_id, 0) = NVL(zlgt.applied_from_line_id, 0)
3111 AND NVL(zl.adjusted_doc_application_id, 0) = NVL(zlgt.adjusted_doc_application_id, 0)
3112 AND NVL(zl.adjusted_doc_entity_code, 'x') = NVL(zlgt.adjusted_doc_entity_code, 'x')
3113 AND NVL(zl.adjusted_doc_event_class_code, 'x') = NVL(zlgt.adjusted_doc_event_class_code, 'x')
3114 AND NVL(zl.adjusted_doc_trx_id, 0) = NVL(zlgt.adjusted_doc_trx_id, 0)
3115 AND NVL(zl.tax_exemption_id, -999) = NVL(zlgt.tax_exemption_id, -999)
3116 --AND NVL(zl.tax_rate_before_exemption, -999) = NVL(zlgt.tax_rate_before_exemption, -999)
3117 --AND NVL(zl.tax_rate_name_before_exemption, 'x') = NVL(zlgt.tax_rate_name_before_exemption, 'x')
3118 --AND NVL(zl.exempt_rate_modifier, -999) = NVL(zlgt.exempt_rate_modifier, -999)
3119 AND NVL(zl.exempt_certificate_number, 'x') = NVL(zlgt.exempt_certificate_number, 'x')
3120 --AND NVL(zl.exempt_reason, 'x') = NVL(zlgt.exempt_reason, 'x')
3121 AND NVL(zl.exempt_reason_code, 'x') = NVL(zlgt.exempt_reason_code, 'x')
3122 AND NVL(zl.tax_exception_id, -999) = NVL(zlgt.tax_exception_id, -999)
3123 --AND NVL(zl.tax_rate_before_exception, -999) = NVL(zlgt.tax_rate_before_exception, -999)
3124 --AND NVL(zl.tax_rate_name_before_exception, 'x') = NVL(zlgt.tax_rate_name_before_exception, 'x')
3125 --AND NVL(zl.exception_rate, -999) = NVL(zlgt.exception_rate, -999)
3126 AND NVL(zl.content_owner_id, 0) = NVL(zlgt.content_owner_id, 0)
3127 AND zl.tax_regime_code = zlgt.tax_regime_code
3128 AND zl.tax = zlgt.tax
3129 AND NVL(zl.tax_status_code, 'x') = NVL(zlgt.tax_status_code, 'x')
3130 AND NVL(zl.tax_rate_id, 0) = NVL(zlgt.tax_rate_id, 0)
3131 AND NVL(zl.tax_rate_code, 'x') = NVL(zlgt.tax_rate_code, 'x')
3132 AND NVL(zl.tax_rate, -99) = NVL(zlgt.tax_rate, -99)
3133 AND NVL(zl.tax_jurisdiction_code, 'x') = NVL(zlgt.tax_jurisdiction_code, 'x')
3134 AND NVL(zl.ledger_id, 0) = NVL(zlgt.ledger_id, 0)
3135 AND NVL(zl.legal_entity_id, 0) = NVL(zlgt.legal_entity_id, 0)
3136 AND NVL(zl.establishment_id, 0) = NVL(zlgt.establishment_id, 0)
3137 AND NVL(TRUNC(zl.currency_conversion_date), SYSDATE) = NVL(TRUNC(zlgt.currency_conversion_date), SYSDATE)
3138 AND NVL(zl.currency_conversion_type,'x') = NVL(zlgt.currency_conversion_type,'x')
3139 AND NVL(zl.currency_conversion_rate, 1) = NVL(zlgt.currency_conversion_rate, 1)
3140 AND NVL(zl.taxable_basis_formula,'x') = NVL(zlgt.taxable_basis_formula,'x')
3141 AND NVL(zl.tax_calculation_formula,'x') = NVL(zlgt.tax_calculation_formula,'x')
3142 AND zl.tax_amt_included_flag = zlgt.tax_amt_included_flag
3143 AND zl.compounding_tax_flag = zlgt.compounding_tax_flag
3144 AND zl.self_assessed_flag = zlgt.self_assessed_flag
3145 AND zl.reporting_only_flag = zlgt.reporting_only_flag
3146 AND zl.copied_from_other_doc_flag = zlgt.copied_from_other_doc_flag
3147 AND NVL(zl.record_type_code,'x') = NVL(zlgt.record_type_code,'x')
3148 AND NVL(zl.tax_provider_id, 0) = NVL(zlgt.tax_provider_id, 0)
3149 AND zl.overridden_flag = zlgt.overridden_flag
3150 AND zl.manually_entered_flag = zlgt.manually_entered_flag
3151 AND zl.tax_only_line_flag = zlgt.tax_only_line_flag
3152 AND zl.mrc_tax_line_flag = zlgt.mrc_tax_line_flag
3153 AND zl.historical_flag = zlgt.historical_flag
3154 AND NVL(zl.tax_apportionment_line_number, 1) = NVL(zlgt.tax_apportionment_line_number, 1)
3155 AND zl.tax_line_id <> zlgt.tax_line_id
3156 AND zl.cancel_flag <> 'Y'
3157 AND ROWNUM = 1
3158 )
3159 WHERE NVL(associated_child_frozen_flag, 'N') ='N'
3160 -- Bug 8348107
3161 AND (summary_tax_line_id IS NULL OR nvl(historical_flag,'N') = 'Y')
3162 AND NVL(tax_only_line_flag, 'N') = 'N'
3163 AND EXISTS (SELECT /*+ INDEX(zl ZX_LINES_U1) */
3164 tax_line_id, associated_child_frozen_flag
3165 FROM zx_lines zl
3166 WHERE zl.application_id = zlgt.application_id
3167 AND zl.entity_code = zlgt.entity_code
3168 AND zl.event_class_code = zlgt.event_class_code
3169 AND zl.trx_id = zlgt.trx_id
3170 and zl.trx_line_id = zlgt.trx_line_id
3171 AND zl.trx_level_type = zlgt.trx_level_type
3172 AND zl.internal_organization_id = zlgt.internal_organization_id
3173 AND NVL(zl.applied_from_trx_level_type, 'x') = NVL(zlgt.applied_from_trx_level_type, 'x')
3174 AND NVL(zl.adjusted_doc_trx_level_type, 'x') = NVL(zlgt.adjusted_doc_trx_level_type, 'x')
3175 AND NVL(zl.applied_from_application_id, 0) = NVL(zlgt.applied_from_application_id, 0)
3176 AND NVL(zl.applied_from_event_class_code, 'x') = NVL(zlgt.applied_from_event_class_code, 'x')
3177 AND NVL(zl.applied_from_entity_code, 'x') = NVL(zlgt.applied_from_entity_code, 'x')
3178 AND NVL(zl.applied_from_trx_id, 0) = NVL(zlgt.applied_from_trx_id, 0)
3179 AND NVL(zl.applied_from_line_id, 0) = NVL(zlgt.applied_from_line_id, 0)
3180 AND NVL(zl.adjusted_doc_application_id, 0) = NVL(zlgt.adjusted_doc_application_id, 0)
3181 AND NVL(zl.adjusted_doc_entity_code, 'x') = NVL(zlgt.adjusted_doc_entity_code, 'x')
3182 AND NVL(zl.adjusted_doc_event_class_code, 'x') = NVL(zlgt.adjusted_doc_event_class_code, 'x')
3183 AND NVL(zl.adjusted_doc_trx_id, 0) = NVL(zlgt.adjusted_doc_trx_id, 0)
3184 AND NVL(zl.tax_exemption_id, -999) = NVL(zlgt.tax_exemption_id, -999)
3185 -- AND NVL(zl.tax_rate_before_exemption, -999) = NVL(zlgt.tax_rate_before_exemption, -999)
3186 -- AND NVL(zl.tax_rate_name_before_exemption, 'x') = NVL(zlgt.tax_rate_name_before_exemption, 'x')
3187 -- AND NVL(zl.exempt_rate_modifier, -999) = NVL(zlgt.exempt_rate_modifier, -999)
3188 AND NVL(zl.exempt_certificate_number, 'x') = NVL(zlgt.exempt_certificate_number, 'x')
3189 -- AND NVL(zl.exempt_reason, 'x') = NVL(zlgt.exempt_reason, 'x')
3190 AND NVL(zl.exempt_reason_code, 'x') = NVL(zlgt.exempt_reason_code, 'x')
3191 AND NVL(zl.tax_exception_id, -999) = NVL(zlgt.tax_exception_id, -999)
3192 -- AND NVL(zl.tax_rate_before_exception, -999) = NVL(zlgt.tax_rate_before_exception, -999)
3193 -- AND NVL(zl.tax_rate_name_before_exception, 'x') = NVL(zlgt.tax_rate_name_before_exception, 'x')
3194 -- AND NVL(zl.exception_rate, -999) = NVL(zlgt.exception_rate, -999)
3195 AND NVL(zl.content_owner_id, 0) = NVL(zlgt.content_owner_id, 0)
3196 AND zl.tax_regime_code = zlgt.tax_regime_code
3197 AND zl.tax = zlgt.tax
3198 AND NVL(zl.tax_status_code, 'x') = NVL(zlgt.tax_status_code, 'x')
3199 AND NVL(zl.tax_rate_id, 0) = NVL(zlgt.tax_rate_id, 0)
3200 AND NVL(zl.tax_rate_code, 'x') = NVL(zlgt.tax_rate_code, 'x')
3201 AND NVL(zl.tax_rate, -99) = NVL(zlgt.tax_rate, -99)
3202 AND NVL(zl.tax_jurisdiction_code, 'x') = NVL(zlgt.tax_jurisdiction_code, 'x')
3203 AND NVL(zl.ledger_id, 0) = NVL(zlgt.ledger_id, 0)
3204 AND NVL(zl.legal_entity_id, 0) = NVL(zlgt.legal_entity_id, 0)
3205 AND NVL(zl.establishment_id, 0) = NVL(zlgt.establishment_id, 0)
3206 AND NVL(TRUNC(zl.currency_conversion_date), SYSDATE) = NVL(TRUNC(zlgt.currency_conversion_date), SYSDATE)
3207 AND NVL(zl.currency_conversion_type,'x') = NVL(zlgt.currency_conversion_type,'x')
3208 AND NVL(zl.currency_conversion_rate, 1) = NVL(zlgt.currency_conversion_rate, 1)
3209 AND NVL(zl.taxable_basis_formula,'x') = NVL(zlgt.taxable_basis_formula,'x')
3210 AND NVL(zl.tax_calculation_formula,'x') = NVL(zlgt.tax_calculation_formula,'x')
3211 AND zl.tax_amt_included_flag = zlgt.tax_amt_included_flag
3212 AND zl.compounding_tax_flag = zlgt.compounding_tax_flag
3213 AND zl.self_assessed_flag = zlgt.self_assessed_flag
3214 AND zl.reporting_only_flag = zlgt.reporting_only_flag
3215 AND zl.copied_from_other_doc_flag = zlgt.copied_from_other_doc_flag
3216 AND NVL(zl.record_type_code,'x') = NVL(zlgt.record_type_code,'x')
3217 AND NVL(zl.tax_provider_id, 0) = NVL(zlgt.tax_provider_id, 0)
3218 AND zl.overridden_flag = zlgt.overridden_flag
3219 AND zl.manually_entered_flag = zlgt.manually_entered_flag
3220 AND zl.tax_only_line_flag = zlgt.tax_only_line_flag
3221 AND zl.mrc_tax_line_flag = zlgt.mrc_tax_line_flag
3222 AND zl.historical_flag = zlgt.historical_flag
3223 AND NVL(zl.tax_apportionment_line_number, 1) = NVL(zlgt.tax_apportionment_line_number, 1)
3224 AND zl.tax_line_id <> zlgt.tax_line_id
3225 AND zl.cancel_flag <> 'Y'
3226 );
3227
3228 IF (g_level_statement >= g_current_runtime_level ) THEN
3229 FND_LOG.STRING(g_level_statement,
3230 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_frozen_tax_lines',
3231 'Number of Rows Updated: ' || SQL%ROWCOUNT);
3232 END IF;
3233
3234 -- bug 8470599 forcing the driving table in select clause from zx_lines_det_factors
3235 INSERT INTO zx_detail_tax_lines_gt
3236 ( tax_line_id,
3237 internal_organization_id,
3238 application_id,
3239 entity_code,
3240 event_class_code,
3241 event_type_code,
3242 trx_id,
3243 trx_line_id,
3244 trx_level_type,
3245 trx_line_number,
3246 doc_event_status,
3247 tax_event_class_code,
3248 tax_event_type_code,
3249 tax_line_number,
3250 content_owner_id,
3251 tax_regime_id,
3252 tax_regime_code,
3253 tax_id,
3254 tax,
3255 tax_status_id,
3256 tax_status_code,
3257 tax_rate_id,
3258 tax_rate_code,
3259 tax_rate,
3260 tax_apportionment_line_number,
3261 trx_id_level2,
3262 trx_id_level3,
3263 trx_id_level4,
3264 trx_id_level5,
3265 trx_id_level6,
3266 trx_user_key_level1,
3267 trx_user_key_level2,
3268 trx_user_key_level3,
3269 trx_user_key_level4,
3270 trx_user_key_level5,
3271 trx_user_key_level6,
3272 mrc_tax_line_flag,
3273 ledger_id,
3274 establishment_id,
3275 legal_entity_id,
3276 legal_entity_tax_reg_number,
3277 hq_estb_reg_number,
3278 hq_estb_party_tax_prof_id,
3279 currency_conversion_date,
3280 currency_conversion_type,
3281 currency_conversion_rate,
3282 tax_currency_conversion_date,
3283 tax_currency_conversion_type,
3284 tax_currency_conversion_rate,
3285 trx_currency_code,
3286 minimum_accountable_unit,
3287 precision,
3288 trx_number,
3289 trx_date,
3290 unit_price,
3291 line_amt,
3292 trx_line_quantity,
3293 tax_base_modifier_rate,
3294 ref_doc_application_id,
3295 ref_doc_entity_code,
3296 ref_doc_event_class_code,
3297 ref_doc_trx_id,
3298 ref_doc_line_id,
3299 ref_doc_line_quantity,
3300 other_doc_line_amt,
3301 other_doc_line_tax_amt,
3302 other_doc_line_taxable_amt,
3303 unrounded_taxable_amt,
3304 unrounded_tax_amt,
3305 related_doc_application_id,
3306 related_doc_entity_code,
3307 related_doc_event_class_code,
3308 related_doc_trx_id,
3309 related_doc_number,
3310 related_doc_date,
3311 applied_from_application_id,
3312 applied_from_event_class_code,
3313 applied_from_entity_code,
3314 applied_from_trx_id,
3315 applied_from_line_id,
3316 applied_from_trx_level_type,
3317 applied_from_trx_number,
3318 adjusted_doc_application_id,
3319 adjusted_doc_entity_code,
3320 adjusted_doc_event_class_code,
3321 adjusted_doc_trx_id,
3322 adjusted_doc_line_id,
3323 adjusted_doc_trx_level_type,
3324 adjusted_doc_number,
3325 adjusted_doc_date,
3326 applied_to_application_id,
3327 applied_to_event_class_code,
3328 applied_to_entity_code,
3329 applied_to_trx_id,
3330 applied_to_line_id,
3331 applied_to_trx_number,
3332 summary_tax_line_id,
3333 offset_link_to_tax_line_id,
3334 offset_flag,
3335 process_for_recovery_flag,
3336 tax_jurisdiction_id,
3337 tax_jurisdiction_code,
3338 place_of_supply,
3339 place_of_supply_type_code,
3340 place_of_supply_result_id,
3341 tax_date_rule_id,
3342 tax_date,
3343 tax_determine_date,
3344 tax_point_date,
3345 trx_line_date,
3346 tax_type_code,
3347 tax_code,
3348 tax_registration_id,
3349 tax_registration_number,
3350 registration_party_type,
3351 rounding_level_code,
3352 rounding_rule_code,
3353 rounding_lvl_party_tax_prof_id,
3354 rounding_lvl_party_type,
3355 compounding_tax_flag,
3356 orig_tax_status_id,
3357 orig_tax_status_code,
3358 orig_tax_rate_id,
3359 orig_tax_rate_code,
3360 orig_tax_rate,
3361 orig_tax_jurisdiction_id,
3362 orig_tax_jurisdiction_code,
3363 orig_tax_amt_included_flag,
3364 orig_self_assessed_flag,
3365 tax_currency_code,
3366 tax_amt,
3367 tax_amt_tax_curr,
3368 tax_amt_funcl_curr,
3369 taxable_amt,
3370 taxable_amt_tax_curr,
3371 taxable_amt_funcl_curr,
3372 orig_taxable_amt,
3373 orig_taxable_amt_tax_curr,
3374 cal_tax_amt,
3375 cal_tax_amt_tax_curr,
3376 cal_tax_amt_funcl_curr,
3377 orig_tax_amt,
3378 orig_tax_amt_tax_curr,
3379 rec_tax_amt,
3380 rec_tax_amt_tax_curr,
3381 rec_tax_amt_funcl_curr,
3382 nrec_tax_amt,
3383 nrec_tax_amt_tax_curr,
3384 nrec_tax_amt_funcl_curr,
3385 tax_exemption_id,
3386 tax_rate_before_exemption,
3387 tax_rate_name_before_exemption,
3388 exempt_rate_modifier,
3389 exempt_certificate_number,
3390 exempt_reason,
3391 exempt_reason_code,
3392 tax_exception_id,
3393 tax_rate_before_exception,
3394 tax_rate_name_before_exception,
3395 exception_rate,
3396 tax_apportionment_flag,
3397 historical_flag,
3398 taxable_basis_formula,
3399 tax_calculation_formula,
3400 cancel_flag,
3401 purge_flag,
3402 delete_flag,
3403 tax_amt_included_flag,
3404 self_assessed_flag,
3405 overridden_flag,
3406 manually_entered_flag,
3407 freeze_until_overridden_flag,
3408 copied_from_other_doc_flag,
3409 recalc_required_flag,
3410 settlement_flag,
3411 item_dist_changed_flag,
3412 associated_child_frozen_flag,
3413 tax_only_line_flag,
3414 compounding_dep_tax_flag,
3415 last_manual_entry,
3416 tax_provider_id,
3417 record_type_code,
3418 reporting_period_id,
3419 legal_message_appl_2,
3420 legal_message_status,
3421 legal_message_rate,
3422 legal_message_basis,
3423 legal_message_calc,
3424 legal_message_threshold,
3425 legal_message_pos,
3426 legal_message_trn,
3427 legal_message_exmpt,
3428 legal_message_excpt,
3429 tax_regime_template_id,
3430 tax_applicability_result_id,
3431 direct_rate_result_id,
3432 status_result_id,
3433 rate_result_id,
3434 basis_result_id,
3435 thresh_result_id,
3436 calc_result_id,
3437 tax_reg_num_det_result_id,
3438 eval_exmpt_result_id,
3439 eval_excpt_result_id,
3440 enforce_from_natural_acct_flag,
3441 tax_hold_code,
3442 tax_hold_released_code,
3443 prd_total_tax_amt,
3444 prd_total_tax_amt_tax_curr,
3445 prd_total_tax_amt_funcl_curr,
3446 internal_org_location_id,
3447 attribute_category,
3448 attribute1,
3449 attribute2,
3450 attribute3,
3451 attribute4,
3452 attribute5,
3453 attribute6,
3454 attribute7,
3455 attribute8,
3456 attribute9,
3457 attribute10,
3458 attribute11,
3459 attribute12,
3460 attribute13,
3461 attribute14,
3462 attribute15,
3463 global_attribute_category,
3464 global_attribute1,
3465 global_attribute2,
3466 global_attribute3,
3467 global_attribute4,
3468 global_attribute5,
3469 global_attribute6,
3470 global_attribute7,
3471 global_attribute8,
3472 global_attribute9,
3473 global_attribute10,
3474 global_attribute11,
3475 global_attribute12,
3476 global_attribute13,
3477 global_attribute14,
3478 global_attribute15,
3479 numeric1,
3480 numeric2,
3481 numeric3,
3482 numeric4,
3483 numeric5,
3484 numeric6,
3485 numeric7,
3486 numeric8,
3487 numeric9,
3488 numeric10,
3489 char1,
3490 char2,
3491 char3,
3492 char4,
3493 char5,
3494 char6,
3495 char7,
3496 char8,
3497 char9,
3498 char10,
3499 date1,
3500 date2,
3501 date3,
3502 date4,
3503 date5,
3504 date6,
3505 date7,
3506 date8,
3507 date9,
3508 date10,
3509 tax_rate_type,
3510 created_by,
3511 creation_date,
3512 last_updated_by,
3513 last_update_date,
3514 last_update_login,
3515 line_assessable_value,
3516 legal_justification_text1,
3517 legal_justification_text2,
3518 legal_justification_text3,
3519 reporting_currency_code,
3520 trx_line_index,
3521 offset_tax_rate_code,
3522 proration_code,
3523 other_doc_source,
3524 reporting_only_flag,
3525 ctrl_total_line_tx_amt,
3526 sync_with_prvdr_flag,
3527 interface_entity_code,
3528 interface_tax_line_id,
3529 taxing_juris_geography_id,
3530 adjusted_doc_tax_line_id,
3531 object_version_number,
3532 legal_reporting_status,
3533 account_source_tax_rate_id
3534 )
3535 (SELECT /*+ leading(G) index(l ZX_LINES_u1 ) */
3536 L.tax_line_id,
3537 L.internal_organization_id,
3538 L.application_id,
3539 L.entity_code,
3540 L.event_class_code,
3541 L.event_type_code,
3542 L.trx_id,
3543 L.trx_line_id,
3544 L.trx_level_type,
3545 L.trx_line_number,
3546 L.doc_event_status,
3547 L.tax_event_class_code,
3548 L.tax_event_type_code,
3549 L.tax_line_number,
3550 L.content_owner_id,
3551 L.tax_regime_id,
3552 L.tax_regime_code,
3553 L.tax_id,
3554 L.tax,
3555 L.tax_status_id,
3556 L.tax_status_code,
3557 L.tax_rate_id,
3558 L.tax_rate_code,
3559 L.tax_rate,
3560 -- bug 6906427
3561 NVL(-((SELECT max(ABS(tax_apportionment_line_number))
3562 FROM zx_detail_tax_lines_gt gt1
3563 WHERE gt1.application_id = L.application_id
3564 AND gt1.entity_code = L.entity_code
3565 AND gt1.event_class_code = L.event_class_code
3566 AND gt1.trx_id = L.trx_id
3567 AND gt1.trx_line_id = L.trx_line_id
3568 AND gt1.trx_level_type = L.trx_level_type
3569 AND gt1.tax_regime_code = L.tax_regime_code
3570 AND gt1.tax = L.tax
3571 -- ) + 1 -- Commented as a fix for Bug#7340317
3572 ) + L.tax_apportionment_line_number -- Added as a fix for Bug#7340317
3573 ),
3574 -L.tax_apportionment_line_number
3575 ),
3576 L.trx_id_level2,
3577 L.trx_id_level3,
3578 L.trx_id_level4,
3579 L.trx_id_level5,
3580 L.trx_id_level6,
3581 L.trx_user_key_level1,
3582 L.trx_user_key_level2,
3583 L.trx_user_key_level3,
3584 L.trx_user_key_level4,
3585 L.trx_user_key_level5,
3586 L.trx_user_key_level6,
3587 L.mrc_tax_line_flag,
3588 L.ledger_id,
3589 L.establishment_id,
3590 L.legal_entity_id,
3591 L.legal_entity_tax_reg_number,
3592 L.hq_estb_reg_number,
3593 L.hq_estb_party_tax_prof_id,
3594 L.currency_conversion_date,
3595 L.currency_conversion_type,
3596 L.currency_conversion_rate,
3597 L.tax_currency_conversion_date,
3598 L.tax_currency_conversion_type,
3599 L.tax_currency_conversion_rate,
3600 L.trx_currency_code,
3601 L.minimum_accountable_unit,
3602 L.precision,
3603 G.trx_number,
3604 L.trx_date,
3605 L.unit_price,
3606 L.line_amt,
3607 L.trx_line_quantity,
3608 L.tax_base_modifier_rate,
3609 L.ref_doc_application_id,
3610 L.ref_doc_entity_code,
3611 L.ref_doc_event_class_code,
3612 L.ref_doc_trx_id,
3613 L.ref_doc_line_id,
3614 L.ref_doc_line_quantity,
3615 L.other_doc_line_amt,
3616 L.other_doc_line_tax_amt,
3617 L.other_doc_line_taxable_amt,
3618 0, -- L.unrounded_taxable_amt,
3619 0, -- L.unrounded_tax_amt,
3620 L.related_doc_application_id,
3621 L.related_doc_entity_code,
3622 L.related_doc_event_class_code,
3623 L.related_doc_trx_id,
3624 L.related_doc_number,
3625 L.related_doc_date,
3626 L.applied_from_application_id,
3627 L.applied_from_event_class_code,
3628 L.applied_from_entity_code,
3629 L.applied_from_trx_id,
3630 L.applied_from_line_id,
3631 L.applied_from_trx_level_type,
3632 L.applied_from_trx_number,
3633 L.adjusted_doc_application_id,
3634 L.adjusted_doc_entity_code,
3635 L.adjusted_doc_event_class_code,
3636 L.adjusted_doc_trx_id,
3637 L.adjusted_doc_line_id,
3638 L.adjusted_doc_trx_level_type,
3639 L.adjusted_doc_number,
3640 L.adjusted_doc_date,
3641 L.applied_to_application_id,
3642 L.applied_to_event_class_code,
3643 L.applied_to_entity_code,
3644 L.applied_to_trx_id,
3645 L.applied_to_line_id,
3646 L.applied_to_trx_number,
3647 L.summary_tax_line_id,
3648 L.offset_link_to_tax_line_id,
3649 L.offset_flag,
3650 DECODE(L.Reporting_Only_Flag, 'N', 'Y', 'N'), -- L.Process_For_Recovery_Flag,
3651 L.tax_jurisdiction_id,
3652 L.tax_jurisdiction_code,
3653 L.place_of_supply,
3654 L.place_of_supply_type_code,
3655 L.place_of_supply_result_id,
3656 L.tax_date_rule_id,
3657 L.tax_date,
3658 L.tax_determine_date,
3659 L.tax_point_date,
3660 L.trx_line_date,
3661 L.tax_type_code,
3662 L.tax_code,
3663 L.tax_registration_id,
3664 L.tax_registration_number,
3665 L.registration_party_type,
3666 L.rounding_level_code,
3667 L.rounding_rule_code,
3668 L.rounding_lvl_party_tax_prof_id,
3669 L.rounding_lvl_party_type,
3670 L.compounding_tax_flag,
3671 L.orig_tax_status_id,
3672 L.orig_tax_status_code,
3673 L.orig_tax_rate_id,
3674 L.orig_tax_rate_code,
3675 L.orig_tax_rate,
3676 L.orig_tax_jurisdiction_id,
3677 L.orig_tax_jurisdiction_code,
3678 L.orig_tax_amt_included_flag,
3679 L.orig_self_assessed_flag,
3680 L.tax_currency_code,
3681 0, -- L.tax_amt,
3682 0, -- L.tax_amt_tax_curr,
3683 0, -- L.tax_amt_funcl_curr,
3684 0, -- L.taxable_amt,
3685 0, -- L.taxable_amt_tax_curr,
3686 0, -- L.taxable_amt_funcl_curr,
3687 DECODE(L.orig_taxable_amt, NULL,L.taxable_amt,
3688 L.orig_taxable_amt), -- L.orig_taxable_amt
3689 DECODE(L.orig_taxable_amt_tax_curr, NULL, L.taxable_amt_funcl_curr,
3690 L.orig_taxable_amt_tax_curr), -- L.orig_taxable_amt_tax_curr
3691 0, -- L.cal_tax_amt,
3692 0, -- L.cal_tax_amt_tax_curr,
3693 0, -- L.cal_tax_amt_funcl_curr,
3694 DECODE(L.orig_tax_amt, NULL, L.tax_amt,
3695 L.orig_tax_amt), -- L.orig_tax_amt
3696 DECODE(L.orig_tax_amt_tax_curr, NULL, L.tax_amt,
3697 L.orig_tax_amt_tax_curr), -- L.orig_tax_amt_tax_curr
3698 0, -- L.rec_tax_amt,
3699 0, -- L.rec_tax_amt_tax_curr,
3700 0, -- L.rec_tax_amt_funcl_curr,
3701 0, -- L.nrec_tax_amt,
3702 0, -- L.nrec_tax_amt_tax_curr,
3703 0, -- L.nrec_tax_amt_funcl_curr,
3704 L.tax_exemption_id,
3705 L.tax_rate_before_exemption,
3706 L.tax_rate_name_before_exemption,
3707 L.exempt_rate_modifier,
3708 L.exempt_certificate_number,
3709 L.exempt_reason,
3710 L.exempt_reason_code,
3711 L.tax_exception_id,
3712 L.tax_rate_before_exception,
3713 L.tax_rate_name_before_exception,
3714 L.exception_rate,
3715 L.tax_apportionment_flag,
3716 L.historical_flag,
3717 L.taxable_basis_formula,
3718 L.tax_calculation_formula,
3719 'Y', -- L.cancel_flag
3720 L.purge_flag,
3721 L.delete_flag,
3722 L.tax_amt_included_flag,
3723 L.self_assessed_flag,
3724 L.overridden_flag,
3725 L.manually_entered_flag,
3726 L.freeze_until_overridden_flag,
3727 L.copied_from_other_doc_flag,
3728 L.recalc_required_flag,
3729 L.settlement_flag,
3730 L.item_dist_changed_flag,
3731 L.associated_child_frozen_flag,
3732 L.tax_only_line_flag,
3733 L.compounding_dep_tax_flag,
3734 L.last_manual_entry,
3735 L.tax_provider_id,
3736 L.record_type_code,
3737 L.reporting_period_id,
3738 L.legal_message_appl_2,
3739 L.legal_message_status,
3740 L.legal_message_rate,
3741 L.legal_message_basis,
3742 L.legal_message_calc,
3743 L.legal_message_threshold,
3744 L.legal_message_pos,
3745 L.legal_message_trn,
3746 L.legal_message_exmpt,
3747 L.legal_message_excpt,
3748 L.tax_regime_template_id,
3749 L.tax_applicability_result_id,
3750 L.direct_rate_result_id,
3751 L.status_result_id,
3752 L.rate_result_id,
3753 L.basis_result_id,
3754 L.thresh_result_id,
3755 L.calc_result_id,
3756 L.tax_reg_num_det_result_id,
3757 L.eval_exmpt_result_id,
3758 L.eval_excpt_result_id,
3759 L.enforce_from_natural_acct_flag,
3760 NULL, -- L.tax_hold_code,
3761 NULL, -- L.tax_hold_released_code,
3762 NULL, -- L.prd_total_tax_amt,
3763 NULL, -- L.prd_total_tax_amt_tax_curr,
3764 NULL, -- L.prd_total_tax_amt_funcl_curr,
3765 L.internal_org_location_id,
3766 L.attribute_category,
3767 L.attribute1,
3768 L.attribute2,
3769 L.attribute3,
3770 L.attribute4,
3771 L.attribute5,
3772 L.attribute6,
3773 L.attribute7,
3774 L.attribute8,
3775 L.attribute9,
3776 L.attribute10,
3777 L.attribute11,
3778 L.attribute12,
3779 L.attribute13,
3780 L.attribute14,
3781 L.attribute15,
3782 L.global_attribute_category,
3783 L.global_attribute1,
3784 L.global_attribute2,
3785 L.global_attribute3,
3786 L.global_attribute4,
3787 L.global_attribute5,
3788 L.global_attribute6,
3789 L.global_attribute7,
3790 L.global_attribute8,
3791 L.global_attribute9,
3792 L.global_attribute10,
3793 L.global_attribute11,
3794 L.global_attribute12,
3795 L.global_attribute13,
3796 L.global_attribute14,
3797 L.global_attribute15,
3798 L.numeric1,
3799 L.numeric2,
3800 L.numeric3,
3801 L.numeric4,
3802 L.numeric5,
3803 L.numeric6,
3804 L.numeric7,
3805 L.numeric8,
3806 L.numeric9,
3807 L.numeric10,
3808 L.char1,
3809 L.char2,
3810 L.char3,
3811 L.char4,
3812 L.char5,
3813 L.char6,
3814 L.char7,
3815 L.char8,
3816 L.char9,
3817 L.char10,
3818 L.date1,
3819 L.date2,
3820 L.date3,
3821 L.date4,
3822 L.date5,
3823 L.date6,
3824 L.date7,
3825 L.date8,
3826 L.date9,
3827 L.date10,
3828 L.tax_rate_type,
3829 L.created_by,
3830 L.creation_date,
3831 L.last_updated_by,
3832 L.last_update_date,
3833 L.last_update_login,
3834 L.line_assessable_value,
3835 L.legal_justification_text1,
3836 L.legal_justification_text2,
3837 L.legal_justification_text3,
3838 L.reporting_currency_code,
3839 NULL, -- L.trx_line_index
3840 NULL, -- L.offset_tax_rate_code
3841 NULL, -- L.proration_code
3842 NULL, -- L.other_doc_source
3843 L.reporting_only_flag,
3844 L.ctrl_total_line_tx_amt,
3845 DECODE(L.tax_provider_id, NULL, L.sync_with_prvdr_flag, 'Y'),
3846 L.interface_entity_code,
3847 L.interface_tax_line_id,
3848 L.taxing_juris_geography_id,
3849 L.adjusted_doc_tax_line_id,
3850 1,
3851 DECODE(L.legal_reporting_status, '111111111111111',
3852 '000000000000000', L.legal_reporting_status),
3853 L.account_source_tax_rate_id
3854 FROM zx_lines L,
3855 zx_lines_det_factors G
3856 WHERE G.application_id = p_event_class_rec.application_id
3857 AND G.entity_code = p_event_class_rec.entity_code
3858 AND G.event_class_code = p_event_class_rec.event_class_code
3859 -- AND G.trx_id = p_event_class_rec.trx_id
3860 AND G.event_id = p_event_class_rec.event_id
3861 AND L.trx_id = G.trx_id
3862 AND L.trx_line_id = G.trx_line_id
3863 AND L.trx_level_type = G.trx_level_type
3864 AND L.event_class_code = G.event_class_code
3865 AND L.entity_code = G.entity_code
3866 AND L.application_id = G.application_id
3867 AND L.associated_child_frozen_flag = 'Y'
3868 AND L.cancel_flag <> 'Y'
3869 -- bug 6906427
3870 AND G.line_level_action = 'UPDATE'
3871 AND NOT EXISTS ( SELECT 1
3872 FROM zx_detail_tax_lines_gt T
3873 WHERE T.tax_line_id = L.tax_line_id
3874 -- bug 8470599 these columns are redundant and are doing index range scan on ZX_DETAIL_TAX_LINES_GT_U1
3875 -- AND T.trx_id = L.trx_id
3876 -- AND T.trx_line_id = L.trx_line_id
3877 -- AND T.event_class_code = L.event_class_code
3878 -- AND T.entity_code = L.entity_code
3879 -- AND T.application_id = L.application_id
3880 -- AND T.trx_level_type = L.trx_level_type
3881 -- AND T.tax = L.tax
3882 -- AND T.tax_regime_code = L.tax_regime_code
3883 -- AND T.tax_status_code = L.tax_status_code
3884 -- AND T.tax_line_number = L.tax_line_number
3885 )
3886 );
3887
3888 IF (g_level_statement >= g_current_runtime_level ) THEN
3889 FND_LOG.STRING(g_level_statement,
3890 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_frozen_tax_lines',
3891 'Number of Rows Inserted: ' || SQL%ROWCOUNT);
3892 END IF;
3893
3894 END IF; -- tax_event_type_code = OVERRIDE_TAX, or else
3895
3896 IF (g_level_procedure >= g_current_runtime_level ) THEN
3897 FND_LOG.STRING(g_level_procedure,
3898 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_frozen_tax_lines',
3899 'p_return_status = ' || p_return_status);
3900 FND_LOG.STRING(g_level_procedure,
3901 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_frozen_tax_lines',
3902 'p_error_buffer = ' || p_error_buffer);
3903 FND_LOG.STRING(g_level_procedure,
3904 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_frozen_tax_lines.END',
3905 'ZX_TDS_TAX_LINES_POPU_PKG: process_frozen_tax_lines(-)');
3906 END IF;
3907
3908 EXCEPTION
3909 WHEN OTHERS THEN
3910 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3911 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
3912
3913 IF (g_level_unexpected >= g_current_runtime_level ) THEN
3914 FND_LOG.STRING(g_level_unexpected,
3915 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_frozen_tax_lines',
3916 p_error_buffer);
3917 END IF;
3918
3919 END process_frozen_tax_lines;
3920
3921 -----------------------------------------------------------------------
3922 -- PUBLIC PROCEDURE
3923 -- process_discard_tax_lines
3924 --
3925 -- DESCRIPTION
3926 -- This procedure brings all discarded tax lines from zx_lines into
3927 -- detail tax lines global temp table
3928 --
3929 -- CALLED BY
3930 -- ZX_TDS_TAX_LINES_DETM_PKG
3931
3932 PROCEDURE process_discard_tax_lines(
3933 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
3934 p_return_status OUT NOCOPY VARCHAR2,
3935 p_error_buffer OUT NOCOPY VARCHAR2)
3936
3937 IS
3938 BEGIN
3939
3940 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
3941
3942 IF (g_level_procedure >= g_current_runtime_level ) THEN
3943 FND_LOG.STRING(g_level_procedure,
3944 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_discard_tax_lines.BEGIN',
3945 'ZX_TDS_TAX_LINES_POPU_PKG: process_discard_tax_lines(+)');
3946 END IF;
3947
3948 p_return_status := FND_API.G_RET_STS_SUCCESS;
3949
3950 -- bug 8470599 forcing the driving table in select clause from zx_lines_det_factors
3951 INSERT INTO zx_detail_tax_lines_gt
3952 ( tax_line_id,
3953 internal_organization_id,
3954 application_id,
3955 entity_code,
3956 event_class_code,
3957 event_type_code,
3958 trx_id,
3959 trx_line_id,
3960 trx_level_type,
3961 trx_line_number,
3962 doc_event_status,
3963 -- line_event_status,
3964 tax_event_class_code,
3965 tax_event_type_code,
3966 tax_line_number,
3967 content_owner_id,
3968 tax_regime_id,
3969 tax_regime_code,
3970 tax_id,
3971 tax,
3972 tax_status_id,
3973 tax_status_code,
3974 tax_rate_id,
3975 tax_rate_code,
3976 tax_rate,
3977 tax_apportionment_line_number,
3978 trx_id_level2,
3979 trx_id_level3,
3980 trx_id_level4,
3981 trx_id_level5,
3982 trx_id_level6,
3983 trx_user_key_level1,
3984 trx_user_key_level2,
3985 trx_user_key_level3,
3986 trx_user_key_level4,
3987 trx_user_key_level5,
3988 trx_user_key_level6,
3989 mrc_tax_line_flag,
3990 ledger_id,
3991 establishment_id,
3992 legal_entity_id,
3993 legal_entity_tax_reg_number,
3994 hq_estb_reg_number,
3995 hq_estb_party_tax_prof_id,
3996 currency_conversion_date,
3997 currency_conversion_type,
3998 currency_conversion_rate,
3999 tax_currency_conversion_date,
4000 tax_currency_conversion_type,
4001 tax_currency_conversion_rate,
4002 trx_currency_code,
4003 minimum_accountable_unit,
4004 precision,
4005 trx_number,
4006 trx_date,
4007 unit_price,
4008 line_amt,
4009 trx_line_quantity,
4010 tax_base_modifier_rate,
4011 ref_doc_application_id,
4012 ref_doc_entity_code,
4013 ref_doc_event_class_code,
4014 ref_doc_trx_id,
4015 ref_doc_line_id,
4016 ref_doc_line_quantity,
4017 other_doc_line_amt,
4018 other_doc_line_tax_amt,
4019 other_doc_line_taxable_amt,
4020 unrounded_taxable_amt,
4021 unrounded_tax_amt,
4022 related_doc_application_id,
4023 related_doc_entity_code,
4024 related_doc_event_class_code,
4025 related_doc_trx_id,
4026 related_doc_number,
4027 related_doc_date,
4028 applied_from_application_id,
4029 applied_from_event_class_code,
4030 applied_from_entity_code,
4031 applied_from_trx_id,
4032 applied_from_line_id,
4033 applied_from_trx_level_type,
4034 applied_from_trx_number,
4035 adjusted_doc_application_id,
4036 adjusted_doc_entity_code,
4037 adjusted_doc_event_class_code,
4038 adjusted_doc_trx_id,
4039 adjusted_doc_line_id,
4040 adjusted_doc_trx_level_type,
4041 adjusted_doc_number,
4042 adjusted_doc_date,
4043 applied_to_application_id,
4044 applied_to_event_class_code,
4045 applied_to_entity_code,
4046 applied_to_trx_id,
4047 applied_to_line_id,
4048 applied_to_trx_level_type,
4049 applied_to_trx_number,
4050 summary_tax_line_id,
4051 offset_link_to_tax_line_id,
4052 offset_flag,
4053 process_for_recovery_flag,
4054 tax_jurisdiction_id,
4055 tax_jurisdiction_code,
4056 place_of_supply,
4057 place_of_supply_type_code,
4058 place_of_supply_result_id,
4059 tax_date_rule_id,
4060 tax_date,
4061 tax_determine_date,
4062 tax_point_date,
4063 trx_line_date,
4064 tax_type_code,
4065 tax_code,
4066 tax_registration_id,
4067 tax_registration_number,
4068 registration_party_type,
4069 rounding_level_code,
4070 rounding_rule_code,
4071 rounding_lvl_party_tax_prof_id,
4072 rounding_lvl_party_type,
4073 compounding_tax_flag,
4074 orig_tax_status_id,
4075 orig_tax_status_code,
4076 orig_tax_rate_id,
4077 orig_tax_rate_code,
4078 orig_tax_rate,
4079 orig_tax_jurisdiction_id,
4080 orig_tax_jurisdiction_code,
4081 orig_tax_amt_included_flag,
4082 orig_self_assessed_flag,
4083 tax_currency_code,
4084 tax_amt,
4085 tax_amt_tax_curr,
4086 tax_amt_funcl_curr,
4087 taxable_amt,
4088 taxable_amt_tax_curr,
4089 taxable_amt_funcl_curr,
4090 orig_taxable_amt,
4091 orig_taxable_amt_tax_curr,
4092 cal_tax_amt,
4093 cal_tax_amt_tax_curr,
4094 cal_tax_amt_funcl_curr,
4095 orig_tax_amt,
4096 orig_tax_amt_tax_curr,
4097 rec_tax_amt,
4098 rec_tax_amt_tax_curr,
4099 rec_tax_amt_funcl_curr,
4100 nrec_tax_amt,
4101 nrec_tax_amt_tax_curr,
4102 nrec_tax_amt_funcl_curr,
4103 tax_exemption_id,
4104 tax_rate_before_exemption,
4105 tax_rate_name_before_exemption,
4106 exempt_rate_modifier,
4107 exempt_certificate_number,
4108 exempt_reason,
4109 exempt_reason_code,
4110 tax_exception_id,
4111 tax_rate_before_exception,
4112 tax_rate_name_before_exception,
4113 exception_rate,
4114 tax_apportionment_flag,
4115 historical_flag,
4116 taxable_basis_formula,
4117 tax_calculation_formula,
4118 cancel_flag,
4119 purge_flag,
4120 delete_flag,
4121 tax_amt_included_flag,
4122 self_assessed_flag,
4123 overridden_flag,
4124 manually_entered_flag,
4125 freeze_until_overridden_flag,
4126 copied_from_other_doc_flag,
4127 recalc_required_flag,
4128 settlement_flag,
4129 item_dist_changed_flag,
4130 associated_child_frozen_flag,
4131 tax_only_line_flag,
4132 compounding_dep_tax_flag,
4133 last_manual_entry,
4134 tax_provider_id,
4135 record_type_code,
4136 reporting_period_id,
4137 legal_message_appl_2,
4138 legal_message_status,
4139 legal_message_rate,
4140 legal_message_basis,
4141 legal_message_calc,
4142 legal_message_threshold,
4143 legal_message_pos,
4144 legal_message_trn,
4145 legal_message_exmpt,
4146 legal_message_excpt,
4147 tax_regime_template_id,
4148 tax_applicability_result_id,
4149 direct_rate_result_id,
4150 status_result_id,
4151 rate_result_id,
4152 basis_result_id,
4153 thresh_result_id,
4154 calc_result_id,
4155 tax_reg_num_det_result_id,
4156 eval_exmpt_result_id,
4157 eval_excpt_result_id,
4158 enforce_from_natural_acct_flag,
4159 tax_hold_code,
4160 tax_hold_released_code,
4161 prd_total_tax_amt,
4162 prd_total_tax_amt_tax_curr,
4163 prd_total_tax_amt_funcl_curr,
4164 internal_org_location_id,
4165 attribute_category,
4166 attribute1,
4167 attribute2,
4168 attribute3,
4169 attribute4,
4170 attribute5,
4171 attribute6,
4172 attribute7,
4173 attribute8,
4174 attribute9,
4175 attribute10,
4176 attribute11,
4177 attribute12,
4178 attribute13,
4179 attribute14,
4180 attribute15,
4181 global_attribute_category,
4182 global_attribute1,
4183 global_attribute2,
4184 global_attribute3,
4185 global_attribute4,
4186 global_attribute5,
4187 global_attribute6,
4188 global_attribute7,
4189 global_attribute8,
4190 global_attribute9,
4191 global_attribute10,
4192 global_attribute11,
4193 global_attribute12,
4194 global_attribute13,
4195 global_attribute14,
4196 global_attribute15,
4197 numeric1,
4198 numeric2,
4199 numeric3,
4200 numeric4,
4201 numeric5,
4202 numeric6,
4203 numeric7,
4204 numeric8,
4205 numeric9,
4206 numeric10,
4207 char1,
4208 char2,
4209 char3,
4210 char4,
4211 char5,
4212 char6,
4213 char7,
4214 char8,
4215 char9,
4216 char10,
4217 date1,
4218 date2,
4219 date3,
4220 date4,
4221 date5,
4222 date6,
4223 date7,
4224 date8,
4225 date9,
4226 date10,
4227 tax_rate_type,
4228 created_by,
4229 creation_date,
4230 last_updated_by,
4231 last_update_date,
4232 last_update_login,
4233 line_assessable_value,
4234 legal_justification_text1,
4235 legal_justification_text2,
4236 legal_justification_text3,
4237 reporting_currency_code,
4238 trx_line_index,
4239 offset_tax_rate_code,
4240 proration_code,
4241 other_doc_source,
4242 reporting_only_flag,
4243 ctrl_total_line_tx_amt,
4244 sync_with_prvdr_flag,
4245 interface_entity_code,
4246 interface_tax_line_id,
4247 taxing_juris_geography_id,
4248 adjusted_doc_tax_line_id,
4249 object_version_number,
4250 legal_reporting_status,
4251 account_source_tax_rate_id
4252 )
4253 (SELECT /*+ leading(G) */
4254 L.tax_line_id,
4255 L.internal_organization_id,
4256 L.application_id,
4257 L.entity_code,
4258 L.event_class_code,
4259 L.event_type_code,
4260 L.trx_id,
4261 L.trx_line_id,
4262 L.trx_level_type,
4263 L.trx_line_number,
4264 L.doc_event_status,
4265 -- L.line_event_status,
4266 L.tax_event_class_code,
4267 L.tax_event_type_code,
4268 L.tax_line_number,
4269 L.content_owner_id,
4270 L.tax_regime_id,
4271 L.tax_regime_code,
4272 L.tax_id,
4273 L.tax,
4274 L.tax_status_id,
4275 L.tax_status_code,
4276 L.tax_rate_id,
4277 L.tax_rate_code,
4278 L.tax_rate,
4279 L.tax_apportionment_line_number,
4280 L.trx_id_level2,
4281 L.trx_id_level3,
4282 L.trx_id_level4,
4283 L.trx_id_level5,
4284 L.trx_id_level6,
4285 L.trx_user_key_level1,
4286 L.trx_user_key_level2,
4287 L.trx_user_key_level3,
4288 L.trx_user_key_level4,
4289 L.trx_user_key_level5,
4290 L.trx_user_key_level6,
4291 L.mrc_tax_line_flag,
4292 G.ledger_id,
4293 G.establishment_id,
4294 G.legal_entity_id,
4295 L.legal_entity_tax_reg_number,
4296 L.hq_estb_reg_number,
4297 L.hq_estb_party_tax_prof_id,
4298 G.currency_conversion_date,
4299 G.currency_conversion_type,
4300 G.currency_conversion_rate,
4301 L.tax_currency_conversion_date,
4302 L.tax_currency_conversion_type,
4303 L.tax_currency_conversion_rate,
4304 L.trx_currency_code,
4305 L.minimum_accountable_unit,
4306 L.precision,
4307 G.trx_number,
4308 G.trx_date,
4309 L.unit_price,
4310 L.line_amt,
4311 L.trx_line_quantity,
4312 L.tax_base_modifier_rate,
4313 L.ref_doc_application_id,
4314 L.ref_doc_entity_code,
4315 L.ref_doc_event_class_code,
4316 L.ref_doc_trx_id,
4317 L.ref_doc_line_id,
4318 L.ref_doc_line_quantity,
4319 L.other_doc_line_amt,
4320 L.other_doc_line_tax_amt,
4321 L.other_doc_line_taxable_amt,
4322 0, -- L.unrounded_taxable_amt
4323 0, -- L.unrounded_tax_amt
4324 L.related_doc_application_id,
4325 L.related_doc_entity_code,
4326 L.related_doc_event_class_code,
4327 L.related_doc_trx_id,
4328 L.related_doc_number,
4329 L.related_doc_date,
4330 L.applied_from_application_id,
4331 L.applied_from_event_class_code,
4332 L.applied_from_entity_code,
4333 L.applied_from_trx_id,
4334 L.applied_from_line_id,
4335 L.applied_from_trx_level_type,
4336 L.applied_from_trx_number,
4337 L.adjusted_doc_application_id,
4338 L.adjusted_doc_entity_code,
4339 L.adjusted_doc_event_class_code,
4340 L.adjusted_doc_trx_id,
4341 L.adjusted_doc_line_id,
4342 L.adjusted_doc_trx_level_type,
4343 L.adjusted_doc_number,
4344 L.adjusted_doc_date,
4345 L.applied_to_application_id,
4346 L.applied_to_event_class_code,
4347 L.applied_to_entity_code,
4348 L.applied_to_trx_id,
4349 L.applied_to_line_id,
4350 L.applied_to_trx_level_type,
4351 L.applied_to_trx_number,
4352 L.summary_tax_line_id,
4353 L.offset_link_to_tax_line_id,
4354 L.offset_flag,
4355 DECODE(L.historical_flag,'Y','Y','N'), -- L.Process_For_Recovery_Flag
4356 L.tax_jurisdiction_id,
4357 L.tax_jurisdiction_code,
4358 L.place_of_supply,
4359 L.place_of_supply_type_code,
4360 L.place_of_supply_result_id,
4361 L.tax_date_rule_id,
4362 L.tax_date,
4363 L.tax_determine_date,
4364 L.tax_point_date,
4365 L.trx_line_date,
4366 L.tax_type_code,
4367 L.tax_code,
4368 L.tax_registration_id,
4369 L.tax_registration_number,
4370 L.registration_party_type,
4371 L.rounding_level_code,
4372 L.rounding_rule_code,
4373 L.rounding_lvl_party_tax_prof_id,
4374 L.rounding_lvl_party_type,
4375 L.compounding_tax_flag,
4376 L.orig_tax_status_id,
4377 L.orig_tax_status_code,
4378 L.orig_tax_rate_id,
4379 L.orig_tax_rate_code,
4380 L.orig_tax_rate,
4381 L.orig_tax_jurisdiction_id,
4382 L.orig_tax_jurisdiction_code,
4383 L.orig_tax_amt_included_flag,
4384 L.orig_self_assessed_flag,
4385 L.tax_currency_code,
4386 0, -- L.tax_amt
4387 0, -- L.tax_amt_tax_curr
4388 0, -- L.tax_amt_funcl_curr ??
4389 0, -- taxable_amt
4390 0, -- taxable_amt_tax_curr
4391 0, -- L.taxable_amt_funcl_curr ??
4392 DECODE(L.orig_taxable_amt, NULL, L.taxable_amt,
4393 L.orig_taxable_amt), -- orig_taxable_amt
4394 DECODE(L.orig_taxable_amt_tax_curr, NULL, L.taxable_amt_tax_curr,
4395 L.orig_taxable_amt_tax_curr), -- orig_taxable_amt_tax_curr
4396 0, -- L.cal_tax_amt
4397 0, -- L.cal_tax_amt_tax_curr
4398 0, -- L.cal_tax_amt_funcl_curr ??
4399 DECODE(L.orig_tax_amt, NULL, L.tax_amt,
4400 L.orig_tax_amt), -- L.orig_tax_amt,
4401 DECODE(L.orig_tax_amt_tax_curr, NULL, L.tax_amt_tax_curr,
4402 L.orig_tax_amt_tax_curr), -- L.orig_tax_amt_tax_curr
4403 0, -- L.rec_tax_amt
4404 0, -- L.rec_tax_amt_tax_curr
4405 0, -- L.rec_tax_amt_funcl_curr ??
4406 0, -- L.nrec_tax_amt
4407 0, -- L.nrec_tax_amt_tax_curr
4408 0, -- L.nrec_tax_amt_funcl_curr ??
4409 L.tax_exemption_id,
4410 L.tax_rate_before_exemption,
4411 L.tax_rate_name_before_exemption,
4412 L.exempt_rate_modifier,
4413 L.exempt_certificate_number,
4414 L.exempt_reason,
4415 L.exempt_reason_code,
4416 L.tax_exception_id,
4417 L.tax_rate_before_exception,
4418 L.tax_rate_name_before_exception,
4419 L.exception_rate,
4420 L.tax_apportionment_flag,
4421 L.historical_flag,
4422 L.taxable_basis_formula,
4423 L.tax_calculation_formula,
4424 'Y', -- DECODE(L.historical_flag, 'Y', 'Y', L.cancel_flag),
4425 L.purge_flag,
4426 L.delete_flag,
4427 L.tax_amt_included_flag,
4428 L.self_assessed_flag,
4429 L.overridden_flag,
4430 L.manually_entered_flag,
4431 L.freeze_until_overridden_flag,
4432 L.copied_from_other_doc_flag,
4433 L.recalc_required_flag,
4434 L.settlement_flag,
4435 L.item_dist_changed_flag,
4436 L.associated_child_frozen_flag,
4437 L.tax_only_line_flag,
4438 L.compounding_dep_tax_flag,
4439 L.last_manual_entry,
4440 L.tax_provider_id,
4441 L.record_type_code,
4442 L.reporting_period_id,
4443 L.legal_message_appl_2,
4444 L.legal_message_status,
4445 L.legal_message_rate,
4446 L.legal_message_basis,
4447 L.legal_message_calc,
4448 L.legal_message_threshold,
4449 L.legal_message_pos,
4450 L.legal_message_trn,
4451 L.legal_message_exmpt,
4452 L.legal_message_excpt,
4453 L.tax_regime_template_id,
4454 L.tax_applicability_result_id,
4455 L.direct_rate_result_id,
4456 L.status_result_id,
4457 L.rate_result_id,
4458 L.basis_result_id,
4459 L.thresh_result_id,
4460 L.calc_result_id,
4461 L.tax_reg_num_det_result_id,
4462 L.eval_exmpt_result_id,
4463 L.eval_excpt_result_id,
4464 L.enforce_from_natural_acct_flag,
4465 NULL, --L.tax_hold_code,
4466 NULL, --L.tax_hold_released_code,
4467 NULL, -- L.prd_total_tax_amt
4468 NULL, -- L.prd_total_tax_amt_tax_curr
4469 NULL, -- L.prd_total_tax_amt_funcl_curr
4470 L.internal_org_location_id,
4471 L.attribute_category,
4472 L.attribute1,
4473 L.attribute2,
4474 L.attribute3,
4475 L.attribute4,
4476 L.attribute5,
4477 L.attribute6,
4478 L.attribute7,
4479 L.attribute8,
4480 L.attribute9,
4481 L.attribute10,
4482 L.attribute11,
4483 L.attribute12,
4484 L.attribute13,
4485 L.attribute14,
4486 L.attribute15,
4487 L.global_attribute_category,
4488 L.global_attribute1,
4489 L.global_attribute2,
4490 L.global_attribute3,
4491 L.global_attribute4,
4492 L.global_attribute5,
4493 L.global_attribute6,
4494 L.global_attribute7,
4495 L.global_attribute8,
4496 L.global_attribute9,
4497 L.global_attribute10,
4498 L.global_attribute11,
4499 L.global_attribute12,
4500 L.global_attribute13,
4501 L.global_attribute14,
4502 L.global_attribute15,
4503 L.numeric1,
4504 L.numeric2,
4505 L.numeric3,
4506 L.numeric4,
4507 L.numeric5,
4508 L.numeric6,
4509 L.numeric7,
4510 L.numeric8,
4511 L.numeric9,
4512 L.numeric10,
4513 L.char1,
4514 L.char2,
4515 L.char3,
4516 L.char4,
4517 L.char5,
4518 L.char6,
4519 L.char7,
4520 L.char8,
4521 L.char9,
4522 L.char10,
4523 L.date1,
4524 L.date2,
4525 L.date3,
4526 L.date4,
4527 L.date5,
4528 L.date6,
4529 L.date7,
4530 L.date8,
4531 L.date9,
4532 L.date10,
4533 L.tax_rate_type,
4534 L.created_by,
4535 L.creation_date,
4536 fnd_global.user_id, --L.last_updated_by,
4537 SYSDATE, --L.last_update_date,
4538 fnd_global.login_id,--L.last_update_login,
4539 L.line_assessable_value,
4540 L.legal_justification_text1,
4541 L.legal_justification_text2,
4542 L.legal_justification_text3,
4543 L.reporting_currency_code,
4544 NULL, -- L.trx_line_index
4545 NULL, -- L.offset_tax_rate_code
4546 NULL, -- L.proration_code
4547 NULL, -- L.other_doc_source
4548 L.reporting_only_flag,
4549 L.ctrl_total_line_tx_amt,
4550 L.sync_with_prvdr_flag,
4551 L.interface_entity_code,
4552 L.interface_tax_line_id,
4553 L.taxing_juris_geography_id,
4554 L.adjusted_doc_tax_line_id,
4555 1,
4556 decode(L.legal_reporting_status,'111111111111111',
4557 '000000000000000',L.legal_reporting_status),
4558 L.account_source_tax_rate_id
4559 FROM ZX_LINES L,
4560 zx_lines_det_factors G
4561 WHERE G.application_id = p_event_class_rec.application_id AND
4562 G.entity_code = p_event_class_rec.entity_code AND
4563 G.event_class_code = p_event_class_rec.event_class_code AND
4564 -- G.trx_id = p_event_class_rec.trx_id AND
4565 G.event_id = p_event_class_rec.event_id AND
4566 L.trx_id = G.trx_id AND
4567 L.trx_line_id = G.trx_line_id AND
4568 L.trx_level_type = G.trx_level_type AND
4569 L.event_class_code = G.event_class_code AND
4570 -- L.event_type_code = G.event_type_code AND
4571 L.entity_code = G.entity_code AND
4572 L.application_id = G.application_id AND
4573 -- L.subscriber_id = G.subscriber_id AND
4574 G.line_level_action IN ('DISCARD', 'UNAPPLY_FROM') AND
4575 L.tax_provider_id IS NULL
4576 AND NOT EXISTS
4577 (SELECT /*+ INDEX(gt ZX_DETAIL_TAX_LINES_GT_U1) */
4578 1
4579 FROM zx_detail_tax_lines_gt gt
4580 WHERE gt.application_id = L.application_id
4581 AND gt.entity_code = L.entity_code
4582 AND gt.event_class_code = L.event_class_code
4583 AND gt.trx_id = L.trx_id
4584 AND gt.trx_line_id = L.trx_line_id
4585 AND gt.trx_level_type = L.trx_level_type
4586 AND gt.tax_regime_code = L.tax_regime_code
4587 AND gt.tax = L.tax
4588 AND NVL(gt.tax_apportionment_line_number, -999999) =
4589 NVL(L.tax_apportionment_line_number, -999999)
4590 )
4591 );
4592
4593 IF (g_level_procedure >= g_current_runtime_level ) THEN
4594 FND_LOG.STRING(g_level_procedure,
4595 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_discard_tax_lines',
4596 'Number of Rows Inserted: ' || SQL%ROWCOUNT);
4597 FND_LOG.STRING(g_level_procedure,
4598 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_discard_tax_lines',
4599 'p_return_status = ' || p_return_status);
4600 FND_LOG.STRING(g_level_procedure,
4601 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_discard_tax_lines',
4602 'p_error_buffer = ' || p_error_buffer);
4603 FND_LOG.STRING(g_level_procedure,
4604 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_discard_tax_lines.END',
4605 'ZX_TDS_TAX_LINES_POPU_PKG: process_discard_tax_lines(-)');
4606 END IF;
4607
4608 EXCEPTION
4609 WHEN OTHERS THEN
4610 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4611 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
4612
4613 IF (g_level_unexpected >= g_current_runtime_level ) THEN
4614 FND_LOG.STRING(g_level_unexpected,
4615 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_discard_tax_lines',
4616 p_error_buffer);
4617 END IF;
4618
4619 END process_discard_tax_lines;
4620
4621 -----------------------------------------------------------------------
4622 -- PUBLIC PROCEDURE
4623 -- process_cancel_trx_lines
4624 --
4625 -- DESCRIPTION
4626 -- This procedure processes cancelled trx lines (line_level_action='CANCEL')
4627 -- It brings all tax lines from zx_lines into detail tax lines global temp table
4628 -- and mark them as cancelled
4629 --
4630 -- CALLED BY
4631 -- ZX_TDS_TAX_LINES_DETM_PKG
4632
4633 PROCEDURE process_cancel_trx_lines(
4634 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
4635 p_return_status OUT NOCOPY VARCHAR2,
4636 p_error_buffer OUT NOCOPY VARCHAR2)
4637
4638 IS
4639 BEGIN
4640
4641 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
4642
4643 IF (g_level_procedure >= g_current_runtime_level ) THEN
4644 FND_LOG.STRING(g_level_procedure,
4645 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_trx_lines.BEGIN',
4646 'ZX_TDS_TAX_LINES_POPU_PKG: process_cancel_trx_lines(+)');
4647 END IF;
4648
4649 p_return_status := FND_API.G_RET_STS_SUCCESS;
4650
4651 -- bug 8470599 forcing the driving table in select clause from zx_lines_det_factors
4652 INSERT INTO zx_detail_tax_lines_gt
4653 ( tax_line_id,
4654 internal_organization_id,
4655 application_id,
4656 entity_code,
4657 event_class_code,
4658 event_type_code,
4659 trx_id,
4660 trx_line_id,
4661 trx_level_type,
4662 trx_line_number,
4663 doc_event_status,
4664 tax_event_class_code,
4665 tax_event_type_code,
4666 tax_line_number,
4667 content_owner_id,
4668 tax_regime_id,
4669 tax_regime_code,
4670 tax_id,
4671 tax,
4672 tax_status_id,
4673 tax_status_code,
4674 tax_rate_id,
4675 tax_rate_code,
4676 tax_rate,
4677 tax_apportionment_line_number,
4678 trx_id_level2,
4679 trx_id_level3,
4680 trx_id_level4,
4681 trx_id_level5,
4682 trx_id_level6,
4683 trx_user_key_level1,
4684 trx_user_key_level2,
4685 trx_user_key_level3,
4686 trx_user_key_level4,
4687 trx_user_key_level5,
4688 trx_user_key_level6,
4689 mrc_tax_line_flag,
4690 ledger_id,
4691 establishment_id,
4692 legal_entity_id,
4693 legal_entity_tax_reg_number,
4694 hq_estb_reg_number,
4695 hq_estb_party_tax_prof_id,
4696 currency_conversion_date,
4697 currency_conversion_type,
4698 currency_conversion_rate,
4699 tax_currency_conversion_date,
4700 tax_currency_conversion_type,
4701 tax_currency_conversion_rate,
4702 trx_currency_code,
4703 minimum_accountable_unit,
4704 precision,
4705 trx_number,
4706 trx_date,
4707 unit_price,
4708 line_amt,
4709 trx_line_quantity,
4710 tax_base_modifier_rate,
4711 ref_doc_application_id,
4712 ref_doc_entity_code,
4713 ref_doc_event_class_code,
4714 ref_doc_trx_id,
4715 ref_doc_line_id,
4716 ref_doc_line_quantity,
4717 other_doc_line_amt,
4718 other_doc_line_tax_amt,
4719 other_doc_line_taxable_amt,
4720 unrounded_taxable_amt,
4721 unrounded_tax_amt,
4722 related_doc_application_id,
4723 related_doc_entity_code,
4724 related_doc_event_class_code,
4725 related_doc_trx_id,
4726 related_doc_number,
4727 related_doc_date,
4728 applied_from_application_id,
4729 applied_from_event_class_code,
4730 applied_from_entity_code,
4731 applied_from_trx_id,
4732 applied_from_line_id,
4733 applied_from_trx_level_type,
4734 applied_from_trx_number,
4735 adjusted_doc_application_id,
4736 adjusted_doc_entity_code,
4737 adjusted_doc_event_class_code,
4738 adjusted_doc_trx_id,
4739 adjusted_doc_line_id,
4740 adjusted_doc_trx_level_type,
4741 adjusted_doc_number,
4742 adjusted_doc_date,
4743 applied_to_application_id,
4744 applied_to_event_class_code,
4745 applied_to_entity_code,
4746 applied_to_trx_id,
4747 applied_to_line_id,
4748 applied_to_trx_number,
4749 summary_tax_line_id,
4750 offset_link_to_tax_line_id,
4751 offset_flag,
4752 process_for_recovery_flag,
4753 tax_jurisdiction_id,
4754 tax_jurisdiction_code,
4755 place_of_supply,
4756 place_of_supply_type_code,
4757 place_of_supply_result_id,
4758 tax_date_rule_id,
4759 tax_date,
4760 tax_determine_date,
4761 tax_point_date,
4762 trx_line_date,
4763 tax_type_code,
4764 tax_code,
4765 tax_registration_id,
4766 tax_registration_number,
4767 registration_party_type,
4768 rounding_level_code,
4769 rounding_rule_code,
4770 rounding_lvl_party_tax_prof_id,
4771 rounding_lvl_party_type,
4772 compounding_tax_flag,
4773 orig_tax_status_id,
4774 orig_tax_status_code,
4775 orig_tax_rate_id,
4776 orig_tax_rate_code,
4777 orig_tax_rate,
4778 orig_tax_jurisdiction_id,
4779 orig_tax_jurisdiction_code,
4780 orig_tax_amt_included_flag,
4781 orig_self_assessed_flag,
4782 tax_currency_code,
4783 tax_amt,
4784 tax_amt_tax_curr,
4785 tax_amt_funcl_curr,
4786 taxable_amt,
4787 taxable_amt_tax_curr,
4788 taxable_amt_funcl_curr,
4789 orig_taxable_amt,
4790 orig_taxable_amt_tax_curr,
4791 cal_tax_amt,
4792 cal_tax_amt_tax_curr,
4793 cal_tax_amt_funcl_curr,
4794 orig_tax_amt,
4795 orig_tax_amt_tax_curr,
4796 rec_tax_amt,
4797 rec_tax_amt_tax_curr,
4798 rec_tax_amt_funcl_curr,
4799 nrec_tax_amt,
4800 nrec_tax_amt_tax_curr,
4801 nrec_tax_amt_funcl_curr,
4802 tax_exemption_id,
4803 tax_rate_before_exemption,
4804 tax_rate_name_before_exemption,
4805 exempt_rate_modifier,
4806 exempt_certificate_number,
4807 exempt_reason,
4808 exempt_reason_code,
4809 tax_exception_id,
4810 tax_rate_before_exception,
4811 tax_rate_name_before_exception,
4812 exception_rate,
4813 tax_apportionment_flag,
4814 historical_flag,
4815 taxable_basis_formula,
4816 tax_calculation_formula,
4817 cancel_flag,
4818 purge_flag,
4819 delete_flag,
4820 tax_amt_included_flag,
4821 self_assessed_flag,
4822 overridden_flag,
4823 manually_entered_flag,
4824 freeze_until_overridden_flag,
4825 copied_from_other_doc_flag,
4826 recalc_required_flag,
4827 settlement_flag,
4828 item_dist_changed_flag,
4829 associated_child_frozen_flag,
4830 tax_only_line_flag,
4831 compounding_dep_tax_flag,
4832 last_manual_entry,
4833 tax_provider_id,
4834 record_type_code,
4835 reporting_period_id,
4836 legal_message_appl_2,
4837 legal_message_status,
4838 legal_message_rate,
4839 legal_message_basis,
4840 legal_message_calc,
4841 legal_message_threshold,
4842 legal_message_pos,
4843 legal_message_trn,
4844 legal_message_exmpt,
4845 legal_message_excpt,
4846 tax_regime_template_id,
4847 tax_applicability_result_id,
4848 direct_rate_result_id,
4849 status_result_id,
4850 rate_result_id,
4851 basis_result_id,
4852 thresh_result_id,
4853 calc_result_id,
4854 tax_reg_num_det_result_id,
4855 eval_exmpt_result_id,
4856 eval_excpt_result_id,
4857 enforce_from_natural_acct_flag,
4858 tax_hold_code,
4859 tax_hold_released_code,
4860 prd_total_tax_amt,
4861 prd_total_tax_amt_tax_curr,
4862 prd_total_tax_amt_funcl_curr,
4863 internal_org_location_id,
4864 attribute_category,
4865 attribute1,
4866 attribute2,
4867 attribute3,
4868 attribute4,
4869 attribute5,
4870 attribute6,
4871 attribute7,
4872 attribute8,
4873 attribute9,
4874 attribute10,
4875 attribute11,
4876 attribute12,
4877 attribute13,
4878 attribute14,
4879 attribute15,
4880 global_attribute_category,
4881 global_attribute1,
4882 global_attribute2,
4883 global_attribute3,
4884 global_attribute4,
4885 global_attribute5,
4886 global_attribute6,
4887 global_attribute7,
4888 global_attribute8,
4889 global_attribute9,
4890 global_attribute10,
4891 global_attribute11,
4892 global_attribute12,
4893 global_attribute13,
4894 global_attribute14,
4895 global_attribute15,
4896 numeric1,
4897 numeric2,
4898 numeric3,
4899 numeric4,
4900 numeric5,
4901 numeric6,
4902 numeric7,
4903 numeric8,
4904 numeric9,
4905 numeric10,
4906 char1,
4907 char2,
4908 char3,
4909 char4,
4910 char5,
4911 char6,
4912 char7,
4913 char8,
4914 char9,
4915 char10,
4916 date1,
4917 date2,
4918 date3,
4919 date4,
4920 date5,
4921 date6,
4922 date7,
4923 date8,
4924 date9,
4925 date10,
4926 tax_rate_type,
4927 created_by,
4928 creation_date,
4929 last_updated_by,
4930 last_update_date,
4931 last_update_login,
4932 line_assessable_value,
4933 legal_justification_text1,
4934 legal_justification_text2,
4935 legal_justification_text3,
4936 reporting_currency_code,
4937 trx_line_index,
4938 offset_tax_rate_code,
4939 proration_code,
4940 other_doc_source,
4941 reporting_only_flag,
4942 ctrl_total_line_tx_amt,
4943 sync_with_prvdr_flag,
4944 interface_entity_code,
4945 interface_tax_line_id,
4946 taxing_juris_geography_id,
4947 adjusted_doc_tax_line_id,
4948 object_version_number,
4949 legal_reporting_status,
4950 account_source_tax_rate_id
4951 )
4952 (SELECT /*+ leading(G) */
4953 L.tax_line_id,
4954 L.internal_organization_id,
4955 L.application_id,
4956 L.entity_code,
4957 L.event_class_code,
4958 L.event_type_code,
4959 L.trx_id,
4960 L.trx_line_id,
4961 L.trx_level_type,
4962 L.trx_line_number,
4963 L.doc_event_status,
4964 L.tax_event_class_code,
4965 L.tax_event_type_code,
4966 L.tax_line_number,
4967 L.content_owner_id,
4968 L.tax_regime_id,
4969 L.tax_regime_code,
4970 L.tax_id,
4971 L.tax,
4972 L.tax_status_id,
4973 L.tax_status_code,
4974 L.tax_rate_id,
4975 L.tax_rate_code,
4976 L.tax_rate,
4977 L.tax_apportionment_line_number,
4978 L.trx_id_level2,
4979 L.trx_id_level3,
4980 L.trx_id_level4,
4981 L.trx_id_level5,
4982 L.trx_id_level6,
4983 L.trx_user_key_level1,
4984 L.trx_user_key_level2,
4985 L.trx_user_key_level3,
4986 L.trx_user_key_level4,
4987 L.trx_user_key_level5,
4988 L.trx_user_key_level6,
4989 L.mrc_tax_line_flag,
4990 L.ledger_id,
4991 L.establishment_id,
4992 L.legal_entity_id,
4993 L.legal_entity_tax_reg_number,
4994 L.hq_estb_reg_number,
4995 L.hq_estb_party_tax_prof_id,
4996 L.currency_conversion_date,
4997 L.currency_conversion_type,
4998 L.currency_conversion_rate,
4999 L.tax_currency_conversion_date,
5000 L.tax_currency_conversion_type,
5001 L.tax_currency_conversion_rate,
5002 L.trx_currency_code,
5003 L.minimum_accountable_unit,
5004 L.precision,
5005 G.trx_number,
5006 L.trx_date,
5007 L.unit_price,
5008 L.line_amt,
5009 L.trx_line_quantity,
5010 L.tax_base_modifier_rate,
5011 L.ref_doc_application_id,
5012 L.ref_doc_entity_code,
5013 L.ref_doc_event_class_code,
5014 L.ref_doc_trx_id,
5015 L.ref_doc_line_id,
5016 L.ref_doc_line_quantity,
5017 L.other_doc_line_amt,
5018 L.other_doc_line_tax_amt,
5019 L.other_doc_line_taxable_amt,
5020 L.unrounded_taxable_amt,
5021 0, -- L.unrounded_tax_amt,
5022 L.related_doc_application_id,
5023 L.related_doc_entity_code,
5024 L.related_doc_event_class_code,
5025 L.related_doc_trx_id,
5026 L.related_doc_number,
5027 L.related_doc_date,
5028 L.applied_from_application_id,
5029 L.applied_from_event_class_code,
5030 L.applied_from_entity_code,
5031 L.applied_from_trx_id,
5032 L.applied_from_line_id,
5033 L.applied_from_trx_level_type,
5034 L.applied_from_trx_number,
5035 L.adjusted_doc_application_id,
5036 L.adjusted_doc_entity_code,
5037 L.adjusted_doc_event_class_code,
5038 L.adjusted_doc_trx_id,
5039 L.adjusted_doc_line_id,
5040 L.adjusted_doc_trx_level_type,
5041 L.adjusted_doc_number,
5042 L.adjusted_doc_date,
5043 L.applied_to_application_id,
5044 L.applied_to_event_class_code,
5045 L.applied_to_entity_code,
5046 L.applied_to_trx_id,
5047 L.applied_to_line_id,
5048 L.applied_to_trx_number,
5049 L.summary_tax_line_id,
5050 L.offset_link_to_tax_line_id,
5051 L.offset_flag,
5052 DECODE(L.reporting_only_flag, 'N', 'Y', 'N'), -- L.process_for_recovery_flag,
5053 L.tax_jurisdiction_id,
5054 L.tax_jurisdiction_code,
5055 L.place_of_supply,
5056 L.place_of_supply_type_code,
5057 L.place_of_supply_result_id,
5058 L.tax_date_rule_id,
5059 L.tax_date,
5060 L.tax_determine_date,
5061 L.tax_point_date,
5062 L.trx_line_date,
5063 L.tax_type_code,
5064 L.tax_code,
5065 L.tax_registration_id,
5066 L.tax_registration_number,
5067 L.registration_party_type,
5068 L.rounding_level_code,
5069 L.rounding_rule_code,
5070 L.rounding_lvl_party_tax_prof_id,
5071 L.rounding_lvl_party_type,
5072 L.compounding_tax_flag,
5073 L.orig_tax_status_id,
5074 L.orig_tax_status_code,
5075 L.orig_tax_rate_id,
5076 L.orig_tax_rate_code,
5077 L.orig_tax_rate,
5078 L.orig_tax_jurisdiction_id,
5079 L.orig_tax_jurisdiction_code,
5080 L.orig_tax_amt_included_flag,
5081 L.orig_self_assessed_flag,
5082 L.tax_currency_code,
5083 0, -- L.tax_amt,
5084 0, -- L.tax_amt_tax_curr,
5085 0, -- L.tax_amt_funcl_curr,
5086 taxable_amt,
5087 taxable_amt_tax_curr,
5088 L.taxable_amt_funcl_curr,
5089 L.orig_taxable_amt,
5090 L.orig_taxable_amt_tax_curr,
5091 L.cal_tax_amt,
5092 L.cal_tax_amt_tax_curr,
5093 L.cal_tax_amt_funcl_curr,
5094 L.orig_tax_amt,
5095 L.orig_tax_amt_tax_curr,
5096 L.rec_tax_amt,
5097 L.rec_tax_amt_tax_curr,
5098 L.rec_tax_amt_funcl_curr,
5099 L.nrec_tax_amt,
5100 L.nrec_tax_amt_tax_curr,
5101 L.nrec_tax_amt_funcl_curr,
5102 L.tax_exemption_id,
5103 L.tax_rate_before_exemption,
5104 L.tax_rate_name_before_exemption,
5105 L.exempt_rate_modifier,
5106 L.exempt_certificate_number,
5107 L.exempt_reason,
5108 L.exempt_reason_code,
5109 L.tax_exception_id,
5110 L.tax_rate_before_exception,
5111 L.tax_rate_name_before_exception,
5112 L.exception_rate,
5113 L.tax_apportionment_flag,
5114 L.historical_flag,
5115 L.taxable_basis_formula,
5116 L.tax_calculation_formula,
5117 'Y', -- L.cancel_flag,
5118 L.purge_flag,
5119 L.delete_flag,
5120 L.tax_amt_included_flag,
5121 L.self_assessed_flag,
5122 L.overridden_flag,
5123 L.manually_entered_flag,
5124 L.freeze_until_overridden_flag,
5125 L.copied_from_other_doc_flag,
5126 L.recalc_required_flag,
5127 L.settlement_flag,
5128 L.item_dist_changed_flag,
5129 L.associated_child_frozen_flag,
5130 L.tax_only_line_flag,
5131 L.compounding_dep_tax_flag,
5132 L.last_manual_entry,
5133 L.tax_provider_id,
5134 L.record_type_code,
5135 L.reporting_period_id,
5136 L.legal_message_appl_2,
5137 L.legal_message_status,
5138 L.legal_message_rate,
5139 L.legal_message_basis,
5140 L.legal_message_calc,
5141 L.legal_message_threshold,
5142 L.legal_message_pos,
5143 L.legal_message_trn,
5144 L.legal_message_exmpt,
5145 L.legal_message_excpt,
5146 L.tax_regime_template_id,
5147 L.tax_applicability_result_id,
5148 L.direct_rate_result_id,
5149 L.status_result_id,
5150 L.rate_result_id,
5151 L.basis_result_id,
5152 L.thresh_result_id,
5153 L.calc_result_id,
5154 L.tax_reg_num_det_result_id,
5155 L.eval_exmpt_result_id,
5156 L.eval_excpt_result_id,
5157 L.enforce_from_natural_acct_flag,
5158 NULL, -- L.tax_hold_code,
5159 NULL, -- L.tax_hold_released_code,
5160 NULL, -- L.prd_total_tax_amt,
5161 NULL, -- L.prd_total_tax_amt_tax_curr,
5162 NULL, -- L.prd_total_tax_amt_funcl_curr,
5163 L.internal_org_location_id,
5164 L.attribute_category,
5165 L.attribute1,
5166 L.attribute2,
5167 L.attribute3,
5168 L.attribute4,
5169 L.attribute5,
5170 L.attribute6,
5171 L.attribute7,
5172 L.attribute8,
5173 L.attribute9,
5174 L.attribute10,
5175 L.attribute11,
5176 L.attribute12,
5177 L.attribute13,
5178 L.attribute14,
5179 L.attribute15,
5180 L.global_attribute_category,
5181 L.global_attribute1,
5182 L.global_attribute2,
5183 L.global_attribute3,
5184 L.global_attribute4,
5185 L.global_attribute5,
5186 L.global_attribute6,
5187 L.global_attribute7,
5188 L.global_attribute8,
5189 L.global_attribute9,
5190 L.global_attribute10,
5191 L.global_attribute11,
5192 L.global_attribute12,
5193 L.global_attribute13,
5194 L.global_attribute14,
5195 L.global_attribute15,
5196 L.numeric1,
5197 L.numeric2,
5198 L.numeric3,
5199 L.numeric4,
5200 L.numeric5,
5201 L.numeric6,
5202 L.numeric7,
5203 L.numeric8,
5204 L.numeric9,
5205 L.numeric10,
5206 L.char1,
5207 L.char2,
5208 L.char3,
5209 L.char4,
5210 L.char5,
5211 L.char6,
5212 L.char7,
5213 L.char8,
5214 L.char9,
5215 L.char10,
5216 L.date1,
5217 L.date2,
5218 L.date3,
5219 L.date4,
5220 L.date5,
5221 L.date6,
5222 L.date7,
5223 L.date8,
5224 L.date9,
5225 L.date10,
5226 L.tax_rate_type,
5227 L.created_by,
5228 L.creation_date,
5229 L.last_updated_by,
5230 L.last_update_date,
5231 L.last_update_login,
5232 L.line_assessable_value,
5233 L.legal_justification_text1,
5234 L.legal_justification_text2,
5235 L.legal_justification_text3,
5236 L.reporting_currency_code,
5237 L.trx_line_index,
5238 L.offset_tax_rate_code,
5239 L.proration_code,
5240 L.other_doc_source,
5241 L.reporting_only_flag,
5242 L.ctrl_total_line_tx_amt,
5243 L.sync_with_prvdr_flag,
5244 L.interface_entity_code,
5245 L.interface_tax_line_id,
5246 L.taxing_juris_geography_id,
5247 L.adjusted_doc_tax_line_id,
5248 1,
5249 decode(L.legal_reporting_status, '111111111111111',
5250 '000000000000000', L.legal_reporting_status),
5251 L.account_source_tax_rate_id
5252 FROM ZX_LINES L,
5253 zx_lines_det_factors G
5254 WHERE G.application_id = p_event_class_rec.application_id AND
5255 G.entity_code = p_event_class_rec.entity_code AND
5256 G.event_class_code = p_event_class_rec.event_class_code AND
5257 -- G.trx_id = p_event_class_rec.trx_id AND
5258 G.event_id = p_event_class_rec.event_id AND
5259 L.trx_id = G.trx_id AND
5260 L.trx_line_id = G.trx_line_id AND
5261 L.trx_level_type = G.trx_level_type AND
5262 L.event_class_code = G.event_class_code AND
5263 -- L.event_type_code = G.event_type_code AND
5264 L.entity_code = G.entity_code AND
5265 L.application_id = G.application_id AND
5266 -- L.subscriber_id = G.subscriber_id AND
5267 G.line_level_action = 'CANCEL' AND
5268 L.tax_provider_id IS NULL
5269
5270 );
5271
5272 IF (g_level_procedure >= g_current_runtime_level ) THEN
5273 FND_LOG.STRING(g_level_procedure,
5274 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_trx_lines',
5275 'p_return_status = ' || p_return_status);
5276 FND_LOG.STRING(g_level_procedure,
5277 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_trx_lines',
5278 'p_error_buffer = ' || p_error_buffer);
5279 FND_LOG.STRING(g_level_procedure,
5280 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_trx_lines.END',
5281 'ZX_TDS_TAX_LINES_POPU_PKG: process_cancel_trx_lines(-)');
5282 END IF;
5283
5284 EXCEPTION
5285 WHEN OTHERS THEN
5286 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5287 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
5288
5289 IF (g_level_unexpected >= g_current_runtime_level ) THEN
5290 FND_LOG.STRING(g_level_unexpected,
5291 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_cancel_trx_lines',
5292 p_error_buffer);
5293 END IF;
5294
5295 END process_cancel_trx_lines;
5296
5297 -----------------------------------------------------------------------
5298 -- PUBLIC PROCEDURE
5299 -- process_tax_tolerance
5300 --
5301 -- DESCRIPTION
5302 -- This procedure determines tax hold code and tax hold released code for
5303 -- each tax line that tax amount tax currency has been overridden by
5304 -- the users
5305 --
5306 -- CALLED BY
5307 -- ZX_TDS_TAX_LINES_DETM_PKG
5308
5309 PROCEDURE process_tax_tolerance(
5310 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
5311 p_return_status OUT NOCOPY VARCHAR2,
5312 p_error_buffer OUT NOCOPY VARCHAR2)
5313
5314 IS
5315 l_tax_low_boundary NUMBER;
5316 l_tax_high_boundary NUMBER;
5317 l_count NUMBER;
5318 l_tax_id ZX_TAXES_B.TAX_ID%TYPE;
5319 l_tax_precision ZX_TAXES_B.TAX_PRECISION%TYPE;
5320 l_tax_min_acct_unit ZX_TAXES_B.MINIMUM_ACCOUNTABLE_UNIT%TYPE;
5321 l_tax_line_id_tbl ZX_TDS_TAX_ROUNDING_PKG.TAX_ID_TBL;
5322 l_tax_amt_tax_curr_tbl ZX_TDS_TAX_ROUNDING_PKG.TAX_AMT_TAX_CURR_TBL;
5323 l_tax_id_tbl ZX_TDS_TAX_ROUNDING_PKG.TAX_ID_TBL;
5324 l_rounding_rule_tbl ZX_TDS_TAX_ROUNDING_PKG.ROUNDING_RULE_TBL;
5325 l_tax_hold_released_code_tbl TAX_HOLD_RELEASED_CODE_TBL;
5326 l_tax_hold_code_tbl TAX_HOLD_CODE_TBL;
5327 l_orig_tax_amt_tax_curr_tbl ORIG_TAX_AMT_TAX_CURR_TBL;
5328
5329 CURSOR get_tax_tolerance_csr
5330 IS
5331 SELECT /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U1) */
5332 tax_line_id,
5333 orig_tax_amt_tax_curr,
5334 tax_amt_tax_curr,
5335 tax_id,
5336 tax_hold_released_code,
5337 Rounding_Rule_Code
5338 FROM ZX_DETAIL_TAX_LINES_GT
5339 WHERE application_id = p_event_class_rec.application_id
5340 AND entity_code = p_event_class_rec.entity_code
5341 AND event_class_code = p_event_class_rec.event_class_code
5342 AND trx_id = p_event_class_rec.trx_id
5343 AND tax_event_type_code = 'OVERRIDE_TAX'
5344 AND offset_link_to_tax_line_id IS NULL
5345 AND orig_tax_amt_tax_curr IS NOT NULL
5346 AND mrc_tax_line_flag = 'N';
5347
5348 -- Start Bugfix: 5617541
5349 CURSOR get_tax_tol_ctrl_hdr_amt_csr
5350 IS
5351 SELECT /*+ INDEX(tax_line ZX_DETAIL_TAX_LINES_GT_U1) */
5352 tax_line.tax_line_id,
5353 tax_line.orig_tax_amt_tax_curr,
5354 tax_line.tax_amt_tax_curr,
5355 tax_line.tax_id,
5356 tax_line.tax_hold_released_code,
5357 tax_line.Rounding_Rule_Code
5358 FROM ZX_DETAIL_TAX_LINES_GT tax_line,
5359 zx_lines_det_factors trx_line
5360 WHERE tax_line.application_id = p_event_class_rec.application_id
5361 AND tax_line.entity_code = p_event_class_rec.entity_code
5362 AND tax_line.event_class_code = p_event_class_rec.event_class_code
5363 AND tax_line.trx_id = p_event_class_rec.trx_id
5364 AND tax_line.application_id = trx_line.application_id
5365 AND tax_line.event_class_code = trx_line.event_class_code
5366 AND tax_line.entity_code = trx_line.entity_code
5367 AND tax_line.trx_id = trx_line.trx_id
5368 AND tax_line.trx_line_id = trx_line.trx_line_id
5369 AND tax_line.trx_level_type = trx_line.trx_level_type
5370 AND trx_line.ctrl_total_hdr_tx_amt IS NOT NULL
5371 AND tax_line.offset_link_to_tax_line_id IS NULL
5372 AND tax_line.orig_tax_amt IS NOT NULL
5373 AND tax_line.mrc_tax_line_flag = 'N';
5374
5375 CURSOR get_tax_tol_ctrl_line_amt_csr
5376 IS
5377 SELECT /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U1) */
5378 tax_line_id,
5379 orig_tax_amt_tax_curr,
5380 tax_amt_tax_curr,
5381 tax_id,
5382 tax_hold_released_code,
5383 Rounding_Rule_Code
5384 FROM ZX_DETAIL_TAX_LINES_GT
5385 WHERE application_id = p_event_class_rec.application_id
5386 AND entity_code = p_event_class_rec.entity_code
5387 AND event_class_code = p_event_class_rec.event_class_code
5388 AND trx_id = p_event_class_rec.trx_id
5389 AND ctrl_total_line_tx_amt IS NOT NULL
5390 AND offset_link_to_tax_line_id IS NULL
5391 AND orig_tax_amt IS NOT NULL
5392 AND mrc_tax_line_flag = 'N';
5393 -- End Bugfix: 5617541
5394
5395 -- bug 5684123
5396 CURSOR get_tax_tolerance_upd_csr
5397 IS
5398 SELECT /*+ INDEX(gt ZX_DETAIL_TAX_LINES_GT_U1) */
5399 tax_line_id,
5400 orig_tax_amt_tax_curr,
5401 tax_amt_tax_curr,
5402 tax_id,
5403 tax_hold_released_code,
5404 Rounding_Rule_Code
5405 FROM zx_detail_tax_lines_gt gt
5406 WHERE gt.application_id = p_event_class_rec.application_id
5407 AND gt.entity_code = p_event_class_rec.entity_code
5408 AND gt.event_class_code = p_event_class_rec.event_class_code
5409 AND (gt.tax_event_type_code = 'UPDATE' AND
5410 gt.last_manual_entry IS NOT NULL AND
5411 NVL(gt.manually_entered_flag, 'N') <> 'Y'
5412 )
5413 AND gt.offset_link_to_tax_line_id IS NULL
5414 AND gt.orig_tax_amt_tax_curr IS NOT NULL
5415 AND gt.mrc_tax_line_flag = 'N'
5416 AND EXISTS
5417 (SELECT /*+ index(LINE ZX_LINES_DET_FACTORS_U1) */ 1
5418 FROM zx_lines_det_factors line
5419 WHERE line.application_id = p_event_class_rec.application_id
5420 AND line.entity_code = p_event_class_rec.entity_code
5421 AND line.event_class_code = p_event_class_rec.event_class_code
5422 AND line.event_id = p_event_class_rec.event_id
5423 AND line.trx_id = gt.trx_id
5424 AND line.trx_line_id = gt.trx_line_id
5425 AND line.trx_level_type = gt.trx_level_type
5426
5427 );
5428
5429 -- bug 6634198
5430 --
5431 CURSOR get_tax_tolerance_import_csr
5432 IS
5433 SELECT /*+ INDEX(gt ZX_DETAIL_TAX_LINES_GT_U1) */
5434 tax_line_id,
5435 orig_tax_amt_tax_curr,
5436 tax_amt_tax_curr,
5437 tax_id,
5438 tax_hold_released_code,
5439 Rounding_Rule_Code
5440 FROM zx_detail_tax_lines_gt gt
5441 WHERE gt.application_id = p_event_class_rec.application_id
5442 AND gt.entity_code = p_event_class_rec.entity_code
5443 AND gt.event_class_code = p_event_class_rec.event_class_code
5444 AND (gt.tax_event_type_code = 'CREATE' AND
5445 gt.last_manual_entry = 'TAX_AMOUNT' AND
5446 NVL(gt.manually_entered_flag, 'N') = 'Y'
5447 )
5448 AND gt.offset_link_to_tax_line_id IS NULL
5449 AND gt.orig_tax_amt_tax_curr IS NOT NULL
5450 AND gt.mrc_tax_line_flag = 'N'
5451 AND EXISTS
5452 (SELECT 1
5453 FROM zx_transaction_lines_gt lines_gt
5454 WHERE lines_gt.application_id = p_event_class_rec.application_id
5455 AND lines_gt.entity_code = p_event_class_rec.entity_code
5456 AND lines_gt.event_class_code = p_event_class_rec.event_class_code
5457 AND lines_gt.trx_id = gt.trx_id
5458 AND lines_gt.trx_line_id = gt.trx_line_id
5459 AND lines_gt.trx_level_type = gt.trx_level_type
5460 AND lines_gt.line_level_action IN ('CREATE_WITH_TAX', 'LINE_INFO_TAX_ONLY')
5461 );
5462
5463 BEGIN
5464
5465 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5466
5467 IF (g_level_statement >= g_current_runtime_level ) THEN
5468 FND_LOG.STRING(g_level_statement,
5469 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance.BEGIN',
5470 'ZX_TDS_TAX_LINES_POPU_PKG: process_tax_tolerance(+)');
5471 END IF;
5472
5473 p_return_status := FND_API.G_RET_STS_SUCCESS;
5474
5475 IF p_event_class_rec.tax_tolerance IS NOT NULL OR
5476 p_event_class_rec.tax_tol_amt_range IS NOT NULL
5477 THEN
5478 IF (g_level_statement >= g_current_runtime_level ) THEN
5479 FND_LOG.STRING(g_level_statement,
5480 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5481 'Tax Tolerance: '||TO_CHAR(p_event_class_rec.tax_tolerance)||
5482 ', Tax Tolerance Amount Range: '||TO_CHAR(p_event_class_rec.tax_tol_amt_range)
5483 );
5484 END IF;
5485
5486 -- Start : Tolerance processing for Override_Tax : Bug 9752670 --
5487 IF p_event_class_rec.tax_event_type_code = 'OVERRIDE_TAX' THEN
5488 OPEN get_tax_tolerance_csr;
5489 FETCH get_tax_tolerance_csr BULK COLLECT INTO
5490 l_tax_line_id_tbl,
5491 l_orig_tax_amt_tax_curr_tbl,
5492 l_tax_amt_tax_curr_tbl,
5493 l_tax_id_tbl,
5494 l_tax_hold_released_code_tbl,
5495 l_rounding_rule_tbl
5496 LIMIT C_LINES_PER_COMMIT;
5497
5498 l_count := l_orig_tax_amt_tax_curr_tbl.COUNT;
5499
5500 IF (g_level_statement >= g_current_runtime_level ) THEN
5501 FND_LOG.STRING(g_level_statement,
5502 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5503 'Number of rows fetched for OVERRIDE_TAX = ' || to_char(l_count));
5504 END IF;
5505
5506 IF l_count > 0 THEN
5507 FOR i IN 1..l_count LOOP
5508 --
5509 -- determine tax hold code
5510 --
5511 l_tax_hold_code_tbl(i) := NULL;
5512 l_tax_id := l_tax_id_tbl(i);
5513 ZX_TDS_UTILITIES_PKG.populate_tax_cache (
5514 p_tax_id => l_tax_id,
5515 p_return_status => p_return_status,
5516 p_error_buffer => p_error_buffer);
5517 l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).tax_precision;
5518 l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).minimum_accountable_unit;
5519
5520 --
5521 -- check tax tolerance
5522 --
5523 IF p_event_class_rec.tax_tolerance IS NOT NULL THEN
5524 l_tax_low_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
5525 (1 - p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
5526 l_rounding_rule_tbl(i),
5527 l_tax_min_acct_unit,
5528 l_tax_precision,
5529 p_return_status,
5530 p_error_buffer);
5531
5532 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5533 EXIT;
5534 END IF;
5535
5536 l_tax_high_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
5537 (1 + p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
5538 l_rounding_rule_tbl(i),
5539 l_tax_min_acct_unit,
5540 l_tax_precision,
5541 p_return_status,
5542 p_error_buffer);
5543 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5544 EXIT;
5545 END IF;
5546
5547 IF (ABS(l_tax_amt_tax_curr_tbl(i)) < ABS(l_tax_low_boundary) OR
5548 ABS(l_tax_amt_tax_curr_tbl(i)) > ABS(l_tax_high_boundary)) THEN
5549 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val;
5550 END IF;
5551
5552 END IF; -- if tax_tolerance is not null
5553
5554 --
5555 -- check tax tolerance amount range
5556 --
5557 IF p_event_class_rec.tax_tol_amt_range IS NOT NULL THEN
5558 IF ABS( l_tax_amt_tax_curr_tbl(i) -
5559 l_orig_tax_amt_tax_curr_tbl(i)) >
5560 p_event_class_rec.tax_tol_amt_range THEN
5561 IF l_tax_hold_code_tbl(i) IS NULL THEN
5562 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
5563 ELSE
5564 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val
5565 + ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
5566 END IF;
5567 END IF; -- abs
5568 END IF; --tax_tol_amt_range
5569
5570 --
5571 -- determine tax hold released code
5572 --
5573 IF l_tax_hold_code_tbl(i) IS NOT NULL THEN
5574 l_tax_hold_released_code_tbl(i) := BITAND(l_tax_hold_code_tbl(i),
5575 nvl(l_tax_hold_released_code_tbl(i),0));
5576 ELSE
5577 l_tax_hold_released_code_tbl(i) := NULL;
5578 END IF;
5579
5580 END LOOP;
5581
5582 --
5583 -- bulk update the current rows processed
5584 -- before fetch the next set of rows
5585 --
5586 IF (g_level_statement >= g_current_runtime_level) THEN
5587 FND_LOG.STRING(g_level_statement,
5588 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5589 'Update ZX_DETAIL_TAX_LINES_GT with Tax Hold Info - OVERRIDE_TAX');
5590 END IF;
5591
5592 FORALL i IN 1..l_count
5593 UPDATE /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U2) */
5594 ZX_DETAIL_TAX_LINES_GT
5595 SET tax_hold_code = nvl(l_tax_hold_code_tbl(i),tax_hold_code),
5596 tax_hold_released_code = nvl(l_tax_hold_released_code_tbl(i), tax_hold_released_code)
5597 WHERE tax_line_id = l_tax_line_id_tbl(i);
5598
5599 IF (g_level_statement >= g_current_runtime_level ) THEN
5600 FND_LOG.STRING(g_level_statement,
5601 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5602 'Number of Rows Updated: ' || SQL%ROWCOUNT);
5603 END IF;
5604 END IF; -- IF l_count
5605
5606 -- Close the cursor
5607 IF get_tax_tolerance_csr%ISOPEN THEN
5608 CLOSE get_tax_tolerance_csr;
5609 END IF;
5610
5611 END IF;
5612 -- End : Tolerance processing for Override_Tax : Bug 9752670 --
5613
5614 -- Start : Tolerance processing for Control Line Amount : Bug 9752670 --
5615 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_ctrl_total_line_tx_amt_flg = 'Y'
5616 THEN
5617 OPEN get_tax_tol_ctrl_line_amt_csr;
5618 FETCH get_tax_tol_ctrl_line_amt_csr BULK COLLECT INTO
5619 l_tax_line_id_tbl,
5620 l_orig_tax_amt_tax_curr_tbl,
5621 l_tax_amt_tax_curr_tbl,
5622 l_tax_id_tbl,
5623 l_tax_hold_released_code_tbl,
5624 l_rounding_rule_tbl
5625 LIMIT C_LINES_PER_COMMIT;
5626
5627 l_count := l_orig_tax_amt_tax_curr_tbl.COUNT;
5628
5629 IF (g_level_statement >= g_current_runtime_level ) THEN
5630 FND_LOG.STRING(g_level_statement,
5631 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5632 'Number of rows fetched for Control Line Amount = ' || to_char(l_count));
5633 END IF;
5634
5635 IF l_count > 0 THEN
5636 FOR i IN 1..l_count LOOP
5637 --
5638 -- determine tax hold code
5639 --
5640 l_tax_hold_code_tbl(i) := NULL;
5641 l_tax_id := l_tax_id_tbl(i);
5642 ZX_TDS_UTILITIES_PKG.populate_tax_cache (
5643 p_tax_id => l_tax_id,
5644 p_return_status => p_return_status,
5645 p_error_buffer => p_error_buffer);
5646 l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).tax_precision;
5647 l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).minimum_accountable_unit;
5648
5649 --
5650 -- check tax tolerance
5651 --
5652 IF p_event_class_rec.tax_tolerance IS NOT NULL THEN
5653 l_tax_low_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
5654 (1 - p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
5655 l_rounding_rule_tbl(i),
5656 l_tax_min_acct_unit,
5657 l_tax_precision,
5658 p_return_status,
5659 p_error_buffer);
5660
5661 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5662 EXIT;
5663 END IF;
5664
5665 l_tax_high_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
5666 (1 + p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
5667 l_rounding_rule_tbl(i),
5668 l_tax_min_acct_unit,
5669 l_tax_precision,
5670 p_return_status,
5671 p_error_buffer);
5672 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5673 EXIT;
5674 END IF;
5675
5676 IF (ABS(l_tax_amt_tax_curr_tbl(i)) < ABS(l_tax_low_boundary) OR
5677 ABS(l_tax_amt_tax_curr_tbl(i)) > ABS(l_tax_high_boundary)) THEN
5678 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val;
5679 END IF;
5680
5681 END IF; -- if tax _tolerance is not null
5682
5683 --
5684 -- check tax tolerance amount range
5685 --
5686 IF p_event_class_rec.tax_tol_amt_range IS NOT NULL THEN
5687 IF ABS( l_tax_amt_tax_curr_tbl(i) -
5688 l_orig_tax_amt_tax_curr_tbl(i)) >
5689 p_event_class_rec.tax_tol_amt_range THEN
5690 IF l_tax_hold_code_tbl(i) IS NULL THEN
5691 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
5692 ELSE
5693 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val
5694 + ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
5695 END IF;
5696 END IF; -- abs
5697 END IF; --tax_tol_amt_range
5698
5699 --
5700 -- determine tax hold released code
5701 --
5702 IF l_tax_hold_code_tbl(i) IS NOT NULL THEN
5703 l_tax_hold_released_code_tbl(i) := BITAND(l_tax_hold_code_tbl(i),
5704 nvl(l_tax_hold_released_code_tbl(i),0));
5705 ELSE
5706 l_tax_hold_released_code_tbl(i) := NULL;
5707 END IF;
5708
5709 END LOOP;
5710
5711 --
5712 -- bulk update the current rows processed
5713 -- before fetch the next set of rows
5714 --
5715 IF (g_level_statement >= g_current_runtime_level ) THEN
5716 FND_LOG.STRING(g_level_statement,
5717 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5718 'Update ZX_DETAIL_TAX_LINES_GT with Tax Hold Info - Control Line Amount');
5719 END IF;
5720
5721 FORALL i IN 1..l_count
5722 UPDATE /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U2) */
5723 ZX_DETAIL_TAX_LINES_GT
5724 SET tax_hold_code = nvl(l_tax_hold_code_tbl(i), tax_hold_code),
5725 tax_hold_released_code = nvl(l_tax_hold_released_code_tbl(i), tax_hold_released_code)
5726 WHERE tax_line_id = l_tax_line_id_tbl(i);
5727
5728 IF (g_level_statement >= g_current_runtime_level ) THEN
5729 FND_LOG.STRING(g_level_statement,
5730 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5731 'Number of Rows Updated: ' || SQL%ROWCOUNT);
5732 END IF;
5733 END IF; -- IF l_count
5734
5735 -- Close the cursor
5736 IF get_tax_tol_ctrl_line_amt_csr%ISOPEN THEN
5737 CLOSE get_tax_tol_ctrl_line_amt_csr;
5738 END IF;
5739
5740 END IF;
5741 -- End : Tolerance processing for Control Line Amount : Bug 9752670 --
5742
5743 -- Start : Tolerance processing for Control Header Amount : Bug 9752670 --
5744 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_ctrl_total_hdr_tx_amt_flg = 'Y'
5745 THEN
5746 OPEN get_tax_tol_ctrl_hdr_amt_csr;
5747 FETCH get_tax_tol_ctrl_hdr_amt_csr BULK COLLECT INTO
5748 l_tax_line_id_tbl,
5749 l_orig_tax_amt_tax_curr_tbl,
5750 l_tax_amt_tax_curr_tbl,
5751 l_tax_id_tbl,
5752 l_tax_hold_released_code_tbl,
5753 l_rounding_rule_tbl
5754 LIMIT C_LINES_PER_COMMIT;
5755
5756 l_count := l_orig_tax_amt_tax_curr_tbl.COUNT;
5757
5758 IF (g_level_statement >= g_current_runtime_level ) THEN
5759 FND_LOG.STRING(g_level_statement,
5760 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5761 'Number of rows fetched for Control Header Amount = ' || to_char(l_count));
5762 END IF;
5763
5764 IF l_count > 0 THEN
5765 FOR i IN 1..l_count LOOP
5766 --
5767 -- determine tax hold code
5768 --
5769 l_tax_hold_code_tbl(i) := NULL;
5770 l_tax_id := l_tax_id_tbl(i);
5771 ZX_TDS_UTILITIES_PKG.populate_tax_cache (
5772 p_tax_id => l_tax_id,
5773 p_return_status => p_return_status,
5774 p_error_buffer => p_error_buffer);
5775 l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).tax_precision;
5776 l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).minimum_accountable_unit;
5777
5778 --
5779 -- check tax tolerance
5780 --
5781 IF p_event_class_rec.tax_tolerance IS NOT NULL THEN
5782 l_tax_low_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
5783 (1 - p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
5784 l_rounding_rule_tbl(i),
5785 l_tax_min_acct_unit,
5786 l_tax_precision,
5787 p_return_status,
5788 p_error_buffer);
5789
5790 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5791 EXIT;
5792 END IF;
5793
5794 l_tax_high_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
5795 (1 + p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
5796 l_rounding_rule_tbl(i),
5797 l_tax_min_acct_unit,
5798 l_tax_precision,
5799 p_return_status,
5800 p_error_buffer);
5801 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5802 EXIT;
5803 END IF;
5804
5805 IF (ABS(l_tax_amt_tax_curr_tbl(i)) < ABS(l_tax_low_boundary) OR
5806 ABS(l_tax_amt_tax_curr_tbl(i)) > ABS(l_tax_high_boundary)) THEN
5807 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val;
5808 END IF;
5809
5810 END IF; -- if tax_tolerance is not null
5811
5812 --
5813 -- check tax tolerance amount range
5814 --
5815 IF p_event_class_rec.tax_tol_amt_range IS NOT NULL THEN
5816 IF ABS( l_tax_amt_tax_curr_tbl(i) -
5817 l_orig_tax_amt_tax_curr_tbl(i)) >
5818 p_event_class_rec.tax_tol_amt_range THEN
5819 IF l_tax_hold_code_tbl(i) IS NULL THEN
5820 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
5821 ELSE
5822 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val
5823 + ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
5824 END IF;
5825 END IF; -- abs
5826 END IF; --tax_tol_amt_range
5827
5828 --
5829 -- determine tax hold released code
5830 --
5831 IF l_tax_hold_code_tbl(i) IS NOT NULL THEN
5832 l_tax_hold_released_code_tbl(i) := BITAND(l_tax_hold_code_tbl(i),
5833 nvl(l_tax_hold_released_code_tbl(i),0));
5834 ELSE
5835 l_tax_hold_released_code_tbl(i) := NULL;
5836 END IF;
5837
5838 END LOOP;
5839
5840 --
5841 -- bulk update the current rows processed
5842 -- before fetch the next set of rows
5843 --
5844 IF (g_level_statement >= g_current_runtime_level ) THEN
5845 FND_LOG.STRING(g_level_statement,
5846 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5847 'Update ZX_DETAIL_TAX_LINES_GT with Tax Hold Info - Control Header Amount');
5848 END IF;
5849
5850 FORALL i IN 1..l_count
5851 UPDATE /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U2) */
5852 ZX_DETAIL_TAX_LINES_GT
5853 SET tax_hold_code = nvl(l_tax_hold_code_tbl(i), tax_hold_code),
5854 tax_hold_released_code = nvl(l_tax_hold_released_code_tbl(i), tax_hold_released_code)
5855 WHERE tax_line_id = l_tax_line_id_tbl(i);
5856
5857 IF (g_level_statement >= g_current_runtime_level ) THEN
5858 FND_LOG.STRING(g_level_statement,
5859 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5860 'Number of Rows Updated: ' || SQL%ROWCOUNT);
5861 END IF;
5862 END IF; -- IF l_count
5863
5864 -- Close the cursor
5865 IF get_tax_tol_ctrl_hdr_amt_csr%ISOPEN THEN
5866 CLOSE get_tax_tol_ctrl_hdr_amt_csr;
5867 END IF;
5868
5869 END IF;
5870 -- End : Tolerance processing for Control Header Amount : Bug 9752670 --
5871
5872 -- Start : Tolerance processing for Update Event : Bug 9752670 --
5873 IF (p_event_class_rec.tax_event_type_code = 'UPDATE' OR (ZX_TDS_CALC_SERVICES_PUB_PKG.g_ln_action_update_exist_flg = 'Y'))
5874 THEN
5875 OPEN get_tax_tolerance_upd_csr;
5876 FETCH get_tax_tolerance_upd_csr BULK COLLECT INTO
5877 l_tax_line_id_tbl,
5878 l_orig_tax_amt_tax_curr_tbl,
5879 l_tax_amt_tax_curr_tbl,
5880 l_tax_id_tbl,
5881 l_tax_hold_released_code_tbl,
5882 l_rounding_rule_tbl
5883 LIMIT C_LINES_PER_COMMIT;
5884
5885 l_count := l_orig_tax_amt_tax_curr_tbl.COUNT;
5886
5887 IF (g_level_statement >= g_current_runtime_level ) THEN
5888 FND_LOG.STRING(g_level_statement,
5889 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5890 'Number of rows fetched for UPDATE = ' || to_char(l_count));
5891 END IF;
5892
5893 IF l_count > 0 THEN
5894 FOR i IN 1..l_count LOOP
5895 --
5896 -- determine tax hold code
5897 --
5898 l_tax_hold_code_tbl(i) := NULL;
5899 l_tax_id := l_tax_id_tbl(i);
5900 ZX_TDS_UTILITIES_PKG.populate_tax_cache (
5901 p_tax_id => l_tax_id,
5902 p_return_status => p_return_status,
5903 p_error_buffer => p_error_buffer);
5904 l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).tax_precision;
5905 l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).minimum_accountable_unit;
5906
5907 --
5908 -- check tax tolerance
5909 --
5910 IF p_event_class_rec.tax_tolerance IS NOT NULL THEN
5911 l_tax_low_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
5912 (1 - p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
5913 l_rounding_rule_tbl(i),
5914 l_tax_min_acct_unit,
5915 l_tax_precision,
5916 p_return_status,
5917 p_error_buffer);
5918
5919 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5920 EXIT;
5921 END IF;
5922
5923 l_tax_high_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
5924 (1 + p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
5925 l_rounding_rule_tbl(i),
5926 l_tax_min_acct_unit,
5927 l_tax_precision,
5928 p_return_status,
5929 p_error_buffer);
5930 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5931 EXIT;
5932 END IF;
5933
5934 IF (ABS(l_tax_amt_tax_curr_tbl(i)) < ABS(l_tax_low_boundary) OR
5935 ABS(l_tax_amt_tax_curr_tbl(i)) > ABS(l_tax_high_boundary)) THEN
5936 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val;
5937 END IF;
5938
5939 END IF; -- if tax_tolerance is not null
5940
5941 --
5942 -- check tax tolerance amount range
5943 --
5944 IF p_event_class_rec.tax_tol_amt_range IS NOT NULL THEN
5945 IF ABS( l_tax_amt_tax_curr_tbl(i) -
5946 l_orig_tax_amt_tax_curr_tbl(i)) >
5947 p_event_class_rec.tax_tol_amt_range THEN
5948 IF l_tax_hold_code_tbl(i) IS NULL THEN
5949 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
5950 ELSE
5951 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val
5952 + ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
5953 END IF;
5954 END IF; -- abs
5955 END IF; --tax_tol_amt_range
5956
5957 --
5958 -- determine tax hold released code
5959 --
5960 IF l_tax_hold_code_tbl(i) IS NOT NULL THEN
5961 l_tax_hold_released_code_tbl(i) := BITAND( l_tax_hold_code_tbl(i),
5962 nvl(l_tax_hold_released_code_tbl(i),0));
5963 ELSE
5964 l_tax_hold_released_code_tbl(i) := NULL;
5965 END IF;
5966
5967 END LOOP;
5968
5969 --
5970 -- bulk update the current rows processed
5971 -- before fetch the next set of rows
5972 --
5973 IF (g_level_statement >= g_current_runtime_level ) THEN
5974 FND_LOG.STRING(g_level_statement,
5975 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5976 'Update ZX_DETAIL_TAX_LINES_GT with Tax Hold Info - UPDATE event');
5977 END IF;
5978
5979 FORALL i IN 1..l_count
5980 UPDATE /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U2) */
5981 ZX_DETAIL_TAX_LINES_GT
5982 SET tax_hold_code = nvl(l_tax_hold_code_tbl(i), tax_hold_code),
5983 tax_hold_released_code = nvl(l_tax_hold_released_code_tbl(i), tax_hold_released_code)
5984 WHERE tax_line_id = l_tax_line_id_tbl(i);
5985
5986 IF (g_level_statement >= g_current_runtime_level ) THEN
5987 FND_LOG.STRING(g_level_statement,
5988 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
5989 'Number of Rows Updated: ' || SQL%ROWCOUNT);
5990 END IF;
5991 END IF; -- IF l_count
5992
5993 -- Close the cursor
5994 IF get_tax_tolerance_upd_csr%ISOPEN THEN
5995 CLOSE get_tax_tolerance_upd_csr;
5996 END IF;
5997
5998 END IF;
5999 -- End : Tolerance processing for Update Event : Bug 9752670 --
6000
6001 -- Start : Tolerance processing for Create Event : Bug 9752670 --
6002 IF p_event_class_rec.tax_event_type_code = 'CREATE'
6003 THEN
6004 OPEN get_tax_tolerance_import_csr;
6005 FETCH get_tax_tolerance_import_csr BULK COLLECT INTO
6006 l_tax_line_id_tbl,
6007 l_orig_tax_amt_tax_curr_tbl,
6008 l_tax_amt_tax_curr_tbl,
6009 l_tax_id_tbl,
6010 l_tax_hold_released_code_tbl,
6011 l_rounding_rule_tbl
6012 LIMIT C_LINES_PER_COMMIT;
6013
6014 l_count := l_orig_tax_amt_tax_curr_tbl.COUNT;
6015
6016 IF (g_level_statement >= g_current_runtime_level ) THEN
6017 FND_LOG.STRING(g_level_statement,
6018 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
6019 'Number of rows fetched for CREATE event = ' || to_char(l_count));
6020 END IF;
6021
6022 IF l_count > 0 THEN
6023 FOR i IN 1..l_count LOOP
6024 --
6025 -- determine tax hold code
6026 --
6027 l_tax_hold_code_tbl(i) := NULL;
6028 l_tax_id := l_tax_id_tbl(i);
6029 ZX_TDS_UTILITIES_PKG.populate_tax_cache (
6030 p_tax_id => l_tax_id,
6031 p_return_status => p_return_status,
6032 p_error_buffer => p_error_buffer);
6033 l_tax_precision := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).tax_precision;
6034 l_tax_min_acct_unit := ZX_TDS_UTILITIES_PKG.g_tax_rec_tbl(l_tax_id).minimum_accountable_unit;
6035
6036 --
6037 -- check tax tolerance
6038 --
6039 IF p_event_class_rec.tax_tolerance IS NOT NULL THEN
6040 l_tax_low_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
6041 (1 - p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
6042 l_rounding_rule_tbl(i),
6043 l_tax_min_acct_unit,
6044 l_tax_precision,
6045 p_return_status,
6046 p_error_buffer);
6047
6048 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6049 EXIT;
6050 END IF;
6051
6052 l_tax_high_boundary:= ZX_TDS_TAX_ROUNDING_PKG.ROUND_TAX(
6053 (1 + p_event_class_rec.tax_tolerance / 100) * l_orig_tax_amt_tax_curr_tbl(i),
6054 l_rounding_rule_tbl(i),
6055 l_tax_min_acct_unit,
6056 l_tax_precision,
6057 p_return_status,
6058 p_error_buffer);
6059 IF p_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6060 EXIT;
6061 END IF;
6062
6063 IF (ABS(l_tax_amt_tax_curr_tbl(i)) < ABS(l_tax_low_boundary) OR
6064 ABS(l_tax_amt_tax_curr_tbl(i)) > ABS(l_tax_high_boundary)) THEN
6065 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val;
6066 END IF;
6067
6068 END IF; -- if tax_tolerance is not null
6069
6070 --
6071 -- check tax tolerance amount range
6072 --
6073 IF p_event_class_rec.tax_tol_amt_range IS NOT NULL THEN
6074 IF ABS( l_tax_amt_tax_curr_tbl(i) -
6075 l_orig_tax_amt_tax_curr_tbl(i)) >
6076 p_event_class_rec.tax_tol_amt_range THEN
6077 IF l_tax_hold_code_tbl(i) IS NULL THEN
6078 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
6079 ELSE
6080 l_tax_hold_code_tbl(i) := ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_variance_hold_val
6081 + ZX_TDS_CALC_SERVICES_PUB_PKG.g_tax_amt_range_hold_val;
6082 END IF;
6083 END IF; -- abs
6084 END IF; --tax_tol_amt_range
6085
6086 --
6087 -- determine tax hold released code
6088 --
6089 IF l_tax_hold_code_tbl(i) IS NOT NULL THEN
6090 l_tax_hold_released_code_tbl(i) := BITAND(l_tax_hold_code_tbl(i),
6091 nvl(l_tax_hold_released_code_tbl(i),0));
6092 ELSE
6093 l_tax_hold_released_code_tbl(i) := NULL;
6094 END IF;
6095
6096 END LOOP;
6097
6098 --
6099 -- bulk update the current rows processed
6100 -- before fetch the next set of rows
6101 --
6102 IF (g_level_statement >= g_current_runtime_level) THEN
6103 FND_LOG.STRING(g_level_statement,
6104 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
6105 'Update ZX_DETAIL_TAX_LINES_GT with Tax Hold Info - CREATE event');
6106 END IF;
6107
6108 FORALL i IN 1..l_count
6109 UPDATE /*+ INDEX(ZX_DETAIL_TAX_LINES_GT ZX_DETAIL_TAX_LINES_GT_U2) */
6110 ZX_DETAIL_TAX_LINES_GT
6111 SET tax_hold_code = nvl(l_tax_hold_code_tbl(i), tax_hold_code),
6112 tax_hold_released_code = nvl(l_tax_hold_released_code_tbl(i), tax_hold_released_code)
6113 WHERE tax_line_id = l_tax_line_id_tbl(i);
6114
6115 IF (g_level_statement >= g_current_runtime_level ) THEN
6116 FND_LOG.STRING(g_level_statement,
6117 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
6118 'Number of Rows Updated: ' || SQL%ROWCOUNT);
6119 END IF;
6120 END IF; -- IF l_count
6121
6122 -- Close the cursor
6123 IF get_tax_tolerance_upd_csr%ISOPEN THEN
6124 CLOSE get_tax_tolerance_import_csr;
6125 END IF;
6126
6127 END IF;
6128 -- End : Tolerance processing for Create Event : Bug 9752670 --
6129
6130 END IF; -- end if p_event_class_rec.tax_tolerance is not null
6131
6132 IF (g_level_statement >= g_current_runtime_level ) THEN
6133 FND_LOG.STRING(g_level_statement,
6134 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
6135 'p_return_status = ' || p_return_status);
6136 FND_LOG.STRING(g_level_statement,
6137 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
6138 'p_error_buffer = ' || p_error_buffer);
6139 FND_LOG.STRING(g_level_statement,
6140 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance.END',
6141 'ZX_TDS_TAX_LINES_POPU_PKG: process_tax_tolerance(-)');
6142 END IF;
6143
6144 EXCEPTION
6145 WHEN OTHERS THEN
6146 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6147 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
6148
6149 IF (g_level_unexpected >= g_current_runtime_level ) THEN
6150 FND_LOG.STRING(g_level_unexpected,
6151 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.process_tax_tolerance',
6152 p_error_buffer);
6153 END IF;
6154
6155 END process_tax_tolerance;
6156
6157 -----------------------------------------------------------------------
6158 -- PUBLIC PROCEDURE
6159 -- populate_recovery_flg
6160 --
6161 -- DESCRIPTION
6162 -- This procedure populates Process_For_Recovery_Flag based on
6163 -- tax_recovery_flag in event class record, and
6164 -- Reporting_Only_Flag of a tax line
6165 --
6166
6167 PROCEDURE populate_recovery_flg(
6168 p_begin_index IN BINARY_INTEGER,
6169 p_end_index IN BINARY_INTEGER,
6170 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
6171 p_return_status OUT NOCOPY VARCHAR2,
6172 p_error_buffer OUT NOCOPY VARCHAR2)
6173
6174 IS
6175
6176 BEGIN
6177
6178 g_current_runtime_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
6179
6180 IF (g_level_statement >= g_current_runtime_level ) THEN
6181 FND_LOG.STRING(g_level_statement,
6182 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_recovery_flg.BEGIN',
6183 'ZX_TDS_TAX_LINES_POPU_PKG: populate_recovery_flg(+)');
6184 FND_LOG.STRING(g_level_statement,
6185 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_recovery_flg',
6186 'begin_index = ' || to_char(p_begin_index) || ' end_index= '
6187 || to_char(p_end_index));
6188 END IF;
6189
6190 p_return_status := FND_API.G_RET_STS_SUCCESS;
6191
6192 --
6193 -- check if begin_index and end_index have values
6194 --
6195 IF (p_begin_index IS NULL OR p_end_index IS NULL) THEN
6196
6197 IF (g_level_statement >= g_current_runtime_level ) THEN
6198 FND_LOG.STRING(g_level_statement,
6199 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_recovery_flg',
6200 'Begin index or End index is null' );
6201 END IF;
6202
6203 RETURN;
6204 END IF;
6205
6206 -- If the value of p_event_class_rec.tax_recovery_flag is 'N',
6207 -- populate process_for_recovery_flag to 'N'. If it is 'Y', check
6208 -- reporting_only_flag to set tax_recovery_flag
6209 --
6210 IF NVL(p_event_class_rec.tax_recovery_flag, 'N') = 'N' THEN
6211 FOR i IN p_begin_index ..p_end_index LOOP
6212 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).process_for_recovery_flag := 'N';
6213 END LOOP;
6214 ELSE
6215 FOR i IN p_begin_index ..p_end_index LOOP
6216 IF ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).reporting_only_flag = 'Y' THEN -- bugfix 5399549
6217 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).process_for_recovery_flag := 'N';
6218 ELSE
6219 ZX_TDS_CALC_SERVICES_PUB_PKG.g_detail_tax_lines_tbl(i).process_for_recovery_flag := 'Y';
6220 END IF;
6221
6222 END LOOP;
6223 END IF;
6224
6225 IF (g_level_statement >= g_current_runtime_level ) THEN
6226 FND_LOG.STRING(g_level_statement,
6227 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_recovery_flg.END',
6228 'ZX_TDS_TAX_LINES_POPU_PKG: populate_recovery_flg(-)');
6229 END IF;
6230
6231 EXCEPTION
6232 WHEN OTHERS THEN
6233 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6234 p_error_buffer := sqlcode || ': ' || SUBSTR(SQLERRM, 1, 80);
6235 IF (g_level_unexpected >= g_current_runtime_level ) THEN
6236 FND_LOG.STRING(g_level_unexpected,
6237 'ZX.PLSQL.ZX_TDS_TAX_LINES_POPU_PKG.populate_recovery_flg',
6238 p_error_buffer);
6239 END IF;
6240
6241 END populate_recovery_flg;
6242
6243 END ZX_TDS_TAX_LINES_POPU_PKG;