[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;