System-Skriptsprache: Allgemeine Funktionen, Meldungsfunktionen (Message functions)

Meldungsfunktionen können verwendet werden, um in einer Dialog-Anwendung den Benutzer über bestimmte Ereignisse oder Zustände zu informieren. Folgende Meldungsfunktionen stehen zur Verfügung:

Grundlegende Informationen zu den allgemeinen Funktionen der System-Skriptsprache erhalten Sie im Dokument System-Skriptsprache: Allgemeine Funktionen.

Meldungen werden in der Statuszeile und im Karteireiter Informationen angezeigt. Es ist möglich, den Bezug einer Meldung zu einem GUI-Element (z. B. einem Eingabefeld) durch eine Markierung des GUI-Elementes mit einer entsprechenden Meldungsecke zu kennzeichnen. Zur Verwaltung der von der Anwendung gesendeten Meldungen dient die Meldungswarteschlange (Message Queue), die vom Message-Manager zur Verfügung gestellt wird.

Eine Meldung kann Identifikationen beinhalten, mit denen man sie auf ein bestimmtes Feld oder ein bestimmtes Objekt bezieht. Diese Identifikationen sind:

  • Message-Group – Dies ist meistens das Objekt und entspricht oft einer Zeile in Listen, Tabellen oder Positionseditoren.
  • Message-Path – Dies ist meistens die Rubrik oder die Ansicht.
  • Message-ID – Dies ist meistens das Feld.

Eine Meldung wird nur dann in die Meldungswarteschlange aufgenommen, wenn nicht bereits eine Meldung mit der gleichen Meldungsklasse, Meldungsnummer usw. darin enthalten ist. Hierdurch wird beispielsweise das Bestätigen von Meldungen des Typs Warnung realisiert. Diese können über eine Checkbox vom Benutzer bestätigt werden und verbleiben in der Meldungswarteschlange. Wenn die Warnung mit der gleichen Identifikation erneut (d. h. unbestätigt) gesendet wird, dann wird sie nicht mehr in die Meldungswarteschlange aufgenommen.

Zur individuellen Anpassung des Meldungs- bzw. Langtextes ist die Angabe von Platzhaltern möglich. Ein Platzhalter wird durch eine Ziffer in geschweiften Klammern repräsentiert. Es kann maximal zehn verschiedene Platzhalter in einer Meldung geben.

Bei der Benutzung der Platzhalter ist darauf zu achten, dass diese nur für Daten vorgesehen sind, wie z. B. der Partneridentifikation. Der eigentliche Meldungstext wird in der Datenbank erfasst. Damit wird gewährleistet, dass die Meldungstexte übersetzbar bleiben und in der vom Benutzer gewählten Anzeigesprache angezeigt werden. Deshalb sollte auch bei geringen Abweichungen im Meldungstext mehrere Meldungen erfasst werden. Da der verfügbare Platz beschränkt ist, sollte der Text der Meldung nicht zu lang gewählt werden. Für weitere Erklärungen bzw. Hinweise steht der Langtext zur Verfügung.

popProgramMessagePath

Name popProgramMessagePath
Beschreibung popProgramMessagePath entfernt den neusten Pfad vom Programm-Message-Path.
Signaturen popProgramMessagePath()
Parameter Keine.
Ergebnis Entfernt den neusten Pfad vom Programm-Message-Path.
Fehlerquellen Keine.
Beispiele popProgramMessagePath()
Kontext ALL
Hinweise Der Programm-Message-Path wird bei der Wiederverwendung von GUI-Komponenten in einer interaktiven Anwendung verwendet, um die GUI-Elemente der Komponenten in den verschiedenen Verwendungen eindeutig zu identifizieren. Der Programm-Message-Path setzt sich aus mehreren Elementen analog zu einem Stack zusammen.

Weitere Information zu den Meldungen finden Sie im Programmierhandbuch in den Kapitel Meldungen und Meldungen bei Tabellen.

Siehe auch pushProgramMessagePath

pushProgramMessagePath

