Es kann manchmal nützlich sein, Systemnachrichten nicht interaktiv, sondern von einem ABAP-Programm aus anzulegen. Sie können z.B. Warnungen von einem Hintergrundjob aus anlegen, bevor Sie eine Sicherung oder eine andere Aktion starten, die dazu führt, dass das System nicht verfügbar ist.
Um eine Nachricht von einem Programm aus anzulegen, müssen Sie ein Programm erstellen, das den unten gezeigten Funktionsbaustein aufruft. Wenn das Programm läuft (z.B. als Job-Step in einem Hintergrundjob), wird die von Ihnen angegebene Nachricht sofort als Systemnachricht angezeigt. Die Nachricht verfällt nach der von Ihnen angegebenen Zeit und wird dann nicht mehr angezeigt.
data: emtext like TEMSG-EMTEXT. data: exp_time like TEMSG-TIMDEL. emtext = "Bitte abmelden. Backup in 2 Minuten. exp_time = '230000'. CALL FUNCTION 'SM02_ADD_MESSAGE' EXPORTING MESSAGE = emtext " 1. line of the message MESSAGE2 = " 2. line MESSAGE3 = " 3. line SERVERNAME = " Server EXPIRATION_DATE = SY-DATUM " Expiration date with EXPIRATION_TIME = '230000' " time DELETE_DATE = ' ' " Deletion date with DELETE_TIME = '230000' " time CLIENT = ' ' " Client IMPORTING MESSAGE_ID = EXCEPTIONS EMPTY_MESSAGE = 1 SERVER_NOT_AVAILABLE = 2 CLIENT_NOT_AVAILABLE = 3 NOT_AUTHORIZED = 4 OTHERS = 5
Wie in dem Beispielprogramm zu sehen ist, haben Nachrichten dasselbe Format wie in der Dialogtransaktion: maximal 3 Zeilen mit jeweils maximal 60 Zeichen. Nur die erste Zeile muss ausgefüllt werden.
Verwenden Sie für die Verfallsuhrzeit 12- oder 24-Stundenformat, wie im Benutzerstammsatz, unter dem das Programm läuft, eingestellt. Wenn nur eine Uhrzeit angegeben wird, wird das aktuelle Datum übernommen.
Geben Sie immer eine Uhrzeit an.
Jedesmal, wenn Ihr Programm läuft, wird die von Ihnen angegebene Nachricht an alle Benutzer verschickt.