[Home] [Help]
PACKAGE: APPS.ZX_TAX_VERTEX_QSU_STUB
Source
1 PACKAGE ZX_TAX_VERTEX_QSU_STUB AS
2 /* $Header: zxvtxqss.pls 120.0 2005/09/09 08:20:33 asengupt noship $ */
3
4 /* *********************** Constant Declarations *********************** */
5
6 /* The maximum length of a city name character string. */
7 cQSUCiNameLen CONSTANT BINARY_INTEGER := 25;
8
9 /* The maximum length of a company code character string. */
10 cQSUCompCdLen CONSTANT BINARY_INTEGER := 5;
11
12 /* The maximum length of a county name character string. */
13 cQSUCoNameLen CONSTANT BINARY_INTEGER := 20;
14
15 /* The maximum length of a customer code character string. */
16 cQSUCustCdLen CONSTANT BINARY_INTEGER := 32;
17
18 /* The maximum length of a customer exemption certificate character string. */
19 cQSUCustExmtCrtfLen CONSTANT BINARY_INTEGER := 15;
20
21 /* The maximum length of a division code character string. */
22 cQSUDivCdLen CONSTANT BINARY_INTEGER := 5;
23
24 /* The maximum length of an exempt reason code character string. */
25 cQSUExmtRsnCdLen CONSTANT BINARY_INTEGER := 1;
26
27 /* The maximum length of an invoice control number character string. */
28 cQSUInvCntrlNumLen CONSTANT BINARY_INTEGER := 5;
29
30 /* The maximum length of an invoice number character string. */
31 cQSUInvIdNumLen CONSTANT BINARY_INTEGER := 12;
32
33 /* The maximum length of a nontaxable reason code character string. */
34 cQSUNonTxblRsnCdLen CONSTANT BINARY_INTEGER := 1;
35
36 /* The maximum length of a product code character string. */
37 cQSUProdCdLen CONSTANT BINARY_INTEGER := 32;
38
39 /* The maximum length of a product reporting code character string. */
40 cQSUProdRptngCdLen CONSTANT BINARY_INTEGER := 3;
41
42 /* The maximum length of a state name abbreviation character string. */
43 cQSUStNameAbbrevLen CONSTANT BINARY_INTEGER := 2;
44
45 /* The maximum length of a store code character string. */
46 cQSUStoreCdLen CONSTANT BINARY_INTEGER := 10;
47
48 /* The maximum length of a transaction user area character string. */
49 cQSUUserAreaLen CONSTANT BINARY_INTEGER := 25;
50
51 /* The maximum length of a product version number character string. */
52 cQSUVersionNumberLen CONSTANT BINARY_INTEGER := 19;
53
54 /* The maximum length for a zip code character string. */
55 cQSUZipCdLen CONSTANT BINARY_INTEGER := 5;
56
57 /* District Application Codes */
58 cQSUDiApplyCi CONSTANT BINARY_INTEGER := 0;
59 cQSUDiApplyCo CONSTANT BINARY_INTEGER := 1;
60
61 /* Rate Type Codes */
62 cQSURateTypeError CONSTANT BINARY_INTEGER := 0;
63 cQSURateTypeOvrd CONSTANT BINARY_INTEGER := 1;
64 cQSURateTypeTDMOvrd CONSTANT BINARY_INTEGER := 2;
65 cQSURateTypeStandard CONSTANT BINARY_INTEGER := 3;
66 cQSURateTypeZero CONSTANT BINARY_INTEGER := 4;
67
68 /* Tax Type Codes */
69 cQSUTaxTypeError CONSTANT BINARY_INTEGER := 0;
70 cQSUTaxTypeRentLease CONSTANT BINARY_INTEGER := 1;
71 cQSUTaxTypeSales CONSTANT BINARY_INTEGER := 2;
72 cQSUTaxTypeService CONSTANT BINARY_INTEGER := 3;
73 cQSUTaxTypeUse CONSTANT BINARY_INTEGER := 4;
74
75 /* Taxability Codes */
76 cQSUTxbltyExmt CONSTANT BINARY_INTEGER := 0;
77 cQSUTxbltyExmtTDMCE CONSTANT BINARY_INTEGER := 1;
78 cQSUTxbltyExmtTDMCT CONSTANT BINARY_INTEGER := 2;
79 cQSUTxbltyExmtTDMCTOvrd CONSTANT BINARY_INTEGER := 3;
80 cQSUTxbltyExmtTDMGTOvrd CONSTANT BINARY_INTEGER := 4;
81 cQSUTxbltyExmtTDMPTOvrd CONSTANT BINARY_INTEGER := 5;
82 cQSUTxbltyNonTxbl CONSTANT BINARY_INTEGER := 6;
83 cQSUTxbltyNonTxblTDMCTOvrd CONSTANT BINARY_INTEGER := 7;
84 cQSUTxbltyNonTxblTDMGT CONSTANT BINARY_INTEGER := 8;
85 cQSUTxbltyNonTxblTDMGTOvrd CONSTANT BINARY_INTEGER := 9;
86 cQSUTxbltyNonTxblTDMLT CONSTANT BINARY_INTEGER := 10;
87 cQSUTxbltyNonTxblTDMMT CONSTANT BINARY_INTEGER := 11;
88 cQSUTxbltyNonTxblTDMPT CONSTANT BINARY_INTEGER := 12;
89 cQSUTxbltyNonTxblTDMPTOvrd CONSTANT BINARY_INTEGER := 13;
90 cQSUTxbltyTxbl CONSTANT BINARY_INTEGER := 14;
91 cQSUTxbltyTxblTDMCT CONSTANT BINARY_INTEGER := 15;
92 cQSUTxbltyTxblTDMCTOvrd CONSTANT BINARY_INTEGER := 16;
93 cQSUTxbltyTxblTDMGT CONSTANT BINARY_INTEGER := 17;
94 cQSUTxbltyTxblTDMGTOvrd CONSTANT BINARY_INTEGER := 18;
95 cQSUTxbltyTxblTDMLT CONSTANT BINARY_INTEGER := 19;
96 cQSUTxbltyTxblTDMMT CONSTANT BINARY_INTEGER := 20;
97 cQSUTxbltyTxblTDMPT CONSTANT BINARY_INTEGER := 21;
98 cQSUTxbltyTxblTDMPTOvrd CONSTANT BINARY_INTEGER := 22;
99
100 /* Jurisdiction Identification Codes */
101 cQSUJurisShipTo CONSTANT BINARY_INTEGER := 0;
102 cQSUJurisShipFrom CONSTANT BINARY_INTEGER := 1;
103 cQSUJurisOrderAccept CONSTANT BINARY_INTEGER := 2;
104
105 /* Transaction Codes */
106 cQSUTransCdAdjustment CONSTANT BINARY_INTEGER := 0;
107 cQSUTransCdDistributeRate CONSTANT BINARY_INTEGER := 1;
108 cQSUTransCdDistributeTax CONSTANT BINARY_INTEGER := 2;
109 cQSUTransCdNormal CONSTANT BINARY_INTEGER := 3;
110 cQSUTransCdTaxOnlyCredit CONSTANT BINARY_INTEGER := 4;
111 cQSUTransCdTaxOnlyDebit CONSTANT BINARY_INTEGER := 5;
112
113 /* Transaction Status Codes */
114 cQSUTransStatusExcess CONSTANT BINARY_INTEGER := 0;
115 cQSUTransStatusMemo CONSTANT BINARY_INTEGER := 1;
116 cQSUTransStatusNormal CONSTANT BINARY_INTEGER := 2;
117
118 /* Transaction Sub-Type Codes */
119 cQSUTransSubTypeExpense CONSTANT BINARY_INTEGER := 0;
120 cQSUTransSubTypeFreight CONSTANT BINARY_INTEGER := 1;
121 cQSUTransSubTypeMisc CONSTANT BINARY_INTEGER := 2;
122 cQSUTransSubTypeProperty CONSTANT BINARY_INTEGER := 3;
123 cQSUTransSubTypeRentLease CONSTANT BINARY_INTEGER := 4;
124 cQSUTransSubTypeService CONSTANT BINARY_INTEGER := 5;
125
126 /* Transaction Type Codes */
127 cQSUTransTypePurchase CONSTANT BINARY_INTEGER := 0;
128 cQSUTransTypeRentLease CONSTANT BINARY_INTEGER := 1;
129 cQSUTransTypeSale CONSTANT BINARY_INTEGER := 2;
130 cQSUTransTypeService CONSTANT BINARY_INTEGER := 3;
131
132 /* City Search Codes */
133 cQSUCiSearchZipCiThenZip CONSTANT BINARY_INTEGER := 1;
134
135 /* Rounding methods. */
136 cQSURndngMethodQuantum CONSTANT BINARY_INTEGER := 0;
137 cQSURndngMethodLegacy CONSTANT BINARY_INTEGER := 1;
138
139 /* ************************** Type Definitions ************************* */
140
141 /* Tax Calculation API context information record type. */
142 TYPE tQSUContextRecord IS RECORD (
143 fGetJurisNames BOOLEAN := FALSE,
144 fRoundingMethod BINARY_INTEGER := 0,
145 fCaseSensitive BOOLEAN := FALSE,
146 fCacheJurisInfo BOOLEAN := TRUE,
147 fJurisMaxCacheSize BINARY_INTEGER := 16,
148 fCacheTDMInfo BOOLEAN := TRUE,
149 fTDMMaxCacheSize BINARY_INTEGER := 16,
150 fTDMCacheAgeLimit INTEGER := 3600);
151
152 /* Invoice header information record type. */
153 TYPE tQSUInvoiceRecord IS RECORD (
154 fJurisSTGeoCd NUMBER(9) := NULL,
155 fJurisSTStAbbrv VARCHAR2(2) := NULL,
156 fJurisSTCoName VARCHAR2(20) := NULL,
157 fJurisSTCiName VARCHAR2(25) := NULL,
158 fJurisSTCiCmprssd BOOLEAN := NULL,
159 fJurisSTZipCd VARCHAR2(5) := NULL,
160 fJurisSTCiSearchCd BINARY_INTEGER := NULL,
161 fJurisSTInCi BOOLEAN := NULL,
162 fJurisSFGeoCd NUMBER(9) := NULL,
163 fJurisSFStAbbrv VARCHAR2(2) := NULL,
164 fJurisSFCoName VARCHAR2(20) := NULL,
165 fJurisSFCiName VARCHAR2(25) := NULL,
166 fJurisSFCiCmprssd BOOLEAN := NULL,
167 fJurisSFZipCd VARCHAR2(5) := NULL,
168 fJurisSFCiSearchCd BINARY_INTEGER := NULL,
169 fJurisSFInCi BOOLEAN := NULL,
170 fJurisOAGeoCd NUMBER(9) := NULL,
171 fJurisOAStAbbrv VARCHAR2(2) := NULL,
172 fJurisOACoName VARCHAR2(20) := NULL,
173 fJurisOACiName VARCHAR2(25) := NULL,
174 fJurisOACiCmprssd BOOLEAN := NULL,
175 fJurisOAZipCd VARCHAR2(5) := NULL,
176 fJurisOACiSearchCd BINARY_INTEGER := NULL,
177 fJurisOAInCi BOOLEAN := NULL,
178 fInvIdNum VARCHAR2(12) := NULL,
179 fInvCntrlNum VARCHAR2(5) := NULL,
180 fInvDate DATE := NULL,
181 fInvGrossAmt NUMBER := NULL,
182 fInvTotalTaxAmt NUMBER := NULL,
183 fInvNumLineItems INTEGER := NULL,
184 fTDMCustCd VARCHAR2(32) := NULL,
185 fTDMCustClassCd VARCHAR2(32) := NULL,
186 fCustTxblty BINARY_INTEGER := NULL,
187 fTDMCompCd VARCHAR2(5) := NULL,
188 fTDMDivCd VARCHAR2(5) := NULL,
189 fTDMStoreCd VARCHAR2(10) := NULL);
190
191 /* Invoice line item information record type. */
192 TYPE tQSULineItemRecord IS RECORD (
193 fTransType BINARY_INTEGER := NULL,
194 fTransSubType BINARY_INTEGER := NULL,
195 fTransCd BINARY_INTEGER := NULL,
196 fTransDate DATE := NULL,
197 fTransExtendedAmt NUMBER := NULL,
198 fTransQuantity NUMBER := NULL,
199 fTransTotalTaxAmt NUMBER := NULL,
200 fTransCombinedRate NUMBER(7,6) := NULL,
201 fTransUserArea VARCHAR2(25) := NULL,
202 fTransStatusCd BINARY_INTEGER := NULL,
203 fTDMProdCd VARCHAR2(32) := NULL,
204 fTDMProdRptngCd VARCHAR2(3) := NULL,
205 fProdTxblty BINARY_INTEGER := NULL,
206 fPriTaxingJuris BINARY_INTEGER := NULL,
207 fPriCustExmtCrtfNum VARCHAR2(15) := NULL,
208 fPriStTxblty BINARY_INTEGER := NULL,
209 fPriStTaxType BINARY_INTEGER := NULL,
210 fPriStTaxedAmt NUMBER := NULL,
211 fPriStExmtAmt NUMBER := NULL,
212 fPriStExmtRsnCd VARCHAR2(1) := NULL,
213 fPriStNonTxblAmt NUMBER := NULL,
214 fPriStNonTxblRsnCd VARCHAR2(1) := NULL,
215 fPriStRate NUMBER(7,6) := NULL,
216 fPriStRateEffDate DATE := NULL,
217 fPriStRateType BINARY_INTEGER := NULL,
218 fPriStTaxAmt NUMBER := NULL,
219 fPriStTaxIncluded BOOLEAN := NULL,
220 fPriCoTxblty BINARY_INTEGER := NULL,
221 fPriCoTaxType BINARY_INTEGER := NULL,
222 fPriCoTaxedAmt NUMBER := NULL,
223 fPriCoExmtAmt NUMBER := NULL,
224 fPriCoExmtRsnCd VARCHAR2(1) := NULL,
225 fPriCoNonTxblAmt NUMBER := NULL,
226 fPriCoNonTxblRsnCd VARCHAR2(1) := NULL,
227 fPriCoRate NUMBER(7,6) := NULL,
228 fPriCoRateEffDate DATE := NULL,
229 fPriCoRateType BINARY_INTEGER := NULL,
230 fPriCoTaxAmt NUMBER := NULL,
231 fPriCoTaxIncluded BOOLEAN := NULL,
232 fPriCiTxblty BINARY_INTEGER := NULL,
233 fPriCiTaxType BINARY_INTEGER := NULL,
234 fPriCiTaxedAmt NUMBER := NULL,
235 fPriCiExmtAmt NUMBER := NULL,
236 fPriCiExmtRsnCd VARCHAR2(1) := NULL,
237 fPriCiNonTxblAmt NUMBER := NULL,
238 fPriCiNonTxblRsnCd VARCHAR2(1) := NULL,
239 fPriCiRate NUMBER(7,6) := NULL,
240 fPriCiRateEffDate DATE := NULL,
241 fPriCiRateType BINARY_INTEGER := NULL,
242 fPriCiTaxAmt NUMBER := NULL,
243 fPriCiTaxIncluded BOOLEAN := NULL,
244 fPriDiTxblty BINARY_INTEGER := NULL,
245 fPriDiTaxType BINARY_INTEGER := NULL,
246 fPriDiTaxedAmt NUMBER := NULL,
247 fPriDiExmtAmt NUMBER := NULL,
248 fPriDiExmtRsnCd VARCHAR2(1) := NULL,
249 fPriDiNonTxblAmt NUMBER := NULL,
250 fPriDiNonTxblRsnCd VARCHAR2(1) := NULL,
251 fPriDiRate NUMBER(7,6) := NULL,
252 fPriDiRateEffDate DATE := NULL,
253 fPriDiRateType BINARY_INTEGER := NULL,
254 fPriDiTaxAmt NUMBER := NULL,
255 fPriDiTaxIncluded BOOLEAN := NULL,
256 fPriDiAppliesTo BINARY_INTEGER := NULL,
257 fAddTaxingJuris BINARY_INTEGER := NULL,
258 fAddCustExmtCrtfNum VARCHAR2(15) := NULL,
259 fAddCoTxblty BINARY_INTEGER := NULL,
260 fAddCoTaxType BINARY_INTEGER := NULL,
261 fAddCoTaxedAmt NUMBER := NULL,
262 fAddCoExmtAmt NUMBER := NULL,
263 fAddCoExmtRsnCd VARCHAR2(1) := NULL,
264 fAddCoNonTxblAmt NUMBER := NULL,
265 fAddCoNonTxblRsnCd VARCHAR2(1) := NULL,
266 fAddCoRate NUMBER(7,6) := NULL,
267 fAddCoRateEffDate DATE := NULL,
268 fAddCoRateType BINARY_INTEGER := NULL,
269 fAddCoTaxAmt NUMBER := NULL,
270 fAddCoTaxIncluded BOOLEAN := NULL,
271 fAddCiTxblty BINARY_INTEGER := NULL,
272 fAddCiTaxType BINARY_INTEGER := NULL,
273 fAddCiTaxedAmt NUMBER := NULL,
274 fAddCiExmtAmt NUMBER := NULL,
275 fAddCiExmtRsnCd VARCHAR2(1) := NULL,
276 fAddCiNonTxblAmt NUMBER := NULL,
277 fAddCiNonTxblRsnCd VARCHAR2(1) := NULL,
278 fAddCiRate NUMBER(7,6) := NULL,
279 fAddCiRateEffDate DATE := NULL,
280 fAddCiRateType BINARY_INTEGER := NULL,
281 fAddCiTaxAmt NUMBER := NULL,
282 fAddCiTaxIncluded BOOLEAN := NULL,
283 fAddDiTxblty BINARY_INTEGER := NULL,
284 fAddDiTaxType BINARY_INTEGER := NULL,
285 fAddDiTaxedAmt NUMBER := NULL,
286 fAddDiExmtAmt NUMBER := NULL,
287 fAddDiExmtRsnCd VARCHAR2(1) := NULL,
288 fAddDiNonTxblAmt NUMBER := NULL,
289 fAddDiNonTxblRsnCd VARCHAR2(1) := NULL,
290 fAddDiRate NUMBER(7,6) := NULL,
291 fAddDiRateEffDate DATE := NULL,
292 fAddDiRateType BINARY_INTEGER := NULL,
293 fAddDiTaxAmt NUMBER := NULL,
294 fAddDiTaxIncluded BOOLEAN := NULL,
295 fAddDiAppliesTo BINARY_INTEGER := NULL);
296
297 /* Invoice line items table type. */
298 TYPE tQSULineItemTable IS TABLE OF tQSULineItemRecord
299 INDEX BY BINARY_INTEGER;
300
301 /* Version information record type. */
302 TYPE tQSUVersionRecord IS RECORD (
303 fVersionNumber VARCHAR2(19) := NULL,
304 fReleaseDate DATE := NULL);
305
306
307 /* ********************** Procedure Specifications ********************* */
308
309 /* Calculate taxes for a given invoice. */
310 PROCEDURE QSUCalculateTaxes (pContextRec IN OUT NOCOPY tQSUContextRecord,
311 pInvoiceRecIn IN tQSUInvoiceRecord,
312 pLineItemTblIn IN tQSULineItemTable,
313 pInvoiceRecOut IN OUT NOCOPY tQSUInvoiceRecord,
314 pLineItemTblOut IN OUT NOCOPY tQSULineItemTable,
315 pWriteToPreReturns IN BOOLEAN);
316
317 /* Retrieve version information for the Quantum for Sales */
318 /* and Use Tax Oracle PL/SQL Tax Calculation API. */
319 PROCEDURE QSUGetVersionInfo (pContextRec IN OUT NOCOPY tQSUContextRecord,
320 pVersionRec OUT NOCOPY tQSUVersionRecord);
321
322 /* Initialize invoice data structures. */
323 PROCEDURE QSUInitializeInvoice (pContextRec IN OUT NOCOPY tQSUContextRecord,
324 pInvoiceRecIn IN OUT NOCOPY tQSUInvoiceRecord,
325 pLineItemTblIn IN OUT NOCOPY tQSULineItemTable);
326
327 /* Write invoice output information to the Quantum for Sales */
328 /* and Use Tax pre-returns register table. */
329 PROCEDURE QSUWritePreReturnsData (pContextRec IN OUT NOCOPY tQSUContextRecord,
330 pInvoiceRecOut IN tQSUInvoiceRecord,
331 pLineItemTblOut IN tQSULineItemTable);
332
333 /* Exception is added for Stub */
334 QSU_NOT_FOUND EXCEPTION;
335
336
337 END ZX_TAX_VERTEX_QSU_STUB;