einen DBLookup nicht auf @IsError abzufragen ist ganz schlechter Programmierstil...
Das führt nämlich im dümmsten Fall dazu, dass Du Dokumente gar nicht mehr aufmachen kannst, weil der Fehler beim DBLookup das verhindert.
Failsilent nehme ich auch manchmal, das ist aber immer dann nervig, wenn der DBLookup nicht das zurückliefert was Du erwartest, und Du "debuggen" willst: Dann musst Du immer erst mal das Failsilent als Parameter entfernen, um zu sehen, was schief läuft.
In Deinem Beispiel würde das so aussehen:
double_id:=@DbLookup("":"NoCache";"";"(ids)";@LowerCase(id);1);
@If(@IsError( double_id ) ; @Success ; (id = "") | (@LowerCase(id) = double_id);@Failure("Bitte korrektes Kürzel eingegeben!");@Success);
ABER: Dein Konzept hat einen Schwachpunkt. Es funktioniert nur für neue Dokumente. Wenn Du versuchst, ein bestehendes Dokument erneut zu speichernn, wirst Du immer den @Failure kriegen, weil das Dokument sich per Lookup selbst findet...
Gruß
Tode