Date post: | 09-Aug-2015 |
Category: |
Technology |
Upload: | abed-othman |
View: | 80 times |
Download: | 2 times |
17-2 Copyright © 2004, Oracle. All rights reserved.
Objectives
After completing this lesson, you should be able to do the following:
• Describe the default messaging behavior of a form
• Handle run-time failure of built-in subprograms
• Identify the different types of Forms messages
• Control system messages
• Create and control alerts
• Handle database server errors
17-3 Copyright © 2004, Oracle. All rights reserved.
Run-Time Messages and Alerts Overview
System Application
Alerts
Messages
InformativeError
WorkingApplication
17-5 Copyright © 2004, Oracle. All rights reserved.
Detecting Run-Time Errors
• FORM_SUCCESS– TRUE: Action successful– FALSE: Error/Fatal error occurred
• FORM_FAILURE– TRUE: A nonfatal error occurred– FALSE: Action successful or a fatal error occurred
• FORM_FATAL– TRUE: A fatal error occurred– FALSE: Action successful or a nonfatal error
occurred
17-7 Copyright © 2004, Oracle. All rights reserved.
Errors and Built-Ins
• Built-In failure does not cause an exception.
• Test built-in success with FORM_SUCCESS function.IF FORM_SUCCESS THEN . . .OR IF NOT FORM_SUCCESS THEN . . .
• What went wrong?– ERROR_CODE, ERROR_TEXT, ERROR_TYPE– MESSAGE_CODE, MESSAGE_TEXT, MESSAGE_TYPE
17-9 Copyright © 2004, Oracle. All rights reserved.
Message Severity Levels
>25
20
15
10
5
0
25
All (default)
More critical
Define by:
:SYSTEM.MESSAGE_LEVEL
17-11 Copyright © 2004, Oracle. All rights reserved.
Suppressing Messages
:SYSTEM.MESSAGE_LEVEL := ’5’;
UP;
IF NOT FORM_SUCCESS THEN
MESSAGE(’Already at the first Order’);
END IF;
:SYSTEM.MESSAGE_LEVEL := ’0’;
:SYSTEM.SUPPRESS_WORKING := ’TRUE’;
17-13 Copyright © 2004, Oracle. All rights reserved.
The FORM_TRIGGER_FAILURE Exception
BEGIN
--
RAISE form_trigger_failure;--
EXCEPTION--
WHEN <exception> THEN RAISE form_trigger_failure;--
Fail trigger
END;
17-15 Copyright © 2004, Oracle. All rights reserved.
Triggers for InterceptingSystem Messages
• On-Error:– Fires when a system error message is issued– Is used to trap Forms and Oracle Server errors, and
to customize error messages
• On-Message:– Fires when an informative system message is
issued– Is used to suppress or customize specific
messages
17-17 Copyright © 2004, Oracle. All rights reserved.
Handling Informative Messages
• On-Message trigger
• Built-in functions:– MESSAGE_CODE– MESSAGE_TEXT– MESSAGE_TYPE
17-19 Copyright © 2004, Oracle. All rights reserved.
Setting Alert Properties
1
2
6543 7
Alert Styles:
Caution
Stop
Note
17-21 Copyright © 2004, Oracle. All rights reserved.
Planning Alerts
Yes/Noquestions
Yes/No/Cancelquestions
Cautionmessages
Informativemessages
17-22 Copyright © 2004, Oracle. All rights reserved.
Controlling Alerts
SET_ALERT_PROPERTY
SET_ALERT_BUTTON_PROPERTY
17-24 Copyright © 2004, Oracle. All rights reserved.
SHOW_ALERT Function
IF SHOW_ALERT(’del_Check’)=ALERT_BUTTON1 THEN
. . .
Alert_Button1Alert_Button2
Alert_Button3
17-26 Copyright © 2004, Oracle. All rights reserved.
Directing Errors to an Alert
PROCEDURE Alert_On_Failure IS
n NUMBER;
BEGIN
SET_ALERT_PROPERTY(’error_alert’,
ALERT_MESSAGE_TEXT,ERROR_TYPE||
’-’||TO_CHAR(ERROR_CODE)||
’: ’||ERROR_TEXT);
n := SHOW_ALERT(’error_alert’);
END;
17-27 Copyright © 2004, Oracle. All rights reserved.
Causes of Oracle Server Errors
Base table block
Implicit DML
Trigger/PU
Explicit DML
Stored PU call
Declarativeconstraint
Databasetrigger
Storedprogram unit
Form Oracle Server
17-29 Copyright © 2004, Oracle. All rights reserved.
Trapping Server Errors
Base table block
On-Error:DBMS_ERROR_CODEDBMS_ERROR_TEXT
Explicit DML/PU call
When Others:SQLCODESQLERRM
Constraint
DB trigger
Stored PU
Form Oracle Server
Predefinedmessage
RAISE_APPLICATION_
ERROR
RAISE_APPLICATION_
ERROR
17-30 Copyright © 2004, Oracle. All rights reserved.
Summary
In this lesson, you should have learned that:
• Forms displays messages at run time to inform the operator of events that occur in the session.
• You can use FORM_SUCCESS to test for run-time failure of built-ins.
• There are four types of Forms messages:– Informative– Error– Working– Application
17-31 Copyright © 2004, Oracle. All rights reserved.
Summary
• You can control system messages with built-ins and triggers:– MESSAGE_LEVEL– SUPPRESS_WORKING– On-[Error | Message] triggers– [ERROR | MESSAGE]_[CODE | TEXT | TYPE]
• Types of alerts: Stop, Caution, Note
• Alert built-ins:– SHOW_ALERT– SET_ALERT_PROPERTY– SET_ALERT_BUTTON_PROPERTY
17-32 Copyright © 2004, Oracle. All rights reserved.
Summary
• Handle database server errors:– Implicit DML: Use DBMS_ERROR_CODE and
DBMS_ERROR_TEXT in On-Error trigger– Explicit DML: Use SQLCODE and SQLERRM in WHEN
OTHERS exception handler