Improve error messages for user
This commit is contained in:
parent
c7527043f0
commit
89371e0d11
@ -1077,7 +1077,15 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
|
|
||||||
-- log current page
|
-- log current page
|
||||||
IF app.is_debug_on() AND in_page_id = app.get_page_id() THEN
|
IF app.is_debug_on() AND in_page_id = app.get_page_id() THEN
|
||||||
app.log_action('IS_PAGE_AVAILABLE', in_app_id, in_page_id, v_auth_scheme, v_package_name, v_procedure_name, v_data_type, v_page_argument);
|
app.log_action (
|
||||||
|
'IS_PAGE_AVAILABLE',
|
||||||
|
in_app_id,
|
||||||
|
in_page_id,
|
||||||
|
v_auth_scheme,
|
||||||
|
v_package_name || '.' || v_procedure_name,
|
||||||
|
v_data_type,
|
||||||
|
v_page_argument
|
||||||
|
);
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
-- skip global page and login/logout page
|
-- skip global page and login/logout page
|
||||||
@ -2583,6 +2591,8 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
v_payload logs.payload%TYPE;
|
v_payload logs.payload%TYPE;
|
||||||
BEGIN
|
BEGIN
|
||||||
out_result := APEX_ERROR.INIT_ERROR_RESULT(p_error => p_error);
|
out_result := APEX_ERROR.INIT_ERROR_RESULT(p_error => p_error);
|
||||||
|
--
|
||||||
|
out_result.message := REPLACE(out_result.message, '&' || 'quot;', '"'); -- remove HTML entities
|
||||||
|
|
||||||
-- assign log_id sequence (app specific, probably from sequence)
|
-- assign log_id sequence (app specific, probably from sequence)
|
||||||
IF p_error.ora_sqlcode IN (-1, -2091, -2290, -2291, -2292) THEN
|
IF p_error.ora_sqlcode IN (-1, -2091, -2290, -2291, -2292) THEN
|
||||||
@ -2600,6 +2610,9 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
out_result.message := 'CONSTRAINT_ERROR|' || v_action_name;
|
out_result.message := 'CONSTRAINT_ERROR|' || v_action_name;
|
||||||
out_result.display_location := APEX_ERROR.C_INLINE_IN_NOTIFICATION;
|
out_result.display_location := APEX_ERROR.C_INLINE_IN_NOTIFICATION;
|
||||||
--
|
--
|
||||||
|
ELSIF p_error.ora_sqlcode IN (-1400) THEN
|
||||||
|
out_result.message := 'NOT_NULL|' || REGEXP_SUBSTR(out_result.message, '\.["]([^"]+)["]\)', 1, 1, NULL, 1);
|
||||||
|
--
|
||||||
ELSIF p_error.is_internal_error THEN
|
ELSIF p_error.is_internal_error THEN
|
||||||
v_action_name := 'INTERNAL_ERROR';
|
v_action_name := 'INTERNAL_ERROR';
|
||||||
ELSE
|
ELSE
|
||||||
@ -2650,7 +2663,8 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
END IF;
|
END IF;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
out_result.message := REGEXP_REPLACE(out_result.message, '^(ORA' || TO_CHAR(app.app_exception_code) || ': )', '');
|
out_result.message := '[' || v_log_id || '] ' || REGEXP_REPLACE(out_result.message, '^(ORA-\d+:\s*)\s*', '');
|
||||||
|
out_result.display_location := APEX_ERROR.C_INLINE_IN_NOTIFICATION; -- also removes HTML entities
|
||||||
--
|
--
|
||||||
RETURN out_result;
|
RETURN out_result;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
@ -3085,7 +3099,7 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
t.table_name AS data_table,
|
t.table_name AS data_table,
|
||||||
a.table_name AS error_table,
|
a.table_name AS error_table,
|
||||||
--
|
--
|
||||||
LISTAGG(LOWER(c.column_name), ', ') WITHIN GROUP (ORDER BY c.column_id) AS list_columns
|
LISTAGG(c.column_name, ', ') WITHIN GROUP (ORDER BY c.column_id) AS list_columns
|
||||||
FROM user_tables t
|
FROM user_tables t
|
||||||
JOIN all_tables a
|
JOIN all_tables a
|
||||||
ON a.owner = COALESCE(app.dml_tables_owner, app.get_owner(app.get_app_id()))
|
ON a.owner = COALESCE(app.dml_tables_owner, app.get_owner(app.get_app_id()))
|
||||||
@ -3147,7 +3161,9 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
rec log_dml_error; -- logs_dml_errors%ROWTYPE; avoid references
|
rec log_dml_error; -- logs_dml_errors%ROWTYPE; avoid references
|
||||||
r SYS_REFCURSOR;
|
r SYS_REFCURSOR;
|
||||||
BEGIN
|
BEGIN
|
||||||
app.log_module(in_table_name);
|
IF app.is_debug_on() THEN
|
||||||
|
app.log_module(in_table_name);
|
||||||
|
END IF;
|
||||||
|
|
||||||
-- dynamic query to avoid references to avoid recompilation errors on APP package
|
-- dynamic query to avoid references to avoid recompilation errors on APP package
|
||||||
OPEN r FOR
|
OPEN r FOR
|
||||||
@ -3185,7 +3201,9 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
|||||||
END LOOP;
|
END LOOP;
|
||||||
CLOSE r;
|
CLOSE r;
|
||||||
--
|
--
|
||||||
app.log_success();
|
IF app.is_debug_on() THEN
|
||||||
|
app.log_success();
|
||||||
|
END IF;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
WHEN app.app_exception THEN
|
WHEN app.app_exception THEN
|
||||||
RAISE;
|
RAISE;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user