[Home] [Help]
PACKAGE: APPS.ZX_TDS_CALC_SERVICES_PUB_PKG
Source
1 PACKAGE ZX_TDS_CALC_SERVICES_PUB_PKG AUTHID CURRENT_USER AS
2 /* $Header: zxdwtxcalsrvpubs.pls 120.52 2011/05/30 06:45:55 ssanka ship $ */
3
4
5 /* ======================================================================*
6 | Memory Structures |
7 * ======================================================================*/
8
9 TYPE transaction_rec_type IS RECORD
10 (SUBSCRIBER_PARTY_ID NUMBER,
11 APPLICATION_ID NUMBER,
12 ENTITY_CODE VARCHAR2(30),
13 EVENT_CLASS_CODE VARCHAR2(30),
14 EVENT_TYPE_CODE VARCHAR2(30),
15 TRANSACTION_ID NUMBER,
16 TAX_EVENT_CLASS_CODE VARCHAR2(30),
17 TAX_EVENT_TYPE_CODE VARCHAR2(30),
18 SUB_PARTY_TAX_PROF_ID NUMBER
19 );
20
21 TYPE event_class_rec_type IS RECORD
22 (SUB_PARTY_TAX_PROF_ID NUMBER,
23 APPLICATION_ID NUMBER,
24 ENTITY_CODE VARCHAR2(30),
25 EVENT_CLASS_CODE VARCHAR2(30),
26 TAX_EVENT_CLASS_CODE VARCHAR2(30),
27 Det_Factor_Templ_Code VARCHAR2(80),
28 TAX_LINES_SUM_TEMPLATE VARCHAR2(80),
29 REC_TAX_LINES_SUM_TEMPLATE VARCHAR2(80),
30 NON_REC_TAX_LINES_SUM_TEMPLATE VARCHAR2(80),
31 Rounding_Level_Code VARCHAR2(30),
32 ROUNDING_LEVEL_HIER1 VARCHAR2(30),
33 ROUNDING_LEVEL_HIER2 VARCHAR2(30),
34 ROUNDING_LEVEL_HIER3 VARCHAR2(30),
35 ROUNDING_LEVEL_HIER4 VARCHAR2(30),
36 ROUNDING_LEVEL_HIER5 VARCHAR2(30),
37 Allow_Manual_Lin_Recalc_Flag VARCHAR2(30),
38 Allow_Manual_Lines_Flag VARCHAR2(30),
39 Allow_Override_Flag VARCHAR2(30),
40 SHIP_TO_PARTY_SOURCE VARCHAR2(80),
41 SHIP_FROM_PARTY_SOURCE VARCHAR2(80),
42 POA_PARTY_SOURCE VARCHAR2(80),
43 POO_PARTY_SOURCE VARCHAR2(80),
44 PAYING_PARTY_SOURCE VARCHAR2(80),
45 OWN_HQ_PARTY_SOURCE VARCHAR2(80),
46 TRAD_HQ_PARTY_SOURCE VARCHAR2(80),
47 POI_PARTY_SOURCE VARCHAR2(80),
48 POD_PARTY_SOURCE VARCHAR2(80),
49 BILL_TO_PARTY_SOURCE VARCHAR2(80),
50 BILL_FROM_PARTY_SOURCE VARCHAR2(80),
51 TTL_TRNS_PARTY_SOURCE VARCHAR2(80),
52 RECORD_FLAG VARCHAR2(1),
53 UPDATE_FLAG VARCHAR2(1),
54 CREATE_FLAG VARCHAR2(1),
55 CANCEL_DELETE_FLAG VARCHAR2(1),
56 OVERRIDE_LEVEL VARCHAR2(30)
57 );
58
59 TYPE detail_tax_lines_tbl_type IS TABLE OF zx_detail_tax_lines_gt%ROWTYPE
60 INDEX BY BINARY_INTEGER;
61
62 TYPE sum_tax_line_tbl_type IS TABLE OF zx_lines_summary%ROWTYPE
63 INDEX BY BINARY_INTEGER;
64
65 TYPE tax_regime_rec_type IS RECORD
66 (TAX_REGIME_PRECEDENCE NUMBER,
67 TAX_REGIME_ID NUMBER,
68 TAX_PROVIDER_ID NUMBER,
69 PARENT_REGIME_ID NUMBER
70 );
71
72 TYPE tax_regime_tbl_type IS TABLE OF tax_regime_rec_type
73 INDEX BY BINARY_INTEGER;
74
75
76 TYPE detail_tax_regime_rec_type IS RECORD
77 (TRX_LINE_INDEX BINARY_INTEGER,
78 TAX_REGIME_PRECEDENCE NUMBER,
79 TAX_REGIME_ID NUMBER
80 );
81
82 TYPE detail_tax_regime_tbl_type IS TABLE OF detail_tax_regime_rec_type
83 INDEX BY BINARY_INTEGER;
84
85 TYPE subscriber_rec_type IS RECORD
86 (SUB_PARTY_TAX_PROF_ID NUMBER,
87 TAX_REGIME_ID NUMBER,
88 OWN_SUB_PARTY_TAX_PROF_ID NUMBER,
89 SUBSCRIPTION_LEVEL NUMBER
90 );
91
92 TYPE subscriber_tbl_type IS TABLE OF subscriber_rec_type
93 INDEX BY BINARY_INTEGER;
94
95
96 /* ======================================================================*
97 | Structures for caching |
98 * ======================================================================*/
99
100
101 -- Tax lines Cache
102
103 TYPE trx_tax_info_rec IS RECORD (
104 tax_info ZX_LINES%ROWTYPE
105 );
106
107 TYPE trx_tax_info_rec_tbl IS TABLE OF trx_tax_info_rec
108 INDEX BY BINARY_INTEGER;
109
110 -- Template evaluation cache
111 TYPE trx_line_cond_grp_eval_rec IS RECORD(
112 det_factor_templ_code zx_det_factor_templ_b.det_factor_templ_code%TYPE,
113 trx_line_index BINARY_INTEGER,
114 application_id zx_lines.application_id%TYPE,
115 tax_event_class_code zx_lines.tax_event_class_code%TYPE,
116 condition_group_code zx_condition_groups_b.condition_group_code%TYPE,
117 result boolean);
118
119 TYPE trx_line_cond_grp_eval_tbl IS TABLE OF trx_line_cond_grp_eval_rec
120 INDEX BY BINARY_INTEGER;
121
122 -- Jurisdiction information cache
123 TYPE zx_jurisdiction_info_rec IS RECORD (
124 location_id hz_locations.location_id%TYPE,
125 location_type varchar2(100),
126 application_id number,
127 event_class varchar2(30),
128 tax zx_taxes_b.tax%TYPE,
129 tax_regime_code zx_regimes_b.tax_regime_code%TYPE,
130 jurisdiction_id zx_jurisdictions_b.tax_jurisdiction_id%TYPE);
131
132 TYPE zx_jurisdiction_info_cache IS TABLE OF zx_jurisdiction_info_rec
133 INDEX BY BINARY_INTEGER;
134
135 -- Fiscal classification info cache
136 --TYPE classification_rec IS TABLE OF VARCHAR2(30);
137
138 -- Tax Regime information cache
139 TYPE zx_regime_info_cache IS TABLE OF zx_regimes_b%ROWTYPE
140 INDEX BY BINARY_INTEGER;
141
142 -- TSRM numeric parameter cache
143 TYPE tsrm_num_value_tbl IS TABLE OF zx_conditions.numeric_value%TYPE
144 INDEX BY BINARY_INTEGER;
145
146 -- TSRM alphanumeric parameter and trx alphanumeric value cache
147 TYPE tsrm_alphanum_value_tbl IS TABLE OF zx_conditions.alphanumeric_value%TYPE
148 INDEX BY BINARY_INTEGER;
149
150 -- Reporting code info Cache for Legal Message Columns
151 TYPE zx_rep_code_info_rec IS RECORD (
152 result_id ZX_PROCESS_RESULTS.RESULT_ID%TYPE,
153 reporting_code_id ZX_REPORTING_CODES_B.REPORTING_CODE_ID%TYPE
154 );
155
156 TYPE zx_rep_code_tbl IS TABLE OF zx_rep_code_info_rec
157 INDEX BY BINARY_INTEGER;
158
159 /* ======================================================================*
160 | Global Structures |
161 * ======================================================================*/
162
163 g_detail_tax_lines_tbl detail_tax_lines_tbl_type;
164 g_check_cond_grp_tbl trx_line_cond_grp_eval_tbl;
165 g_fsc_tbl ZX_TCM_CONTROL_PKG.zx_fsc_class_info_cache;
166 g_tsrm_num_value_tbl tsrm_num_value_tbl;
167 g_tsrm_alphanum_value_tbl tsrm_alphanum_value_tbl;
168 g_trx_alphanum_value_tbl tsrm_alphanum_value_tbl;
169 g_msg_context_info_rec ZX_API_PUB.CONTEXT_INFO_REC_TYPE;
170 g_zx_rep_code_tbl zx_rep_code_tbl;
171 /* ======================================================================*
172 | Global Constants |
173 * ======================================================================*/
174
175 g_lines_per_commit CONSTANT NUMBER := 1000;
176
177 -- Tax Hold Code and Tax Hold Release Code
178 g_tax_variance_hold CONSTANT VARCHAR2(30) := 'TAX VARIANCE';
179 g_tax_amt_range_hold CONSTANT VARCHAR2(30) := 'TAX AMOUNT RANGE';
180 g_tax_variance_corrected CONSTANT VARCHAR2(30) := 'TAX VARIANCE CORRECTED';
181 g_tax_amt_range_corrected CONSTANT VARCHAR2(30) := 'TAX AMOUNT RANGE CORRECTED';
182
183 -- numeric value for the tax hold_code
184 g_tax_variance_hold_val CONSTANT NUMBER := 1;
185 g_tax_amt_range_hold_val CONSTANT NUMBER := 2;
186 g_tax_variance_corrected_val CONSTANT NUMBER := 1;
187 g_tax_amt_range_corrected_val CONSTANT NUMBER := 2;
188
189
190 /* ======================================================================*
191 | Global Variable |
192 * =====================================================================*/
193
194 g_max_tax_line_number zx_lines.tax_line_number%TYPE;
195 g_trx_lines_counter NUMBER;
196
197 g_rounding_level ZX_PARTY_TAX_PROFILE.ROUNDING_LEVEL_CODE%TYPE;
198 g_rounding_rule ZX_PARTY_TAX_PROFILE.ROUNDING_RULE_CODE%TYPE;
199 g_rnd_lvl_party_tax_prof_id ZX_PARTY_TAX_PROFILE.PARTY_TAX_PROFILE_ID%TYPE;
200 g_rounding_lvl_party_type ZX_LINES.ROUNDING_LVL_PARTY_TYPE%TYPE;
201 g_ln_action_cancel_exist_flg VARCHAR2(1);
202 g_ln_action_discard_exist_flg VARCHAR2(1);
203 g_ln_action_nochange_exist_flg VARCHAR2(1);
204 --Bug 8736358
205 g_ln_action_update_exist_flg VARCHAR2(1);
206 g_process_copy_and_create_flg VARCHAR2(1);
207 g_process_for_appl_flg ZX_PARTY_TAX_PROFILE.PROCESS_FOR_APPLICABILITY_FLAG%TYPE;
208 g_tax_inclusive_flg ZX_PARTY_TAX_PROFILE.INCLUSIVE_TAX_FLAG%TYPE;
209 g_reference_doc_exist_flg VARCHAR2(1);
210
211 -- added for bug fix 5417887
212 g_ctrl_total_line_tx_amt_flg VARCHAR2(1);
213 g_ctrl_total_hdr_tx_amt_flg VARCHAR2(1);
214
215 -- added for bug 5684123
216 g_overridden_tax_ln_exist_flg VARCHAR2(1);
217
218 /* ======================================================================*
219 | Public Procedures |
220 * =====================================================================*/
221 PROCEDURE get_tax_regimes (
222 p_trx_line_index IN BINARY_INTEGER,
223 p_event_class_rec IN OUT NOCOPY zx_api_pub.event_class_rec_type,
224 x_return_status OUT NOCOPY VARCHAR2);
225
226 PROCEDURE calculate_tax (
227 p_trx_line_index IN BINARY_INTEGER,
228 p_event_class_rec IN OUT NOCOPY zx_api_pub.event_class_rec_type,
229 x_return_status OUT NOCOPY VARCHAR2);
230
231 PROCEDURE override_detail_tax_lines (
232 p_trx_line_index IN BINARY_INTEGER,
233 p_event_class_rec IN OUT NOCOPY zx_api_pub.event_class_rec_type,
234 x_return_status OUT NOCOPY VARCHAR2);
235
236 PROCEDURE tax_line_determination (
237 p_event_class_rec IN OUT NOCOPY zx_api_pub.event_class_rec_type,
238 x_return_status OUT NOCOPY VARCHAR2);
239
240 PROCEDURE override_summary_tax_lines (
241 p_trx_line_index IN BINARY_INTEGER,
242 p_event_class_rec IN OUT NOCOPY zx_api_pub.event_class_rec_type,
243 x_return_status OUT NOCOPY VARCHAR2 );
244
245 PROCEDURE prorate_imported_sum_tax_lines (
246 p_event_class_rec IN zx_api_pub.event_class_rec_type,
247 x_return_status OUT NOCOPY VARCHAR2);
248
249 PROCEDURE calculate_tax_for_import (
250 p_trx_line_index IN BINARY_INTEGER,
251 p_event_class_rec IN zx_api_pub.event_class_rec_type,
252 x_return_status OUT NOCOPY VARCHAR2);
253
254 PROCEDURE validate_document_for_tax (
255 x_return_status OUT NOCOPY VARCHAR2);
256
257 PROCEDURE reverse_document (
258 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
259 x_return_status OUT NOCOPY VARCHAR2 );
260
261 PROCEDURE dump_detail_tax_lines_into_gt (
262 p_detail_tax_lines_tbl IN OUT NOCOPY detail_tax_lines_tbl_type,
263 x_return_status OUT NOCOPY VARCHAR2);
264
265 PROCEDURE dump_detail_tax_lines_into_gt (
266 x_return_status OUT NOCOPY VARCHAR2);
267
268 PROCEDURE update_exchange_rate (
269 p_event_class_rec IN ZX_API_PUB.EVENT_CLASS_REC_TYPE,
270 p_ledger_id IN NUMBER,
271 p_currency_conversion_rate IN NUMBER,
272 p_currency_conversion_type IN VARCHAR2,
273 p_currency_conversion_date IN DATE,
274 x_return_status OUT NOCOPY VARCHAR2 );
275
276 PROCEDURE initialize (
277 p_event_class_rec IN ZX_API_PUB.event_class_rec_type,
278 p_init_level IN VARCHAR2,
279 x_return_status OUT NOCOPY VARCHAR2 );
280
281 PROCEDURE initialize;
282
283 PROCEDURE get_process_for_appl_flg (
284 p_tax_prof_id IN NUMBER,
285 x_return_status OUT NOCOPY VARCHAR2 );
286
287 FUNCTION get_rep_code_id(
288 p_result_id IN ZX_PROCESS_RESULTS.RESULT_ID%TYPE,
289 p_date IN ZX_LINES.TRX_DATE%TYPE
290 ) RETURN ZX_REPORTING_CODES_B.REPORTING_CODE_ID%TYPE;
291
292 FUNCTION round_tax_curr_xml_inv (
293 p_amt IN NUMBER,
294 p_ledger_id IN NUMBER,
295 p_tax_id IN ZX_TAXES_B.TAX_ID%TYPE,
296 p_tax_curr_code IN ZX_TAXES_B.TAX_CURRENCY_CODE%TYPE,
297 p_Rounding_Rule_Code IN ZX_TAXES_B.Rounding_Rule_Code%TYPE,
298 p_conv_type IN VARCHAR2,
299 p_precision IN ZX_TAXES_B.TAX_PRECISION%TYPE,
300 p_mau IN ZX_TAXES_B.MINIMUM_ACCOUNTABLE_UNIT%TYPE
301 ) RETURN NUMBER;
302
303 END ZX_TDS_CALC_SERVICES_PUB_PKG;
304