Problem : Oracle Form 6i error messages

Problem : Oracle Form 6i error messages

How can i handle error messages. when inserting a record in a block it makes a “tot” sound how can get rid of that?
please give me a code….


Solution : Oracle Form 6i error messages

This is an On-Message trigger:

DECLARE
mestype VARCHAR2(3) := MESSAGE_TYPE;
mescode NUMBER := MESSAGE_CODE;
mestxt VARCHAR2(80) := MESSAGE_TEXT;
alert_button number;
BEGIN
IF mescode = 40400 THEN
mestxt := ‘aaa’;
ELSIF mescode = 40404 THEN
mestxt := ‘bbb’;
ELSIF mescode = 40406 THEN
mestxt := ‘ccc’;
ELSIF mescode = 40407 THEN
mestxt := ‘ddd’;
ELSE
mestxt := mestype||’-‘||to_char(mescode)||’: ‘||mestxt;
END IF;

Set_Alert_Property(‘spr’, alert_message_text, mestxt );
alert_button := Show_Alert(‘spr’);

END;

This is an On-Error trigger:

begin
set_application_property(CURSOR_STYLE,’DEFAULT‘);
formular_error;
EXCEPTION
WHEN OTHERS THEN
CGTE$OTHER_EXCEPTIONS;
end;

procedure FORMULAR_ERROR is
err_code        CONSTANT NUMBER      := ERROR_CODE;
err_type        CONSTANT VARCHAR2(3) := ERROR_TYPE;
err_txt            VARCHAR2(300)                  := substr(ERROR_TEXT,1,300);
server_err      NUMBER                         := abs(DBMS_ERROR_CODE);
server_msg      VARCHAR2(2000)                 := DBMS_ERROR_TEXT;
BEGIN
IF err_type = ‘FRM’ AND
err_code in (40502,40503,40504,40505,40506,40507,40508,40509,
40510,40511,40512,40513,40514,40515) THEN
oracle_error(server_err,server_msg);
ELSE
klient_error(err_code,err_type,err_txt);
END IF;
END FORMULAR_ERROR;

PROCEDURE KLIENT_ERROR (errcd number,errtp varchar2,errtx varchar2) IS
errtype      VARCHAR2(3) := errtp;
errcode      NUMBER := errcd;
errtxt       VARCHAR2(300) := errtx;
alert_button number;
forma        VARCHAR2(30) := :system.current_form;
blok         VARCHAR2(30) := :system.current_block;
polozka      VARCHAR2(30) := :system.current_item;
al_id            Alert := Find_Alert(‘chy’);

BEGIN
IF errcode = 40200 THEN
errtxt := ‘aaaa’;
ELSIF errcode = 40201 THEN
errtxt := ‘bbbbbbbb’;
ELSIF errcode = 40202 THEN
errtxt := ‘ccccccc’;
END IF;

Set_Alert_Property(al_id, alert_message_text, errtxt );
alert_button := Show_Alert(al_id);

EXCEPTION
WHEN OTHERS THEN
CGTE$OTHER_EXCEPTIONS;

END KLIENT_ERROR;

PROCEDURE oracle_error (sererr number,sermsg varchar2) IS
server_err NUMBER         := sererr;
server_msg VARCHAR2(2000) := sermsg;
al_button  number;
forma      VARCHAR2(30)   := :system.current_form;
blok       VARCHAR2(30)   := :system.current_block;
polozka    VARCHAR2(30)   := :system.current_item;
al_id          Alert := Find_Alert(‘chy’);
BEGIN
IF server_msg is not null then
Set_Alert_Property(al_id, alert_message_text, CGTE$STRIP_FIRST_ERROR(server_msg));
al_button := Show_Alert(al_id);

END IF;

EXCEPTION
WHEN OTHERS THEN
CGTE$OTHER_EXCEPTIONS;

END oracle_error;