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
|
||||
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;
|
||||
|
||||
-- skip global page and login/logout page
|
||||
@ -2583,6 +2591,8 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
||||
v_payload logs.payload%TYPE;
|
||||
BEGIN
|
||||
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)
|
||||
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.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
|
||||
v_action_name := 'INTERNAL_ERROR';
|
||||
ELSE
|
||||
@ -2650,7 +2663,8 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
||||
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;
|
||||
EXCEPTION
|
||||
@ -3085,7 +3099,7 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
||||
t.table_name AS data_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
|
||||
JOIN all_tables a
|
||||
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
|
||||
r SYS_REFCURSOR;
|
||||
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
|
||||
OPEN r FOR
|
||||
@ -3185,7 +3201,9 @@ CREATE OR REPLACE PACKAGE BODY app AS
|
||||
END LOOP;
|
||||
CLOSE r;
|
||||
--
|
||||
app.log_success();
|
||||
IF app.is_debug_on() THEN
|
||||
app.log_success();
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN app.app_exception THEN
|
||||
RAISE;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user