DBA Data[Home] [Help]

PACKAGE: APPS.ZX_TAX_VERTEX_QSU_STUB

Source


1 PACKAGE ZX_TAX_VERTEX_QSU_STUB AUTHID CURRENT_USER AS
2 /* $Header: zxvtxqss.pls 120.2 2011/04/05 19:12:01 ssanka ship $ */
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(50)   := NULL,
202         fTransStatusCd      BINARY_INTEGER := NULL,
203         fTDMProdCd          VARCHAR2(300)   := 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;