Name pushProgramMessagePath
Beschreibung pushProgramMessagePath fügt einen neuen Pfad zum Programm-Message-Path hinzu.
Signaturen pushProgramMessagePath(String path)
Parameter path ist ein Pfad, der zum Programm-Message-Path hinzugefügt werden soll.
Ergebnis Fügt den Pfad path zum Programm-Message-Path hinzu.
Fehlerquellen Keine.
Beispiele pushProgramMessagePath("PATH") fügt den Pfad PATH zum Programm-Message-Path hinzu.
Kontext ALL
Hinweise Der Programm-Message-Path wird bei der Wiederverwendung von GUI-Komponenten in einer interaktiven Anwendung verwendet, um die GUI-Elemente der Komponenten in den verschiedenen Verwendungen eindeutig zu identifizieren. Der Programm-Message-Path setzt sich aus mehreren Elementen analog zu einem Stack zusammen.

Weitere Information zu den Meldungen finden Sie im Programmierhandbuch in den Kapitel Meldungen und Meldungen bei Tabellen.

Siehe auch popProgramMessagePath

sendMessage

Name sendMessage
Beschreibung sendMessage sendet eine Meldung in die Meldungswarteschlange.
Signaturen sendMessage(Unknown path, String message)

sendMessage(Unknown path, String message, String p1)

sendMessage(Unknown path, String message, String p1, String p2)

sendMessage(Unknown path, String message, String p1, String p2, String p3)

sendMessage(Unknown path, String message, String[] parameterList)

Parameter path ist der Zugriffspfad auf ein Attribut einer Objektsicht.

message ist die Identifikation einer individuellen Meldung oder einer Meldung. Gibt es keine individuelle Meldung mit der Identifikation message, so wird die Meldung mit der Meldungsklasse und Meldungsnummer gemäß message gesendet.

p1, p2 und p3 sind bis zu drei Parameter, die eventuelle Platzhalter in der Meldung durch konkrete Werte ersetzen.

parameterList ist eine Liste mit beliebig vielen Parametern für die Platzhalter der Meldung.

Ergebnis Gibt die Meldung message aus.

Wird die Meldung in einer individuellen Prüfung in den Funktionen validate und validatePostcondition oder beim manuellen Starten eines Prozesses gesendet, dann kann die Meldung an einem bestimmten GUI-Element angezeigt werden. Das GUI-Element wird über die folgenden Eigenschaften identifiziert:

  • Pfad der Objektsicht (Parameter path)
  • Programm-Message-Id (Parameter path oder mithilfe der Funktion setProgrammMessageId)
  • Programm-Message-Group (mithilfe der Funktion setProgrammMessageGroup)
  • Programm-Message-Path (mithilfe der Funktion pushProgrammMessagePath)

Besitzt path den Wert null, dann wird die Meldung ohne Bezug auf ein GUI-Element ausgeben.

Wenn die Meldung in einer Workflow-Aktivität gesendet wird, so wird die Meldung in das Meldungsprotokoll der entsprechenden Datenbank geschrieben.

Fehlerquellen Eine fehlerhafte Meldung in einer individuellen Prüfung oder eine Aktivitätsdefinition kann dazu führen, dass das Business Object nicht verändert bzw. die Aktivität nicht erledigt werden kann.
Beispiele sendMessage(null, "ERROR", "Permission denied.") sendet die individuelle Meldung WARNING mit einem nicht übersetzbaren Text als Parameter und ohne die Meldung an einem Attribut anzuzeigen.

sendMessage(null, "WFL-00024", list()) sendet die individuelle Meldung WFL-00024 ohne Parameter und ohne die Meldung für ein Attribut anzuzeigen. Existiert die individuelle Meldung nicht, so wird die Systemmeldung com.cisag.sys.workflow.00024 gesendet.

