Peter Raganitsch

ORA-1403 in TabForm MRU Prozessen

Gepostet am 10. September 2009

Sie haben eine TabForm (updateable Report) und bekommen beim Speichern eine ORA-1403: keine Daten gefunden Fehlermeldung vom MRU Prozess, die ungfähr so aussieht?

Error in mru internal routine: ORA-20001: Fehler in MRU: row= 1, ORA-01403: no data found, update "TESTSCHEMA"."V_TESTVIEW" set  "OID_ID" = :b1, "ERSTES_FELD" = :b2, "ZWEITES_FELD" = :b3

Schon mal gehabt und lange nach der Ursache gesucht?

Möglicherweise sind sie ja in eine dieser beiden Fallen gelaufen:

1. gesperrte Felder werden nicht an den Server geschickt

In ihrer TabForm sind aufgrund der Business-Logik manche Eingabefelder via JavaScript gesperrt (disabled) worden, diese Felder werden beim Submit allerdings vom Browser ignoriert und NICHT an den Server, und somit nicht an APEX, geschickt.

1403_mru_disabled

Lösung: Felder vor dem Speichern wieder enabled, dann werden sie auch an den Server geschickt.

Dieses Verhalten trifft allerdings nur auf Felder zu, die mit dem HTML-Attribut “disabled” gesperrt wurden. Wird “readOnly” verwendet schickt der Browser das Feld trotzdem an den Server.

2. SELECT-Liste ohne Auswahlmöglichkeit

Manipulieren sie Inhalte von SELECT-Listen in einer TabForm mit AJAX-Calls (Wertabhängige Listen), ist unbedingt darauf zu achten, dass die Liste auch zumindest ein <option>-Tag enthält, sonst tritt auch hier der Fehler “Keine Daten gefunden” auf.



Kommentar schreiben