DBA Data[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;