SYS(MSG ...)

Notiz
Notiz
Diese Funktion steht auch innerhalb von F-Script Blöcken zur Verfügung.

Form

«SYS(MSG <Message Typ> <Text>)»
«SYS(MSG INFO Text)»
Info_Icon.jpg
Nachricht vom Typ Information.
Text = Anzuzeigender Text.
Anzeige nachdem das F-Script beendet wurde.
«SYS(MSG EXCL Text)»
Warning_Icon.jpg
Nachricht vom Typ Achtung.
Text = Anzuzeigender Text.
Anzeige nachdem das F-Script beendet wurde.
«SYS(MSG CRIT Text)»
Critical_Icon.jpg
Nachricht vom Typ Kritisch.
Text = Anzuzeigender Text.
Anzeige nachdem das F-Script beendet wurde.
«SYS(MSG ERROR Text)»
Error_Icon_and_Message.jpg
Nachricht vom Typ Fehler.
Text = Anzuzeigender Text.
Anzeige nachdem das F-Script beendet wurde. (Siehe Zusatzinformationen.)
Wichtig
Wichtig
Der Aufruf von «SYS(MSG ERROR...)» setzt den zugrunde liegenden Request auf ERROR. Soll das F-Script nach dem Aufruf von «SYS(MSG ERROR...)» verlassen werden, muss der Befehl «SYS(STOP)» aufgerufen werden.
Wird der Befehl «SYS(MSG ERROR...)» im Script vor dem Verbuchen eines Dokuments (z.B. KD-VEVV.FF) oder im Script beim Löschen von Positionen (z.B. VERPSAVE.FF) aufgerufen, hat dies zur Folge, dass die Verarbeitung abgebrochen wird. Das Dokument wird in diesem Fall nicht verbucht, bzw. die Position wird nicht gelöscht.
«SYS(MSG TYPE)»
Der Typ der Nachricht wird zurückgegeben.
«SYS(MSG TEXT)»
Der Text der Nachricht wird zurückgegeben.
«SYS(MSG CLEAR)»
Der Nachrichten-Puffer wird geleert.

Typ

S (Funktion)
Mit dieser Funktion können Nachrichten (Messages) mittels F-Script aus dem ServiceBus an den Client übermittelt werden.
Die Nachricht (Message) wird durch den Client (z.B. OpaccERP) dargestellt. Das bedeutet, dass auf diese Weise auch Nachrichten dargestellt werden können, welche aus einem F-Script stammen das über ServerMode abgearbeitet wird.
Die Übermittlung der Nachricht erfolgt in zwei Schritten:
1.) Nachrichten-Puffer
Solange der Service bzw. das F-Script läuft, werden die Nachrichten im Nachrichten-Puffer zwischengespeichert.
2.) Verarbeitung
Nach Abschluss des Service bzw. nachdem das F-Script beendet wurde, werden die Nachrichten im Attribut MsgText an den Client weitergeleitet, welcher sie verarbeitet und darstellt.
Die Darstellung der Nachricht obliegt also immer dem Client (in diesem Fall OpaccERP).
In einem F-Script muss deshalb für die Darstellung kein eigener Befehl aufgerufen werden. Die Nachricht wird immer nach der Abarbeitung des F-Scripts angezeigt.

Zusatzinformationen

Es steht immer nur ein Nachrichten-Puffer zur Verfügung.
Beispiel:
In einem F-Script wird der Service SaveBo auf das BO SalDocItem ausgeführt.
Dies hat zur Folge, dass das F-Script VERPSAVE.FF abgearbeitet wird.
Im VERPSAVE.FF wird nun mit SYS(MSG... eine Nachricht im Nachrichten-Puffer abgelegt.
Nachdem der SaveBo Service und das ursprüngliche F-Script beendet worden sind, wird die Nachricht aus dem VERPSAVE.FF dem Anwender angezeigt.
Der Nachrichtentext aus dem VERPSAVE.FF steht als UI-Message im Attribut MsgText des SaveBo ServiceResult. (Siehe auch F-Script Funktionen)
Im Falle von INFO, EXCL und CRIT, wird die Nachricht im Attribut MsgText abgelegt und dem Anwender eine Message-Box angezeigt.
Im Falle von ERROR findet eine Umwandlung des zugrundeliegenden ServiceResult statt.
  • Der Status wird auf Error gesetzt
  • Der MsgKey wird auf ScriptError gesetzt
  • Der MsgText wird durch den mitgegebenen Text ersetzt
Falls das zugrundeliegende ServiceResult schon den Status Error hat, wird der bestehende MsgText folgendermassen ergänzt:
MsgText + "ScriptError" + mitgegebener Text
Notiz
Notiz
Werden in einem F-Script mehrere SYS(MSG...) Befehle (Typ: INFO, EXCL und CRIT) nacheinander ausgeführt, werden die Texte (Nachrichten) innerhalb von MsgText in einem JSON-Fragment zurückgeben.

Beispiele

# Hinweis im "totalreport" eines F-Script erfassen.
/totalreport
...
...
«zAUF-TYP=3»«SYS(MSG INFO Expressmarkierung auf Paket nicht vergessen!)»
...
/
Anzeige nachdem das F-Script abgearbeitet worden ist:
Msg_Box.jpg
# F-Script aufgrund einer Bedingung abbrechen und anschliessend dem Anwender eine Info anzeigen.
/body
...
...
«zMARK(1)\I»«SYS(MSG CRIT Achtung! Konditionierung unklar. Verarbeitung abgebrochen!)»
«zMARK(1)\I»«SYS(STOP)»
...
/
Anzeige nachdem das F-Script abgearbeitet worden ist:
Msg_Box_Crit.jpg
Mehrere SYS(MSG...) Befehle innerhalb von einem F-Script:
/headerreport
«SYS(MSG INFO Dies ist eine Infomeldung.)»
«/DEMO.007.NOTES»
/

/DEMO.007.NOTES
# 001 Aktivieren 
«SYS(MSG INFO Noch eine Infomeldung.)»
«SYS(MSG EXCL Achtung dies ist eine Warnung!)»
«SYS(MSG CRIT Dies ist eine kritische Meldung!)»
«SYS(MSG ERROR Dies ist ein Error - Request fehlerhaft!)»
/

/GetInfoScript
«XFAS(head=SupportsScreenOutput)»
«XFAS(head=SupportsBoArgs)»
«XFAS(head=SupportedBoType)»
«XFAS(head=MlsKey)»
# ---------------------------------------------------------------------------------
# SceenOutput unterstützt
«XFAS(cell=1)»
# BoArgs unterstützt
«XFAS(cell=0)»
# BOTyp welcher geliefert werden soll
«XFAS(cell=)»
# Gewünschter MLS-Key - wenn nicht gefunden wird Key zurück gegeben.
«XFAS(cell=U.«XCNT(arg:ScriptName)»)»
/
Anzeige nachdem das F-Script abgearbeitet worden ist:
Multi_Message.jpg