DBA Data[Home] [Help]

PACKAGE: APPS.ZX_TDS_CALC_SERVICES_PUB_PKG

Source


1 PACKAGE  ZX_TDS_CALC_SERVICES_PUB_PKG  AS
2 /* $Header: zxdwtxcalsrvpubs.pls 120.48 2006/12/06 23:53:30 hongliu 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 
151 
152  /* ======================================================================*
153   |  Global Structures                                                    |
154   * ======================================================================*/
155 
156  g_detail_tax_lines_tbl		detail_tax_lines_tbl_type;
157  g_check_cond_grp_tbl		trx_line_cond_grp_eval_tbl;
158  g_fsc_tbl			ZX_TCM_CONTROL_PKG.zx_fsc_class_info_cache;
159  g_tsrm_num_value_tbl		tsrm_num_value_tbl;
160  g_tsrm_alphanum_value_tbl	tsrm_alphanum_value_tbl;
161  g_trx_alphanum_value_tbl       tsrm_alphanum_value_tbl;
162  g_msg_context_info_rec         ZX_API_PUB.CONTEXT_INFO_REC_TYPE;
163 
164 /* ======================================================================*
165  |  Global Constants                                                     |
166  * ======================================================================*/
167 
168  g_lines_per_commit            CONSTANT NUMBER       :=  1000;
169 
170  -- Tax Hold Code and Tax Hold Release Code
171  g_tax_variance_hold           CONSTANT VARCHAR2(30) := 'TAX VARIANCE';
172  g_tax_amt_range_hold          CONSTANT VARCHAR2(30) := 'TAX AMOUNT RANGE';
173  g_tax_variance_corrected      CONSTANT VARCHAR2(30) := 'TAX VARIANCE CORRECTED';
174  g_tax_amt_range_corrected     CONSTANT VARCHAR2(30) := 'TAX AMOUNT RANGE CORRECTED';
175 
176  -- numeric value for the tax hold_code
177  g_tax_variance_hold_val           CONSTANT  NUMBER := 1;
178  g_tax_amt_range_hold_val          CONSTANT  NUMBER := 2;
179  g_tax_variance_corrected_val      CONSTANT NUMBER := 1;
180  g_tax_amt_range_corrected_val     CONSTANT  NUMBER := 2;
181 
182 
183 /* ======================================================================*
184   |  Global Variable                                                     |
185   * =====================================================================*/
186 
187  g_max_tax_line_number		zx_lines.tax_line_number%TYPE;
188  g_trx_lines_counter		NUMBER;
189 
190  g_rounding_level		ZX_PARTY_TAX_PROFILE.ROUNDING_LEVEL_CODE%TYPE;
191  g_rounding_rule                ZX_PARTY_TAX_PROFILE.ROUNDING_RULE_CODE%TYPE;
192  g_rnd_lvl_party_tax_prof_id	ZX_PARTY_TAX_PROFILE.PARTY_TAX_PROFILE_ID%TYPE;
193  g_rounding_lvl_party_type      ZX_LINES.ROUNDING_LVL_PARTY_TYPE%TYPE;
194  g_ln_action_cancel_exist_flg   VARCHAR2(1);
195  g_ln_action_discard_exist_flg  VARCHAR2(1);
196  g_ln_action_nochange_exist_flg  VARCHAR2(1);
197  g_process_copy_and_create_flg  VARCHAR2(1);
198  g_process_for_appl_flg         ZX_PARTY_TAX_PROFILE.PROCESS_FOR_APPLICABILITY_FLAG%TYPE;
199  g_reference_doc_exist_flg      VARCHAR2(1);
200 
201  -- added for bug fix 5417887
202  g_ctrl_total_line_tx_amt_flg   VARCHAR2(1);
203  g_ctrl_total_hdr_tx_amt_flg    VARCHAR2(1);
204 
205  -- added for bug 5684123
206  g_overridden_tax_ln_exist_flg  VARCHAR2(1);
207 
208 /* ======================================================================*
209   |  Public Procedures                                                   |
210   * =====================================================================*/
211 PROCEDURE  get_tax_regimes (
212   p_trx_line_index	    IN		    BINARY_INTEGER,
213   p_event_class_rec	    IN  OUT NOCOPY  zx_api_pub.event_class_rec_type,
214   x_return_status	    OUT NOCOPY      VARCHAR2);
215 
216 PROCEDURE  calculate_tax (
217   p_trx_line_index	    IN	            BINARY_INTEGER,
218   p_event_class_rec	    IN  OUT NOCOPY  zx_api_pub.event_class_rec_type,
219   x_return_status           OUT NOCOPY      VARCHAR2);
220 
221 PROCEDURE  override_detail_tax_lines (
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  tax_line_determination (
227   p_event_class_rec	     IN  OUT NOCOPY  zx_api_pub.event_class_rec_type,
228   x_return_status            OUT NOCOPY      VARCHAR2);
229 
230 PROCEDURE  override_summary_tax_lines (
231   p_trx_line_index	     IN		     BINARY_INTEGER,
232   p_event_class_rec	     IN  OUT NOCOPY  zx_api_pub.event_class_rec_type,
233   x_return_status            OUT NOCOPY      VARCHAR2 );
234 
235 PROCEDURE prorate_imported_sum_tax_lines (
236  p_event_class_rec        IN 	       zx_api_pub.event_class_rec_type,
237  x_return_status          OUT NOCOPY   VARCHAR2);
238 
239 PROCEDURE  calculate_tax_for_import (
240  p_trx_line_index	  IN	       BINARY_INTEGER,
241  p_event_class_rec	  IN           zx_api_pub.event_class_rec_type,
242  x_return_status          OUT NOCOPY   VARCHAR2);
243 
244 PROCEDURE validate_document_for_tax (
245   x_return_status	     OUT NOCOPY	    VARCHAR2);
246 
247 PROCEDURE reverse_document (
248   p_event_class_rec  IN         ZX_API_PUB.EVENT_CLASS_REC_TYPE,
249   x_return_status    OUT NOCOPY VARCHAR2 );
250 
251 PROCEDURE dump_detail_tax_lines_into_gt (
252  p_detail_tax_lines_tbl	  IN OUT NOCOPY		detail_tax_lines_tbl_type,
253  x_return_status	     OUT NOCOPY		VARCHAR2);
254 
255 PROCEDURE dump_detail_tax_lines_into_gt (
256  x_return_status	     OUT NOCOPY		VARCHAR2);
257 
258 PROCEDURE update_exchange_rate (
259   p_event_class_rec      	IN          ZX_API_PUB.EVENT_CLASS_REC_TYPE,
260   p_ledger_id			IN          NUMBER,
261   p_currency_conversion_rate    IN          NUMBER,
262   p_currency_conversion_type    IN          VARCHAR2,
263   p_currency_conversion_date    IN          DATE,
264   x_return_status        	OUT NOCOPY  VARCHAR2 );
265 
266 PROCEDURE initialize (
267   p_event_class_rec        IN ZX_API_PUB.event_class_rec_type,
268   p_init_level             IN VARCHAR2,
269   x_return_status          OUT NOCOPY    VARCHAR2 );
270 
271 PROCEDURE initialize;
272 
273 PROCEDURE get_process_for_appl_flg (
274   p_tax_prof_id   IN         NUMBER,
275   x_return_status OUT NOCOPY VARCHAR2 );
276 
277 END  ZX_TDS_CALC_SERVICES_PUB_PKG;
278