[Home] [Help]
PACKAGE: APPS.ZX_TDS_UTILITIES_PKG
Source
1 package ZX_TDS_UTILITIES_PKG AUTHID CURRENT_USER as
2 /* $Header: zxdiutilitiespus.pls 120.27 2009/04/30 06:40:30 prigovin ship $ */
3
4 /* ======================================================================*
5 | Structures for caching |
6 * ======================================================================*/
7
8 -- Tax Cache
9 TYPE zx_tax_info_cache_rec IS RECORD(
10 tax_id zx_taxes_b.tax_id%TYPE,
11 tax zx_taxes_b.tax%TYPE,
12 tax_regime_code zx_taxes_b.tax_regime_code%TYPE,
13 tax_type_code zx_taxes_b.tax_type_code%TYPE,
14 tax_precision zx_taxes_b.tax_precision%TYPE,
15 minimum_accountable_unit zx_taxes_b.minimum_accountable_unit%TYPE,
16 Rounding_Rule_Code zx_taxes_b.rounding_rule_code%TYPE,
17 Tax_Status_Rule_Flag zx_taxes_b.tax_status_rule_flag%TYPE,
18 Tax_Rate_Rule_Flag zx_taxes_b.tax_rate_rule_flag%TYPE,
19 Place_Of_Supply_Rule_Flag zx_taxes_b.place_of_supply_rule_flag%TYPE,
20 Applicability_Rule_Flag zx_taxes_b.applicability_rule_flag%TYPE,
21 Tax_Calc_Rule_Flag zx_taxes_b.tax_calc_rule_flag%TYPE,
22 Taxable_Basis_Rule_Flag zx_taxes_b.taxable_basis_rule_flag%TYPE,
23 def_tax_calc_formula zx_taxes_b.def_tax_calc_formula%TYPE,
24 def_taxable_basis_formula zx_taxes_b.def_taxable_basis_formula%TYPE,
25 Reporting_Only_Flag zx_taxes_b.Reporting_Only_Flag%TYPE,
26 tax_currency_code zx_taxes_b.tax_currency_code%TYPE,
27 Def_Place_Of_Supply_Type_Code zx_taxes_b.def_place_of_supply_type_code%TYPE,
28 Def_Registr_Party_Type_Code zx_taxes_b.def_registr_party_type_code%TYPE,
29 Registration_Type_Rule_Flag zx_taxes_b.registration_type_rule_flag%TYPE,
30 Direct_Rate_Rule_Flag zx_taxes_b.direct_rate_rule_flag%TYPE,
31 Def_Inclusive_Tax_Flag zx_taxes_b.def_inclusive_tax_flag%TYPE,
32 effective_from zx_taxes_b.effective_from%TYPE,
33 effective_to zx_taxes_b.effective_to%TYPE,
34 compounding_precedence zx_taxes_b.compounding_precedence%TYPE,
35 Has_Other_Jurisdictions_Flag zx_taxes_b.has_other_jurisdictions_flag%TYPE,
36 Live_For_Processing_Flag zx_taxes_b.live_for_processing_flag%TYPE,
37 Regn_Num_Same_As_Le_Flag zx_taxes_b.regn_num_same_as_le_flag%TYPE,
38 applied_amt_handling_flag zx_taxes_b.applied_amt_handling_flag%TYPE,
39 exchange_rate_type zx_taxes_b.exchange_rate_type%TYPE,
40 applicable_by_default_flag zx_taxes_b.applicable_by_default_flag%TYPE,
41 record_type_code zx_taxes_b.record_type_code%TYPE,
42 tax_exmpt_cr_method_code zx_taxes_b.tax_exmpt_cr_method_code%type,
43 tax_exmpt_source_tax zx_taxes_b.tax_exmpt_source_tax%TYPE,
44 legal_reporting_status_def_val zx_taxes_b.legal_reporting_status_def_val%TYPE,
45 def_rec_settlement_option_code zx_taxes_b.def_rec_settlement_option_code%TYPE,
46 zone_geography_type zx_taxes_b.zone_geography_type%TYPE,
47 override_geography_type zx_taxes_b.override_geography_type%TYPE,
48 allow_rounding_override_flag zx_taxes_b.allow_rounding_override_flag%TYPE,
49 tax_account_source_tax zx_taxes_b.tax_account_source_tax%type
50 );
51
52 TYPE zx_tax_info_cache IS TABLE OF zx_tax_info_cache_rec
53 INDEX by BINARY_INTEGER;
54
55 -- Tax Status information cache
56 TYPE zx_status_info_rec IS RECORD (
57 tax zx_taxes_b.tax%TYPE,
58 tax_regime_code zx_regimes_b.tax_regime_code%TYPE,
59 tax_status_id zx_status_b.tax_status_id%TYPE,
60 tax_status_code zx_status_b.tax_status_code%TYPE,
61 tax_status_name zx_status_tl.tax_status_name%TYPE,
62 effective_from zx_status_b.effective_from%TYPE,
63 effective_to zx_status_b.effective_to%TYPE,
64 Default_Status_Flag zx_status_b.default_status_flag%TYPE,
65 default_flg_effective_from zx_status_b.default_flg_effective_from%TYPE,
66 default_flg_effective_to zx_status_b.default_flg_effective_to%TYPE,
67 -- default_tax_rate_name zx_status_b.default_tax_rate_name%TYPE,
68 Rule_Based_Rate_Flag zx_status_b.rule_based_rate_flag%TYPE,
69 Allow_Rate_Override_Flag zx_status_b.allow_rate_override_flag%TYPE,
70 Allow_Exemptions_Flag zx_status_b.allow_exemptions_flag%TYPE,
71 Allow_Exceptions_Flag zx_status_b.allow_exceptions_flag%TYPE);
72
73 TYPE zx_status_info_cache IS TABLE OF zx_status_info_rec
74 INDEX BY BINARY_INTEGER;
75
76 -- Currency Cache
77 TYPE zx_currency_info_cache_rec IS RECORD(
78 ledger_id gl_sets_of_books.set_of_books_id%TYPE,
79 currency_code fnd_currencies.currency_code%TYPE,
80 minimum_accountable_unit fnd_currencies.minimum_accountable_unit%TYPE,
81 precision fnd_currencies.precision%TYPE);
82
83 TYPE zx_currency_info_cache IS TABLE OF zx_currency_info_cache_rec
84 INDEX by BINARY_INTEGER;
85
86 -- Tax rate information
87 -- tax_jurisdiction_id is added for rate detemination requirement for multiple
88 -- jurisdictions case (bug 4534949)
89 TYPE zx_rate_info_rec_type IS RECORD (
90 tax_regime_code zx_rates_b.tax_regime_code%TYPE,
91 tax zx_rates_b.tax%TYPE,
92 tax_status_code zx_rates_b.tax_status_code%TYPE,
93 tax_rate_code zx_rates_b.tax_rate_code%TYPE,
94 tax_rate_id zx_rates_b.tax_rate_id%TYPE,
95 effective_from zx_rates_b.effective_from%TYPE,
96 effective_to zx_rates_b.effective_to%TYPE,
97 rate_type_code zx_rates_b.rate_type_code%TYPE,
98 percentage_rate zx_rates_b.percentage_rate%TYPE,
99 quantity_rate zx_rates_b.quantity_rate%TYPE,
100 allow_adhoc_tax_rate_flag zx_rates_b.allow_adhoc_tax_rate_flag%TYPE,
101 uom_code zx_rates_b.uom_code%TYPE,
102 tax_jurisdiction_code zx_rates_b.tax_jurisdiction_code%TYPE,
103 offset_tax zx_rates_b.offset_tax%TYPE,
104 offset_status_code zx_rates_b.offset_status_code%TYPE,
105 offset_tax_rate_code zx_rates_b.offset_tax_rate_code%TYPE,
106 allow_exemptions_flag zx_rates_b.allow_exemptions_flag%TYPE,
107 allow_exceptions_flag zx_rates_b.allow_exceptions_flag%TYPE,
108 tax_jurisdiction_id zx_jurisdictions_b.tax_jurisdiction_id%TYPE,
109 def_rec_settlement_option_code zx_rates_b.def_rec_settlement_option_code%TYPE,
110 taxable_basis_formula_code zx_rates_b.taxable_basis_formula_code%TYPE,
111 adj_for_adhoc_amt_code zx_rates_b.adj_for_adhoc_amt_code%TYPE,
112 inclusive_tax_flag zx_rates_b.inclusive_tax_flag%TYPE,
113 tax_class zx_rates_b.tax_class%TYPE
114 );
115
116 TYPE zx_rate_info_cache IS TABLE OF zx_rate_info_rec_type
117 INDEX BY BINARY_INTEGER;
118
119
120 TYPE zx_jur_info_cache_rec_type IS RECORD(
121 tax_jurisdiction_code zx_jurisdictions_b.tax_jurisdiction_code%type,
122 tax_jurisdiction_id zx_jurisdictions_b.tax_jurisdiction_id%type,
123 effective_from zx_jurisdictions_b.effective_from%type,
124 effective_to zx_jurisdictions_b.effective_to%type,
125 tax_regime_code zx_jurisdictions_b.tax_regime_code%type,
126 tax zx_jurisdictions_b.tax%type
127 );
128
129 TYPE zx_jur_info_cache IS TABLE OF zx_jur_info_cache_rec_type
130 INDEX BY BINARY_INTEGER;
131 /* ========================================================+==============*
132 | Global Structures |
133 * ======================================================================*/
134
135 g_tax_rec_tbl zx_tax_info_cache;
136 g_tax_status_info_tbl zx_status_info_cache;
137 g_tax_rate_info_tbl zx_rate_info_cache;
138 g_currency_rec_tbl zx_currency_info_cache;
139 g_jur_info_tbl zx_jur_info_cache;
140 g_tax_rate_info_ind_by_hash zx_rate_info_cache;
141
142 /* ======================================================================*
143 | Public Procedures |
144 * =====================================================================*/
145
146 FUNCTION get_tax_status_index(
147 p_tax IN ZX_TAXES_B.TAX%TYPE,
148 p_tax_regime_code IN ZX_REGIMES_B.TAX_REGIME_CODE%TYPE,
149 p_tax_status_code IN ZX_STATUS_B.TAX_STATUS_CODE%TYPE)
150 RETURN BINARY_INTEGER;
151
152 PROCEDURE get_regime_cache_info (
153 p_tax_regime_code IN zx_regimes_b.tax_regime_code%TYPE,
154 p_tax_determine_date IN DATE,
155 p_tax_regime_rec OUT NOCOPY zx_global_structures_pkg.tax_regime_rec_type,
156 p_return_status OUT NOCOPY VARCHAR2,
157 p_error_buffer OUT NOCOPY VARCHAR2);
158
159 PROCEDURE get_jurisdiction_cache_info (
160 p_tax_regime_code IN zx_regimes_b.tax_regime_code%TYPE,
161 p_tax IN zx_taxes_b.tax%TYPE,
162 p_tax_jurisdiction_code IN zx_jurisdictions_b.tax_jurisdiction_code%TYPE,
163 p_tax_determine_date IN DATE,
164 x_jurisdiction_rec OUT NOCOPY zx_jur_info_cache_rec_type,
165 p_return_status OUT NOCOPY VARCHAR2,
166 p_error_buffer OUT NOCOPY VARCHAR2);
167
168 PROCEDURE get_tax_cache_info (
169 p_tax_regime_code IN zx_regimes_b.tax_regime_code%TYPE,
170 p_tax IN zx_taxes_b.tax%TYPE,
171 p_tax_determine_date IN DATE,
172 x_tax_rec OUT NOCOPY zx_tax_info_cache_rec,
173 p_return_status OUT NOCOPY VARCHAR2,
174 p_error_buffer OUT NOCOPY VARCHAR2);
175
176 PROCEDURE get_tax_status_cache_info(
177 p_tax IN ZX_TAXES_B.TAX%TYPE,
178 p_tax_regime_code IN ZX_REGIMES_B.TAX_REGIME_CODE%TYPE,
179 p_tax_status_code IN ZX_STATUS_B.TAX_STATUS_CODE%TYPE,
180 p_tax_determine_date IN ZX_LINES.TAX_DETERMINE_DATE%TYPE,
181 p_status_rec OUT NOCOPY ZX_STATUS_INFO_REC,
182 p_return_status OUT NOCOPY VARCHAR2,
183 p_error_buffer OUT NOCOPY VARCHAR2);
184
185 PROCEDURE populate_tax_cache (
186 p_tax_id IN NUMBER,
187 p_return_status OUT NOCOPY VARCHAR2,
188 p_error_buffer OUT NOCOPY VARCHAR2);
189
190 PROCEDURE populate_currency_cache (
191 p_ledger_id IN gl_sets_of_books.set_of_books_id%TYPE,
192 p_return_status OUT NOCOPY VARCHAR2,
193 p_error_buffer OUT NOCOPY VARCHAR2);
194
195 PROCEDURE get_tax_rate_info (
196 p_tax_regime_code IN VARCHAR2,
197 p_tax IN VARCHAR2,
198 p_tax_jurisdiction_code IN zx_jurisdictions_b.tax_jurisdiction_code%TYPE,
199 p_tax_status_code IN VARCHAR2,
200 p_tax_rate_code IN VARCHAR2,
201 p_tax_determine_date IN DATE,
202 p_tax_class IN VARCHAR2,
203 p_tax_rate_rec OUT NOCOPY zx_rate_info_rec_type,
204 p_return_status OUT NOCOPY VARCHAR2,
205 p_error_buffer OUT NOCOPY VARCHAR2);
206
207 FUNCTION get_tax_index (
208 p_tax_regime_code IN zx_regimes_b.tax_regime_code%TYPE,
209 p_tax IN zx_taxes_b.tax%TYPE,
210 p_trx_line_id IN NUMBER,
211 p_trx_level_type IN VARCHAR2,
212 p_begin_index IN BINARY_INTEGER,
213 p_end_index IN BINARY_INTEGER,
214 x_return_status OUT NOCOPY VARCHAR2) RETURN NUMBER;
215
216 PROCEDURE get_tax_rate_info (
217 p_tax_rate_id IN NUMBER,
218 p_tax_rate_rec OUT NOCOPY zx_rate_info_rec_type,
219 p_return_status OUT NOCOPY VARCHAR2,
220 p_error_buffer OUT NOCOPY VARCHAR2);
221
222 END ZX_TDS_UTILITIES_PKG;