Como editar el error que arroja #SQLERRM#

Image

Para lograr editar y si es posible traducir cada error que arroja el comando #SQLERRM# se debe primero crear una tabla para almacenar los diferentes errores.

CREATE TABLE ERRORES
(
“N_ERROR” NUMBER(10,0),
“M_ERROR” VARCHAR2(500 BYTE)
)

Luego con un PL-SQL lo llenamos,

DECLARE
mensaje VARCHAR2(500);
BEGIN
FOR num IN 1..9999 LOOP
mensaje := SQLERRM(num*-1);
INSERT INTO errores (N_ERROR,M_ERROR)VALUES (num,mensaje);
END LOOP;
END;

Con esto ya tenemos la tabla llena de los errores arrojados por dicho comando. Ahora modificamos manualmente cada uno (Traducción o demás) y en el PL-SQL lo llamamos de la siguiente manera

DECLARE

r_empleado EMPLEADO%ROWTYPE;

my_code NUMBER;
error VARCHAR2(500);

BEGIN
PKT_EMPLEADO.insertar(r_empleado);

EXCEPTION

WHEN OTHERS THEN
my_code := SQLCODE*-1;
Select M_ERROR into error from errores where N_ERROR = my_code;
raise_application_error(-20001,error);
END;

Anuncios

Etiquetas: , , , , , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: