Wenn zur Java™-Laufzeit ein Fehler auftritt, wird standardmäßig eine EGL-Systemnachricht angezeigt. Sie können für jede dieser Systemnachrichten oder für eine Untergruppe von Nachrichten eine angepasste Nachricht angeben.
Die angepassten Nachrichten werden in einer Eigenschaftendatei gespeichert, die Sie in der Java-Laufzeiteigenschaft 'vgj.messages.file' angeben können. Diese Eigenschaft wird in der Erstellungsdeskriptoroption 'userMessageFile' festgelegt. Weitere Informationen zum Format einer Java-Eigenschaftendatei finden Sie im Kapitel Programmeigenschaftendatei.
Wenn eine Nachricht erforderlich ist, wird in EGL zuerst die in 'vgj.messages.file' angegebene Eigenschaftendatei durchsucht. In EGL wird die Nachrichten-ID der erforderlichen Nachricht mit den IDs der Nachrichten in der Eigenschaftendatei vergleichen. Wenn in EGL in der Eigenschaftendatei eine Nachricht mit einer passenden ID gefunden wird, wird diese Nachricht verwendet. Wenn in der Eigenschaftendatei keine Nachricht mit einer passenden ID vorhanden ist, wird in EGL die Standardsystemnachricht verwendet. Sie können auch die Systemfunktion 'sysLib.getMessage' zum Zurückgeben einer Nachricht aus der in 'vgj.messages.file' angegebenen Eigenschaftendatei verwenden.
Viele Systemnachrichten enthalten Platzhalter für Nachrichteneinfügungen, die in EGL zur Laufzeit empfangen werden. Wenn durch Ihren Code zum Beispiel eine ungültige Datumsmaske an eine Systemfunktion übergeben wird, enthält die Nachricht zwei Platzhalter: einen (Platzhalter '0') für die Datumsmaske selbst und den anderen (Platzhalter '1') für den Namen der Systemfunktion. Im Format der Eigenschaftendatei sieht der Eintrag für die Standardnachricht wie folgt aus:
EGL0049E = Overflow when assigning {0} to {1}.
Sie können die Schreibung der Nachricht ändern, um alle oder einige Platzhalter in einer beliebigen Reihenfolge einzufügen. Die Nummerierung der Platzhalter kann jedoch nicht hinzugefügt oder geändert werden. Gültige Beispiele:
EGL0049E = Tried to assign {0} to {1} and failed.
EGL0049E = {1} = {0} : Overflow on assignment.
Das Programm wird beendet, wenn die in der Eigenschaft 'vgj.messages.file' angegebene Datei nicht geöffnet werden kann.
Beachten Sie, dass der erste Platzhalter für Systemnachrichten, die für COBOL generiert werden, {1} statt {0} ist.
Weitere Informationen enthält die Dokumentation zur Sprache Java:
- Nähere Informationen zur Verarbeitung von Nachrichten und dazu, welche Inhalte gültig sind, finden Sie in der Dokumentation für die Java-Klasse 'java.text.MessageFormat'.
- Nähere Informationen zur Handhabung von Zeichen, die nicht direkt in der Zeichencodierung ISO 8859-1 (die in Eigenschaftendateien immer verwendet wird) dargestellt werden können, finden Sie in der Dokumentation zur Java-Klasse 'java.util.Properties'.
Angepasste Nachrichtendateien erstellen
Sie können Eigenschaftendateien mit angepassten Nachrichten erstellen, die angezeigt werden, wenn zur Java-Laufzeit Fehler auftreten. Die Standardsystemnachrichten werden durch diese Nachrichten ersetzt.
- Gehen Sie wie folgt vor, um eine Eigenschaftendatei für die angepassten Nachrichten zu erstellen:
- Klicken Sie im Projektexplorer mit der rechten Maustaste auf den Ordner 'Java Resources' Ihres EGL-Projekts.
- Klicken Sie auf .
- Erweitern Sie im Fenster 'Neu' die Anzeige für die Überschrift 'Allgemein' und klicken Sie auf 'Datei'.
- Klicken Sie auf 'Weiter'.
- Stellen Sie sicher, dass im Feld 'Übergeordneten Ordner eingeben oder auswählen' der Ordner 'Java Resources' Ihres Projekts ausgewählt ist.
- Geben Sie im Feld 'Dateiname' einen Namen für die Eigenschaftendatei ein. Dieser muss mit .properties enden. messages.properties ist ein Beispiel für einen gültigen Dateinamen.
- Klicken Sie auf 'Fertig stellen'. Die neue Datei wird erstellt und im Editor geöffnet.
- Gehen Sie zum Hinzufügen angepasster Nachrichten zur Nachrichtendatei wie folgt vor:
- Suchen Sie die Nachrichten-ID der zu ersetzenden Systemnachricht oder erstellen Sie eine neue Nachrichten-ID, wenn Sie eine neue Nachricht hinzufügen.
Die Dokumentation enthält Informationen zu Systemnachrichten, deren Nachrichten-IDs und Platzhaltern in einer Nachricht. Lesen Sie dazu das Kapitel ../../com.ibm.egl.messages.doc/topics/rjavrun0001.html.
- Fügen Sie der Nachrichtendatei im folgenden Format eine Zeile hinzu:
nachrichtenID = angepassteNachricht
- nachrichtenID
- Die ID der Systemnachricht.
- angepassteNachricht
- Die angepasste Nachricht, die anstelle der Systemnachricht angezeigt werden soll, einschließlich aller in der Nachricht enthaltenen Platzhalter.
Die Systemnachricht mit der ID EGL0049E, die standardmäßig Overflow when assigning {0} to {1}. lautet, wird durch die folgende Zeile der Eigenschaftendatei ersetzt:
EGL0049E = Tried to assign {0} to {1} and failed.
In diesem Beispiel sind die Codezeichenfolgen {0} und {1} Platzhalter für Nachrichteneinfügungen, die in EGL zur Laufzeit abgerufen werden. Diese Platzhalter sind in Ihrer angepassten Nachricht optional.
- Speichern und schließen Sie die Nachrichtendatei nach dem Hinzufügen von Nachrichten.
- Legen Sie die Erstellungsdeskriptoroption 'genProperties' auf GLOBAL oder PROGRAM fest.
- Geben Sie mithilfe einer der folgenden Methoden die Nachrichtendatei an:
- Wenn Sie Nachrichten in andere Sprachen lokalisieren möchten, erstellen Sie für diese Sprachen zusätzliche Eigenschaftendateien:
- Erstellen Sie neue Eigenschaftendateien für alle Sprachen, die Sie bereitstellen möchten, indem Sie ein der jeweiligen Sprache entsprechendes Suffix für die Ländereinstellung zu den neuen Dateien hinzufügen.
Wenn die ursprüngliche Eigenschaftendatei messages.properties heißt, könnte die Datei mit deutschen Nachrichten messages_de.properties heißen.
Weitere Informationen zu Ländereinstellungen finden Sie im Kapitel Ländereinstellungen für Ressourcenpakete.
- Wiederholen Sie die in der ersten Eigenschaftendatei verwendeten Nachrichten-IDs in jeder neuen Datei.
- Übersetzen Sie in den neuen Dateien den Text der Nachricht, aber ändern Sie dabei nicht die Nachrichten-ID.
- Legen Sie fest, dass für die Anwendung die angegebene Sprache verwendet wird, indem Sie entweder mithilfe der Erstellungsdeskriptoroption 'targetNLS' den Namen der Sprache generieren oder indem Sie die Sprache mit der Systemfunktion 'sysLib.setLocale()' festlegen.
- Generieren Sie alle EGL-Dateien für das Projekt.