DBA Data[Home] [Help]

PACKAGE: APPS.XNP_CG$ERRORS

Source


1 PACKAGE XNP_cg$errors AS
2 /* $Header: XNPCDSAS.pls 120.1 2005/06/18 00:37:17 appldev  $ */
3 
4    CG$ERROR_PACKAGE_VERSION CONSTANT VARCHAR2(20) := '1.0.1';
5 
6 
7    -----------------------------------------------------------------------------
8    -- Name:        GetErrors
9    -- Description: Pops all messages off the stack and returns them in the order
10    --              in which they were raised.
11    -- Parameters:  none
12    -- Returns:     The messages
13    -----------------------------------------------------------------------------
14    FUNCTION GetErrors
15         return varchar2;
16 
17    -----------------------------------------------------------------------------
18    -- Name:        pop
19    -- Description: Take a message off stack
20    --              Gets the error message that was last raised and removes it
21    --              from the error stack.
22    -- Parameters:  msg     Text message
23    -- Returns:     TRUE    Message popped successfully
24    --              FALSE   Stack was empty
25    -----------------------------------------------------------------------------
26    FUNCTION pop(msg OUT NOCOPY VARCHAR2)
27            RETURN BOOLEAN;
28 
29 
30    -----------------------------------------------------------------------------
31    -- Name:        pop (overload)
32    -- Description: Take a message off stack with full info
33    -- Parameters:  msg      Ttext message
34    --              error    ERRor or WARNing
35    --              msg_type ORA, API or user TLA
36    --              msg_id   Id of message
37    --              loc      Location where error occured
38    -- Returns:     TRUE     Message popped successfully
39    --              FALSE    Stack was empty
40    -----------------------------------------------------------------------------
41    FUNCTION pop(msg        OUT NOCOPY VARCHAR2
42                ,error      OUT NOCOPY VARCHAR2
43                ,msg_type   OUT NOCOPY VARCHAR2
44                ,msgid      OUT NOCOPY INTEGER
45                ,loc        OUT NOCOPY VARCHAR2)
46            RETURN BOOLEAN;
47 
48 
49    -----------------------------------------------------------------------------
50    -- Name:        raise_failure
51    --
52    -- Description: To raise the XNP_cg$error failure exception handler
53    -----------------------------------------------------------------------------
54    PROCEDURE raise_failure;
55 
56 
57    -----------------------------------------------------------------------------
58    -- Name:        clear
59    -- Description: Clears the stack
60    -- Parameters:  none
61    -----------------------------------------------------------------------------
62    PROCEDURE clear;
63 
64 
65    -----------------------------------------------------------------------------
66    -- Name:        push
67    --
68    -- Description: Put a message on stack with full info
69    --
70    -- Parameters:  msg      Text message
71    --              error    ERRor or WARNing
72    --              msg_type ORA, API or user TLA
73    --              msg_id   Id of message
74    --              loc      Location where error occured
75    -----------------------------------------------------------------------------
76    PROCEDURE push(msg          IN VARCHAR2
77                  ,error        IN VARCHAR2 DEFAULT 'E'
78                  ,msg_type     IN VARCHAR2 DEFAULT ''
79                  ,msgid        IN INTEGER  DEFAULT 0
80                  ,loc          IN VARCHAR2 DEFAULT '');
81 
82 
83    -----------------------------------------------------------------------------
84    -- Name:        MsgGetText
85    -- Description: Provides a mechanism for text translation.
86    -- Parameters:  p_MsgNo    The Id of the message
87    --              p_DfltText The Default Text
88    --              p_Subst1 (to 4) Substitution strings
89    --              p_LangId   The Language ID
90    -- Returns:		Translated message
91    -----------------------------------------------------------------------------
92    FUNCTION MsgGetText(p_MsgNo    IN NUMBER,
93                        p_DfltText IN VARCHAR2 DEFAULT NULL,
94                        p_Subst1   IN VARCHAR2 DEFAULT NULL,
95                        p_Subst2   IN VARCHAR2 DEFAULT NULL,
96                        p_Subst3   IN VARCHAR2 DEFAULT NULL,
97                        p_Subst4   IN VARCHAR2 DEFAULT NULL,
98                        p_LangId   IN NUMBER   DEFAULT NULL)
99            RETURN VARCHAR2;
100 
101 
102    -----------------------------------------------------------------------------
103    -- Name:        parse_constraint
104    -- Description: Isolate constraint name from an Oracle error message
105    -- Parameters:  msg     The actual Oracle error message
106    --              type    type of constraint to find
107    --                      (ERR_FOREIGN_KEY     Foreign key,
108    --                       ERR_CHECK_CON       Check,
109    --                       ERR_UNIQUE_KEY      Unique key,
110    --                       ERR_DELETE_RESTRICT Restricted delete)
111    -- Returns:     con_name Constraint found (NULL if none found)
112    -----------------------------------------------------------------------------
113    FUNCTION parse_constraint(msg  IN VARCHAR2
114                             ,type IN INTEGER)
115            RETURN VARCHAR2;
116 
117 
118 
119    --
120    -- Exception raised when any API validation fails
121    --
122    cg$error EXCEPTION;
123 
124 
125    --
126    -- Standard Oracle Errors that are caught and processed by the API
127    --
128    mandatory_missing   EXCEPTION;
129    check_violation     EXCEPTION;
130    fk_violation        EXCEPTION;
131    upd_mandatory_null  EXCEPTION;
132    delete_restrict     EXCEPTION;
133    uk_violation        EXCEPTION;
134    resource_busy       EXCEPTION;
135    no_data_found       EXCEPTION;
136    trg_mutate          EXCEPTION;
137 
138    ERR_UK_UPDATE    CONSTANT VARCHAR2(240) := 'Unique key <p1> not updateable';
139    ERR_FK_TRANS     CONSTANT VARCHAR2(240) := 'Foreign key <p1> not transferable';
140    ERR_DEL_RESTRICT CONSTANT VARCHAR2(240) := 'Cannot delete <p1> row, matching <p2> found';
141    VAL_MAND         CONSTANT VARCHAR2(240) := 'Value for <p1> is required';
142    ROW_MOD	        CONSTANT VARCHAR2(240) := 'Update failed - please re-query as value for <p1> has been modified by another user<p2><p3>';
143    ROW_LCK          CONSTANT VARCHAR2(240) := 'Row is locked by another user';
144    ROW_DEL          CONSTANT VARCHAR2(240) := 'Row no longer exists';
145    APIMSG_PK_VIOLAT CONSTANT VARCHAR2(240) := 'Primary key <p1> on table <p2> violated';
146    APIMSG_UK_VIOLAT CONSTANT VARCHAR2(240) := 'Unique constraint <p1> on table <p2> violated';
147    APIMSG_FK_VIOLAT CONSTANT VARCHAR2(240) := 'Foreign key <p1> on table <p2> violated';
148    APIMSG_CK_VIOLAT CONSTANT VARCHAR2(240) := 'Check constraint <p1> on table <p2> violated';
149    APIMSG_ARC_MAND_VIOLAT   CONSTANT VARCHAR2(240) := 'Mandatory Arc <p1> on <p2> has not been satisfied';
150    APIMSG_ARC_VIOLAT        CONSTANT VARCHAR2(240) := 'Too many members in Arc <p1> on <p2>';
151    APIMSG_RV_TAB_NOT_FOUND  CONSTANT VARCHAR2(240) := 'Reference code table <p1> has not been created used for <p2>';
152    APIMSG_RV_LOOKUP_FAIL    CONSTANT VARCHAR2(240) := 'Invalid value <p1> for column <p2>.<p3>';
153    APIMSG_RV_LOOKUP_DO_FAIL CONSTANT VARCHAR2(240) := 'Invalid value <p1> in domain <p2> for column <p3>.<p4>';
154    APIMSG_CODE_CTL_LOCKED   CONSTANT VARCHAR2(240) := 'Control table sequence value <p1> is being used by another user';
155    APIMSG_FK_VALUE_REQUIRED CONSTANT VARCHAR2(240) := 'Value required for <p1> foreign key';
156    APIMSG_CASC_ERROR        CONSTANT VARCHAR2(240) := 'Error in cascade <p1>';
157 
158 
159    API_UNIQUE_KEY_UPDATE   CONSTANT    INTEGER := 1001;
160    API_FOREIGN_KEY_TRANS   CONSTANT    INTEGER := 1002;
161    API_MODIFIED            CONSTANT    INTEGER := 1003;
162    API_CK_CON_VIOLATED     CONSTANT    INTEGER := 1004;
163    API_FK_CON_VIOLATED     CONSTANT    INTEGER := 1005;
164    API_UQ_CON_VIOLATED     CONSTANT    INTEGER := 1006;
165    API_PK_CON_VIOLATED     CONSTANT    INTEGER := 1007;
166    API_MAND_COLUMN_ISNULL  CONSTANT    INTEGER := 1008;
167    API_MAND_ARC_EMPTY      CONSTANT    INTEGER := 1009;
168    API_ARC_TOO_MANY_VAL    CONSTANT    INTEGER := 1010;
169    API_DEL_RESTRICT        CONSTANT    INTEGER := 1011;
170    API_RV_TAB_NOT_FOUND    CONSTANT    INTEGER := 1012;
171    API_RV_LOOKUP_FAIL      CONSTANT    INTEGER := 1013;
172    API_RV_LOOKUP_DO_FAIL   CONSTANT    INTEGER := 1014;
173    API_CODE_CTL_LOCKED     CONSTANT    INTEGER := 1015;
174    API_FK_VALUE_REQUIRED   CONSTANT    INTEGER := 1016;
175    API_CASC_ERROR          CONSTANT    INTEGER := 1017;
176 
177 
178    ERR_FOREIGN_KEY     CONSTANT    INTEGER := -2291;
179    ERR_CHECK_CON       CONSTANT    INTEGER := -2290;
180    ERR_UNIQUE_KEY      CONSTANT    INTEGER := -1;
181    ERR_MAND_MISSING    CONSTANT    INTEGER := -1400;
182    ERR_UPDATE_MAND     CONSTANT    INTEGER := -1407;
183    ERR_RESOURCE_BUSY   CONSTANT    INTEGER := -54;
184    ERR_NO_DATA         CONSTANT    INTEGER :=  1403;
185    ERR_DELETE_RESTRICT CONSTANT    INTEGER := -2292;
186 
187 
188 
189    PRAGMA EXCEPTION_INIT(mandatory_missing,    -1400);
190    PRAGMA EXCEPTION_INIT(check_violation,      -2290);
191    PRAGMA EXCEPTION_INIT(fk_violation,         -2291);
192    PRAGMA EXCEPTION_INIT(upd_mandatory_null,   -1407);
193    PRAGMA EXCEPTION_INIT(delete_restrict,      -2292);
194    PRAGMA EXCEPTION_INIT(uk_violation,         -0001);
195    PRAGMA EXCEPTION_INIT(resource_busy,        -0054);
196    PRAGMA EXCEPTION_INIT(trg_mutate,           -4091);
197 
198    TYPE cg$err_msg_t       IS TABLE OF VARCHAR2(512)   INDEX BY BINARY_INTEGER;
199    TYPE cg$err_error_t     IS TABLE OF VARCHAR2(1)     INDEX BY BINARY_INTEGER;
200    TYPE cg$err_msg_type_t  IS TABLE OF VARCHAR2(3)     INDEX BY BINARY_INTEGER;
201    TYPE cg$err_msgid_t     IS TABLE OF INTEGER         INDEX BY BINARY_INTEGER;
202    TYPE cg$err_loc_t       IS TABLE OF VARCHAR2(240)   INDEX BY BINARY_INTEGER;
203    cg$err_tab_i INTEGER := 1;
204 
205 
206 END XNP_cg$errors;