Deutsches Application Express Forum (ApEx) -- Installation , Engine / SQL , Anwendungen
HTMLDB Engine :  Oracle Apex The fastest message board... ever.
Alles in HTMLDB, Applikationen, Berichte, SQL ... 
Re: PL/SQL code Problem in Apex
geschrieben von: Samson (---.is.finanzit.net)
Datum:

Hallo Sebastian,
da es sich bei der Meldung ORA-20001 um eine Userdefinierte Fehlermeldung (siehe u. a. [www.dbmotive.com]) handelt, scheint das eine Meldung zu sein, die innerhalb von APEX ausgelöst wird, wenn Dein PL/SQL-Script diesen Fehler nicht abfängt.
Wir haben in unseren PL/SQL-Scripts grundsätzlich Exception-Handler integriert, mit denen wir Abbrüche nach möglichkeit verhindern.
Du findestr Info's dazu u. a. bei
[fara.cs.uni-potsdam.de].
Eine Fehlerbehandlung könnte folgendermaßen aussehen:
LOOP
BEGIN
SELECT 1
INTO dummy
FROM datam.t_objektnutzung
WHERE t_objektnutzung.pk_objnutzung_id = recaktonutzung.objnkz;
EXCEPTION
/******************************************************************************/
/* Wenn keine Daten vorhanden: 1. Setze Dummywerte in Tabelle t_objektnutzung */
/* 2. Schreibe Kommentar in LOG */
/******************************************************************************/
WHEN NO_DATA_FOUND
THEN
INSERT INTO datam.t_objektnutzung
(pk_objnutzung_id, art_id
,art, objnutzung_id
,objnutzung
)
VALUES (recaktonutzung.objnkz, NULL
,recaktonutzung.objnkz, recaktonutzung.objnkz
,recaktonutzung.objnkz
);

cproc.LOG ('W'
,cprocname
, 'Objektnutzung nicht vorhanden, Eintrag für: '
|| recaktonutzung.objnkz
,plogfile
);
END;
END LOOP;

Wobei cproc.LOG eine PL/SQL-Prozedur ist, die Meldungen in ein Logfile schreibt.
In Deinem Fall könnte es sich um die Exception "DUP_VAL_ON_INDEX" handeln (Es wird versucht, doppelt Werte in einer Datenbankspalte zu speichern, die durch einen eindeutigen Index gekennzeichnet sind.)

Wenn der Fehler im PL/SQL nicht abgefangen wird, dann bricht es ab und die nächsthöhere Instanz macht dann die Fehlerbehandlung.

Ich hoffe, dass ich den Kern der Sache getroffen habe.

Gruß

Klaus




Thema Neugierige geschrieben von geschrieben
PL/SQL code Problem in Apex 2636 skahlert
Re: PL/SQL code Problem in Apex 1410 Samson
Re: PL/SQL code Problem in Apex 1215 skahlert
Re: PL/SQL code Problem in Apex 1615 Samson


In diesem Forum dürfen nur registrierte Benutzer schreiben.
This forum powered by Phorum.