1 PACKAGE JL_ZZ_TAX AS
2 /* $Header: jlzzrtxs.pls 120.2 2004/10/29 15:41:32 opedrega ship $ */
3
4 g_first_tax_line BOOLEAN;
5 g_prev_header_id NUMBER;
6 g_prev_cust_trx_line_number NUMBER;
7 g_prev_invoice_line_number NUMBER;
8 g_first_processed_invoice_line NUMBER;
9 g_first_processed_category_id NUMBER;
10
11 TYPE ALL_TAX_GROUP IS RECORD (
12 TaxGroup NUMBER(15),
13 TaxCateg NUMBER(15),
14 DetAttrValue VARCHAR2(30)
15 );
16 TYPE ALL_TAX_GRP_TAB IS TABLE OF ALL_TAX_GROUP INDEX BY BINARY_INTEGER;
17
18 g_all_tax_grp ALL_TAX_GRP_TAB;
19
20 TYPE REL_TAX_LINE_AMOUNTS IS RECORD (
21 TaxCateg NUMBER(15),
22 GrpAttrName VARCHAR2(30),
23 GrpAttrValue VARCHAR2(30),
24 ApplPriorBase NUMBER,
25 ChargedTax NUMBER,
26 CalcltdTax NUMBER
27 );
28 TYPE REL_TAX_LINE_AMT_TAB IS TABLE OF REL_TAX_LINE_AMOUNTS
29 INDEX BY BINARY_INTEGER;
30
31 g_rel_tax_line_amounts REL_TAX_LINE_AMT_TAB;
32
33 TYPE REL_TRX_CATEG IS RECORD (
34 ExistFlag VARCHAR2(1)
35 );
36 TYPE REL_TRX_CATEG_TAB IS TABLE OF REL_TRX_CATEG INDEX BY BINARY_INTEGER;
37
38 g_rel_trx_categ REL_TRX_CATEG_TAB;
39
40
41 FUNCTION get_category_tax_code (
42 p_tax_category_id IN NUMBER,
43 p_cust_trx_type_id IN NUMBER,
44 p_ship_to_site_use_id IN NUMBER,
45 p_bill_to_site_use_id IN NUMBER,
46 p_inventory_item_id IN NUMBER,
47 p_group_tax_id IN NUMBER,
48 p_memo_line_id IN NUMBER,
49 p_ship_to_customer_id IN NUMBER,
50 p_bill_to_customer_id IN NUMBER,
51 p_trx_date IN DATE,
52 p_application IN VARCHAR2,
53 p_warehouse_id IN NUMBER,
54 p_level IN VARCHAR2,
55 p_fiscal_classification_code IN VARCHAR2,
56 p_inventory_organization_id IN NUMBER,
57 p_location_structure_id IN NUMBER,
58 p_location_segment_num IN NUMBER,
59 p_set_of_books_id IN NUMBER,
60 p_transaction_nature IN VARCHAR2,
61 p_base_amount IN NUMBER,
62 p_establishment_type IN VARCHAR2,
63 p_contributor_type IN VARCHAR2,
64 p_warehouse_location_id IN NUMBER,
65 p_transaction_nature_class IN VARCHAR2
66 ) return VARCHAR2 ;
67
68 -- Commented for Bug 1934820.
69 -- PRAGMA RESTRICT_REFERENCES (get_category_tax_code, WNDS);
70
71 PROCEDURE get_category_tax_rule (
72 p_tax_category_id IN NUMBER,
73 p_cust_trx_type_id IN NUMBER,
74 p_ship_to_site_use_id IN NUMBER,
75 p_bill_to_site_use_id IN NUMBER,
76 p_inventory_item_id IN NUMBER,
77 p_group_tax_id IN NUMBER,
78 p_memo_line_id IN NUMBER,
79 p_ship_to_customer_id IN NUMBER,
80 p_bill_to_customer_id IN NUMBER,
81 p_trx_date IN DATE,
82 p_application IN VARCHAR2,
83 p_warehouse_id IN NUMBER,
84 p_level IN VARCHAR2,
85 p_fiscal_classification_code IN VARCHAR2,
86 p_inventory_organization_id IN NUMBER,
87 p_location_structure_id IN NUMBER,
88 p_location_segment_num IN NUMBER,
89 p_set_of_books_id IN NUMBER,
90 p_transaction_nature IN VARCHAR2,
91 p_base_amount IN NUMBER,
92 p_establishment_type IN VARCHAR2,
93 p_contributor_type IN VARCHAR2,
94 p_warehouse_location_id IN NUMBER,
95 p_transaction_nature_class IN VARCHAR2,
96 o_tax_code IN OUT NOCOPY VARCHAR2,
97 o_base_rate IN OUT NOCOPY NUMBER,
98 o_rule_data_id IN OUT NOCOPY NUMBER,
99 o_rule_id IN OUT NOCOPY NUMBER
100 );
101
102 PROCEDURE get_rule_info(
103 p_rule IN VARCHAR2,
104 p_fiscal_classification_code IN VARCHAR2,
105 p_tax_category_id IN NUMBER,
106 p_trx_date IN DATE,
107 p_ship_to_site_use_id IN NUMBER,
108 p_bill_to_site_use_id IN NUMBER,
109 p_inventory_item_id IN NUMBER,
110 p_ship_from_warehouse_id IN NUMBER,
111 p_group_tax_id IN NUMBER,
112 p_contributor_type IN VARCHAR2,
113 p_transaction_nature IN VARCHAR2,
114 p_establishment_type IN VARCHAR2,
115 p_transaction_nature_class IN VARCHAR2,
116 p_inventory_organization_id IN NUMBER,
117 p_ship_to_customer_id IN NUMBER,
118 p_bill_to_customer_id IN NUMBER,
119 p_warehouse_location_id IN NUMBER,
120 p_memo_line_id IN NUMBER,
121 p_base_amount IN NUMBER,
122 p_application IN VARCHAR2,
123 o_tax_code IN OUT NOCOPY VARCHAR2,
124 o_base_rate IN OUT NOCOPY NUMBER,
125 o_rule_data_id IN OUT NOCOPY NUMBER );
126
127 --PRAGMA RESTRICT_REFERENCES (get_rule_info, WNDS);
128
129 FUNCTION get_tax_base_rate (
130 p_tax_category_id IN NUMBER,
131 p_cust_trx_type_id IN NUMBER,
132 p_ship_to_site_use_id IN NUMBER,
133 p_bill_to_site_use_id IN NUMBER,
134 p_inventory_item_id IN NUMBER,
135 p_group_tax_id IN NUMBER,
136 p_memo_line_id IN NUMBER,
137 p_ship_to_customer_id IN NUMBER,
138 p_bill_to_customer_id IN NUMBER,
139 p_trx_date IN DATE,
140 p_application IN VARCHAR2,
141 p_warehouse_id IN NUMBER,
142 p_level IN VARCHAR2,
143 p_fiscal_classification_code IN VARCHAR2,
144 p_inventory_organization_id IN NUMBER,
145 p_location_structure_id IN NUMBER,
146 p_location_segment_num IN NUMBER,
147 p_transaction_nature IN VARCHAR2,
148 p_establishment_type IN VARCHAR2,
149 p_contributor_type IN VARCHAR2,
150 p_warehouse_location_id IN NUMBER,
151 p_transaction_nature_class IN VARCHAR2
152 ) return NUMBER ;
153
154 --PRAGMA RESTRICT_REFERENCES (get_tax_base_rate, WNDS);
155
156 --Bug 2367111
157 FUNCTION calculate
158 (p_org_id IN NUMBER) RETURN VARCHAR2;
159
160 -- Bugfix 1388703
161 PROCEDURE calculate_tax_amount (p_transaction_nature IN VARCHAR2,
162 p_transaction_nature_class IN VARCHAR2,
163 p_organization_class IN VARCHAR2,
164 p_base_amount IN NUMBER,
165 p_tax_group IN NUMBER,
166 p_tax_category_id IN NUMBER,
167 p_trx_date IN DATE,
168 p_rule_id IN NUMBER,
169 p_ship_to_site_use_id IN NUMBER,
170 p_bill_to_site_use_id IN NUMBER,
171 p_establishment_type IN VARCHAR2,
172 p_contributor_type IN VARCHAR2,
173 p_customer_trx_id IN NUMBER,
174 p_customer_trx_line_id IN NUMBER,
175 p_related_customer_trx_id IN NUMBER,
176 p_previous_customer_trx_id IN NUMBER,
177 p_location_id IN NUMBER,
178 p_contributor_class IN VARCHAR2,
179 p_set_of_books_id IN NUMBER,
180 p_latin_return_code IN OUT NOCOPY VARCHAR,
181 p_tax_amount IN OUT NOCOPY NUMBER,
182 p_tax_rate IN OUT NOCOPY NUMBER,
183 p_calculated_tax_amount IN OUT NOCOPY NUMBER,
184 p_exchange_rate IN NUMBER);
185
186 PROCEDURE calculate_latin_tax (p_tax_category_id IN NUMBER,
187 p_rule_id IN NUMBER,
188 p_group_tax_id IN NUMBER,
189 p_trx_date IN DATE,
190 p_contributor_type IN VARCHAR2,
191 p_transaction_nature IN VARCHAR2,
192 p_establishment_type IN VARCHAR2,
193 p_trx_type_id IN NUMBER,
194 p_ship_to_site_use_id IN NUMBER,
195 p_bill_to_site_use_id IN NUMBER,
196 p_inventory_item_id IN NUMBER,
197 p_memo_line_id IN NUMBER,
198 p_ship_to_cust_id IN NUMBER,
199 p_bill_to_cust_id IN NUMBER,
200 p_application IN VARCHAR2,
201 p_ship_from_warehouse_id IN NUMBER,
202 p_fiscal_classification_code IN VARCHAR2,
203 p_warehouse_location_id IN NUMBER,
204 p_transaction_nature_class IN VARCHAR2,
205 p_set_of_books_id IN NUMBER,
206 p_location_structure_id IN NUMBER,
207 p_location_segment_num IN VARCHAR2,
208 p_entered_amount IN NUMBER,
209 p_customer_trx_id IN NUMBER,
210 p_customer_trx_line_id IN NUMBER,
211 p_related_customer_trx_id IN NUMBER,
212 p_previous_customer_trx_id IN NUMBER,
213 p_contributor_class IN VARCHAR2,
214 p_organization_class IN VARCHAR2,
215 p_tax_rate IN OUT NOCOPY NUMBER,
216 p_base_rate IN NUMBER,
217 p_base_amount IN OUT NOCOPY NUMBER,
218 o_tax_amount IN OUT NOCOPY NUMBER,
219 o_latin_return_code IN OUT NOCOPY VARCHAR,
220 p_calculated_tax_amount IN OUT NOCOPY NUMBER,
221 p_exchange_rate IN NUMBER);
222
223 FUNCTION get_legal_message (
224 p_rule_id IN NUMBER,
225 p_rule_data_id IN NUMBER,
226 p_legal_message_exception IN VARCHAR2,
227 p_ship_from_warehouse_id IN NUMBER) RETURN VARCHAR2;
228
229 END JL_ZZ_TAX;