sendMessage(persistent:number, "SAL-X0001",
list(valueSetDescription("com.cisag.app.
general.OrderStatus", current:status))

zeigt eine individuelle Meldung für das Attribut status der Objektsicht current einer individuellen Prüfung. Als Parameter wird die Bezeichnung des künftigen Status des geprüften Business Objects in der aktuellen Anzeigesprache übergeben.

sendMessage(results.RESULT_id, "WFL-0001", list(results.RESULT)) zeigt die individuelle Meldung am Feld für das Aktivitätsergebnis mit dem Namen RESULT in einer Aktivität an. Als Parameter wird der Wert des Feldes übergeben.

sendMessage(extension.RESULT_id, "GEN-0001", extension.RESULT_val) zeigt die individuelle Meldung in einer individuellen Prüfung für das weitere Feld RESULT eines Business Entitys.

sendMessage(new(DataView(com.cisag.app.
general.partner.model.Partner)):searchString,
"GEN-X00001", list())

zeigt eine individuelle Meldung am Suchbegriff eines Partners in einer Aktivität, die mit der Anwendung com.cisag.app.general.partner.ui.PartnerMaintenance verknüpft ist.

sendMessage(new(DataView(com.cisag.app.general.
partner.model.Partner))-
>AddressData:country, "GEN-X00001", list())

zeigt eine individuelle Meldung im Land der Adressdaten des Partners in einer Aktivität, die mit der Anwendung com.cisag.app.general.partner.ui.PartnerMaintenance verknüpft ist.

Kontext ALL
Hinweise Individuelle Meldungen erfassen Sie in der gleichnamigen Anwendung Individuelle Meldungen.

Weitere Information zu den Meldungen finden Sie im Programmierhandbuch in den Kapitel Meldungen und Meldungen bei Tabellen.

Siehe auch

setProgramMessageGroup

Name setProgramMessageGroup
Beschreibung setProgramMessageGroup setzt die Programm-Message-Group.
Signaturen setProgramMessageGroup(String group)
Parameter group ist eine Programm-Message-Group.
Ergebnis Setzt die Programm-Message-Group zu group.
Fehlerquellen Keine.
Beispiele setProgramMessageGroup(objectGuid) setzt die Programm-Message-Group in einer individuellen Prüfung einer Tabellenanwendung zu der in Variable objectGuid gespeicherten Guid eines Business Objects.
Kontext ALL
Hinweise Bei Tabellen ist das Setzen der korrespondierenden Ecken zu Meldungen an den Tabellenfeldern etwas aufwendiger. Soll eine Meldung für ein bestimmtes Feld in der Tabelle gesendet werden, muss dem Message-Manager mitgeteilt werden, bei welchem Feld die Meldungsecke angezeigt werden soll. Dazu wird dem Message-Manager mithilfe der Funktion setProgramMessageGroup()die Zeichenkette übergeben, welche die Tabellenzeile identifiziert. Anschließend wird mithilfe der Funktion setProgramMessageId()die entsprechende Message-ID am Message-Manager gesetzt. Zur Bildung einer eindeutigen Zeichenkette für setProgramMessageGroup()eignet sich z. B. die Guid des in der Tabellenzeile angezeigten Business Objects, die in einen String umgewandelt wird.

Weitere Information zu den Meldungen finden Sie im Programmierhandbuch in den Kapitel Meldungen und Meldungen bei Tabellen.

Siehe auch setProgramMessageId

setProgramMessageId

Name setProgramMessageId
Beschreibung setProgramMessageId setzt die Programm-Message-ID.
Signaturen setProgramMessageId(String id)
Parameter id ist eine Programm-Message-ID.
Ergebnis Setzt die Programm-Message-ID zu id.
Fehlerquellen Keine.
Beispiele setProgramMessageId("CODE") setzt die Programm-Message-ID zu CODE.
Kontext ALL
Hinweise Bei Tabellen ist das Setzen der korrespondierenden Ecken zu Meldungen an den Tabellenfeldern etwas aufwendiger. Soll eine Meldung für ein bestimmtes Feld in der Tabelle gesendet werden, muss dem Message-Manager mitgeteilt werden, bei welchem Feld die Meldungsecke angezeigt werden soll. Dazu wird dem Message-Manager mithilfe der Funktion setProgramMessageGroup()die Zeichenkette übergeben, welche die Zeile identifiziert. Anschließend wird mithilfe der Funktion setProgramMessageId()die entsprechende Message-ID am Message-Manager gesetzt.

Die Message-IDs werden an den GUI-Musterfeldern der Tabelle registriert. Die Felder einer Spalte sind Kopien des der Spalte zugeordneten GUI-Musterfeldes. Damit ist diesen GUI-Feldern auch die entsprechende Message-ID zugeordnet.

Weitere Information zu den Meldungen finden Sie im Programmierhandbuch in den Kapitel Meldungen und Meldungen bei Tabellen.

Siehe auch setProgramMessageGroup

Czy ten artykuł był pomocny?