setError()

Die Systemfunktion 'sysLib.setError()' ordnet eine Nachricht einem von mehreren möglichen Containern zu.

Die folgenden Container sind für 'sysLib.setError()' verfügbar:
Die Position, an die die Nachricht gestellt wird, kann unterschiedlich sein:

Die Nachricht wird angezeigt, wenn die zugehörige Webseite angezeigt wird.

Wenn eine Gültigkeitsprüffunktion die Funktion 'sysLib.setError()' aufruft, wird die Webseite automatisch erneut angezeigt, wenn die Funktion beendet wird.

Die erste der drei für die Funktion unter 'Syntax' gezeigten Signaturen ist in JSF-Handlern und in VGWebTransaction-Programmen verfügbar, während die zweite und dritte Signatur nur für JSF-Handler verfügbar sind:

Sie können einem Feld oder dem JSF-Handler mehrere Nachrichten zuordnen. Die Nachrichten gehen verloren, wenn der JSF-Handler eine forward-Anweisung ausführt oder wenn das VGWebTransaction-Programm eine transfer- oder show-Anweisung ausführt.

Sie können 'sysLib.setError()' in der in der Eigenschaft 'onPostRenderFunction' des JSF-Handlers angegebenen Funktion verwenden, jedoch nicht in den Funktionen, die in den Eigenschaften 'onPostRenderFunction' und 'onConstructionFunction' angegeben sind.

Syntax

  sysLib.setError(
    fehlerhaftes_Feld anyPageVariable in,
    Nachrichtenschlüssel STRING in
    [, Nachrichteneinfügung STRING in])
  sysLib.setError(
    this enumerationThis in,
    Nachrichtenschlüssel STRING in
    {, Nachrichteneinfügung STRING in})
  sysLib.setError(Nachrichtentext STRING in)
fehlerhaftes_Feld
Wenn 'sysLib.setError()' über einen JSF-Handler ausgegeben wird, dann ist 'fehlerhaftes_Feld eine Variable im JSF-Handler, die an eine Komponente auf der Webseite gebunden ist.

Wenn 'sysLib.setError' über ein VGWebTransaction-Programm ausgegeben wird, dann ist 'fehlerhaftes_Feld ein Feld im VGUI-Datensatz, das in der Anweisung 'show' oder 'converse' oder im Abschnitt 'inputUIRecord' für das Programm angegeben wird.

this
Verweist auf den JSF-Handler, der den Aufruf von 'sysLib.setError()' ausgibt. In diesem Fall wird die Nachricht nicht in einem Feld angegeben, sondern dem JSF-Handler selbst zugeordnet. Ausführliche Informationen zu 'this' finden Sie unter Schlüsselwort "this".
Nachrichtenschlüssel
Bei der Eingabe kann es sich um eine beliebige Variable oder einen beliebigen Ausdruck handeln, die/der mit dem Typ STRING zuordnungskompatibel ist (siehe Zuordnungskompatibilität in EGL). Der Nachrichtenschlüssel liefert den Schlüssel zum Nachrichtenressourcenpaket oder zur Eigenschaftendatei, das/die zur Ausführungszeit verwendet wird. Wird für den Schlüssel kein Wert angegeben, ist die Nachricht eine Verkettung sämtlicher Nachrichten.
Nachrichteneinfügung
Bei der Eingabe kann es sich um eine beliebige Variable oder einen beliebigen Ausdruck handeln, die/der mit dem Typ STRING zuordnungskompatibel ist (siehe Zuordnungskompatibilität in EGL). Nachrichteneinfügung wird in die Ausgabenachricht eingefügt. Das Substitutionssymbol im Nachrichtentext ist eine ganze Zahl in geschweiften Klammern, wie im folgenden Beispiel:
  Ungültiger Dateiname {0}
In der Funktion 'sysLib.setError()' ist nur eine einzige Zeichenfolge vom Typ Nachrichteneinfügung zulässig, wohingegen in der Funktion 'sysLib.getMessage()' eine Feldgruppe aus Einfügungen möglich ist.
Nachrichtentext
Bei der Eingabe kann es sich um eine beliebige Variable oder einen beliebigen Ausdruck handeln, die/der mit dem Typ STRING zuordnungskompatibel ist (siehe Zuordnungskompatibilität in EGL). Dies ist der Text einer Nachricht, die der Webseite zugeordnet ist.

Beispiel

Das folgende Beispiel zeigt einen Eintrag in der Nachrichtendatei 'errorMessages_en_US.properties':

badname = The name you entered, {0}, is not valid.
Das folgende Beispiel zeigt diese Nachricht im Gebrauch:
  userName STRING = getUserName();  // Aufforderung zur Eingabe
  rc = validateUserName(userName);
  if (rc < 0)
    SysLib.setError( SysLib.getMessage( "badname", userName ) );
  end

Hinweise zur Kompatibilität

Tabelle 1. Hinweise zur Kompatibilität
Plattform Problem
JavaScript-Generierung Die Funktion 'sysLib.setError()' wird nicht unterstützt.
JSF-Handler Einfügungen für Nachrichten in einer Datentabelle (DataTable) vom Typ 'msgTable' (Nachrichtentabelle) werden unterstützt. Die erste Einfügung ist {0}.
Webtransaktionen Einfügungen für Nachrichten in einer Datentabelle (DataTable) vom Typ 'msgTable' (Nachrichtentabelle) werden unterstützt. Die erste Einfügung ist {1}.

Feedback