Grundlagen
Folgende Funktionsbausteine und Typen benutzen Sie zum Sammeln von Meldungen und zum Darstellen von Protokollen.
Funktionsbaustein |
Verwendung |
|---|---|
BAL_LOG_CREATE |
Protokoll anlegen mit Kopfdaten |
BAL_LOG_MSG_ADD |
Eine Meldung dem Protokoll hinzufügen |
BAL_LOG_EXCEPTION_ADD |
Eine Ausnahme dem Protokoll hinzufügen |
BAL_DSP_LOG_DISPLAY |
Im Hauptspeicher befindliche Meldungen anzeigen |
Typen |
Verwendung |
|---|---|
BAL_S_LOG |
Enthält die Protokollkopfdaten |
BAL_S_MSG |
Enthält die Daten einer Meldung |
BAL_S_EXC |
Enthält die Daten einer Ausnahme |
BALLOGHNDL |
Protokollhandle |
BALMSGHNDL |
Meldungshandle |
Beispiel
Das Programm SBAL_DEMO_01 simuliert die Überprüfung eines Fluges. Im ausgegebenen Protokoll wird das Ergebnis der Prüfung ausgegeben.
Das Programm SBAL_DEMO_07 gibt für die gleichen Prüfungen Ausnahmetexte aus.
Ein Protokoll läßt sich im Application Log mit dem Funktionsbaustein BAL_LOG_CREATE eröffnen. Diesem Funktionsbaustein können Sie die Kopfdaten des Protokoll mittels des Importing-Parameters I_S_LOG_HEADER mit der Struktur BAL_S_LOG übergeben.
Bei Aufruf des Funktionsbausteins BAL_LOG_CREATE erhalten Sie das sogenannte Protokollhandle (LOG_HANDLE, CHAR22) zurück. Das LOG_HANDLE ist eine sogenannte GUID (globally unique identifier), die ein Protokoll eindeutig identifiziert. Mit diesem Handle können Sie auf dieses Protokoll zugreifen, um z.B. die Kopfdaten nachträglich zu verändern (Funktionsbaustein BAL_LOG_HDR_CHANGE) oder um eine Meldung dem Protokoll hinzuzufügen (Funktionsbaustein BAL_LOG_MSG_ADD). Das LOG_HANDLE besitzt sofort seinen endgültigen Wert, ist also auch nach dem Sichern noch gültig.
Eine Meldung wird dem mit dem Protokollhandle I_LOG_HANDLE identifizierten Protokoll hinzugefügt.
Die Daten einer Meldung werden im Funktionsbaustein BAL_LOG_MSG_ADD mittels des Importing-Parameters I_S_MSG (Struktur BAL_S_MSG) vorgegeben.
Diese Daten sind vornehmlich die T100-Informationen (Message-Typ, Arbeitsgebiet, Message-Nummer, die 4 Message-Variablen). Es können aber auch weitere Informationen mitgegeben werden wie z.B. applikationsspezifische Daten (sogenannter Kontext) und auch Parameter für einen erweiterten Langtext sowie eine Rücksprungroutine. Weitere Informationen finden Sie unter Welche Daten können gesammelt werden?.
Ein Ausnahmetext wird dem mit I_LOG_HANDLE identifizierten Protokoll hinzugefügt.
Die Ausnahmeklasse, Fehlerschwere, Problemklasse und Detaillierungslevel werden dem Funktionsbaustein BAL_LOG_EXCEPTION_ADD mittels des IMPORTING-Parameters I_S_EXC (Struktur BAL_S_EXC) vorgegeben. Kontext-Informationen für Ausnahmen und kumuliertes Hinzufügen von Ausnahmen werden nicht unterstützt.
Bei Aufruf der Funktionsbausteine BAL_LOG_MSG_ADD, BAL_LOG_MSG_CUMULATE, etc. erhält man das sogenannte Meldungshandle E_S_MSG_HANDLE zurück. Das Meldungshandle setzt sich zusammen aus dem Protokollhandle des Protokolls, zu dem die Meldung gehört und einer laufenden Nummer (MSGNUMBER), die intern vergeben wird. Mit diesem Handle ist eine Meldung eindeutig identifiziert und Sie können mit diesem Handle auf eine Meldung zugreifen, z.B. um sie zu verändern (Funktionsbausteine BAL_LOG_MSG_CHANGE, BAL_LOG_EXCEPTION_CHANGE) oder zu lesen (Funktionsbausteine BAL_LOG_MSG_READ, BAL_LOG_EXCEPTION_READ). Diese Funktionsbausteine können Sie entsprechend parametrisieren, um eine andere Form der Protokollaufbereitung zu erreichen und eine Untermenge aller Meldungen im Hauptspeicher darzustellen. Weitere Informationen finden Sie unter Protokollanzeige.
Hinweis
Die Angabe des Protokollhandles bei Funktionsbausteinen wie BAL_LOG_MSG_ADD, BAL_LOG_MSG_CUMULATE, BAL_LOG_MSG_ADD_FREE_TEXT, etc. ist optional. Falls Sie es nicht angeben, wird das Default-Protokoll genommen. Dieses können Sie (neben anderen Default-Daten) mit dem Funktionsbaustein BAL_GLB_MSG_DEFAULTS_SET setzten. Falls kein Default-Log definiert ist, wird es automatisch durch den Funktionsbaustein BAL_LOG_CREATE gesetzt (Weitere Informationen finden Sie unter der Funktionsbausteindokumentation BAL_TP_DEFAULTS_SET_GET).
Mit dem Funktionsbaustein BAL_DSP_LOG_DISPLAY können die gesammelten Meldungen zur Anzeige gebracht werden. Dieser Funktionsbaustein kann ohne Parameter aufgerufen werden. In diesem Fall werden alle im Hauptspeicher befindlichen Meldungen genommen und entsprechend einer Standardaufbereitung dargestellt (diese Standardaufbereitung wird z.B. in der Transaktion SLG1 genutzt).