Makrobefehle

Es stehen folgende Makro-Befehle zur Verfügung.

Feldbefehle


FestlegenFeldWert

Parameter

Parameter 1:
Feldname

Parameter 2:
Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Parameter 3 (optional, Default True):
Änderungs-Logik ausführen?
Standardmäßig wird, wenn sich ein Feldwert ändert, das Dirty-Flag gesetzt sowie Validierungen und das "Nach Aktualisierung"-Makro ausgeführt.
Dies kann durch den Wert False unterdrückt werden. Das Verhalten ist dann so, wie beim Laden eines vorhandenen Satzes in das UI.
Hinweis: Das "Nach Setzen"-Makro zum Setzen des UI-Status bleibt unberührt.
Anwendungsbeispiele für False: Das Setzen von Default-Werten im "Beim Anzeigen"-Ereignis.

Verfügbarkeit

nur in Daten-Edit-, Multi-Daten-Edit- und Selektions-Elementen

Beschreibung

Setzen eines Feldwertes (Ausdruck muss ein Ergebnis des entsprechenden Datentyps zurückgeben)

XML-Tag1
WebClientJa


FestlegenFeldAktiv

Parameter

Parameter 1:

Feldname

Parameter 2:

Feld aktiv (True) oder inaktiv (False) schalten
(kann als Makro-Ausdruck angegeben werden)

Verfügbarkeit

nur in Daten-Edit-, Multi-Daten-Edit- und Selektions-Elementen

Beschreibung

Setzen eines Feldes oder aller Felder auf aktiv bzw. inaktiv

Feldname kann hierbei auch ein Unterformular referenzieren (Syntax-Beispiel: „[subform]“) und betrifft dann das komplette Unterformular.

Als Feldname kann auch ein "*"-Zeichen angegeben werden (Beispiel: "[*]"), dann werden alle Felder entsprechend behandelt.

Im Daten-Edit-Element kann als Feldname auch "$NavigationPart" angegeben werden, um das Navigations-Element des Data-Edit-Elements aktiv/inaktiv zu schalten.

In Multi-Daten-Edit-Elementen wird immer nur das Feld der aktuellen Zeile aktiv/inaktiv geschaltet.

Anwendungshinweis: Die inaktive Darstellung ist zu verwenden, wenn die Daten ungültig sind, i.d.R. sind sie dann auch leer. Inaktive Felder werden bewusst schlecht lesbar dargestellt und die Inhalte können nicht in die Zwischenablage kopiert werden. Bezüglich "gültiger Daten" siehe Hinweis zum Makro-Befehl "FestlegenNurLesen".

XML-Tag2
WebClientja


FestlegenFeldSichtbar

Parameter

Parameter 1:

Feldname

Parameter 2:

Feld sichtbar /eingeblendet (True) oder unsichtbar /ausgeblendet (False) schalten
(kann als Makro-Ausdruck angegeben werden)

Verfügbarkeit

nur in Daten-Edit- und Selektions-Elementen

Beschreibung

Setzen eines Feldes oder aller Felder auf sichtbar bzw. unsichtbar (Felder mit "Visibility" 2 (versteckt) können nicht umgeschaltet werden).

Feldname ka nn hierbei auch ein Unterformular referenzieren (Syntax-Beispiel: „[subform]“) und betrifft dann das komplette Unterformular (Spalten werden nur vom Anwender ein-/ausgeblendet).

Als Feldname kann auch ein "*"-Zeichen angegeben werden (Beispiel: "[*]"), dann werden alle Felder entsprechend behandelt.

XML-Tag3
WebClientja


FestlegenLokaleVar

Parameter

  • Parameter 1:
    Variablen-Name, beginnend mit einem oder zwei Unterstreichungszeichen ("_")
    • Beginnt der Name mit einem Unterstreichungszeichen, dann ist es eine lokale Variable. Die Lebensdauer ist das eigene Makro und daraus heraus aufgerufene Makros.
    • Nur im Daten-Edit-Element und im Listen-Element: Beginnt der Name mit zwei Unterstreichungszeichen, dann ist es eine Dialog-Variable. Für diese gilt:
      • Der Gültigkeitsbereich ist die komplette Lebensdauer des geöffneten Dialogs.
      • Sie eignen sich dazu, um einmalig Daten-unabhängige Einstellungen zu lesen, die über einfache Mandanteneigenschaften hinaus gehen (z.B. für spezielle Rechteprüfungen im Server-seitigen Ereignis "OnOpenPart") oder um beim Makro-Befehl "DatenEditDialogÖffnen" Parameter an Makros zu übergeben.
      • Solche quasi "globalen" Variablen sollten sparsam verwendet werden, um Seiteneffekte zu vermeiden.
  • Parameter 2:
    Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Verfügbarkeit

Generell

Beschreibung

Setzen des Wertes einer lokalen Variablen, die bei Bedarf gemäß des Datentyps des Ausdrucks erzeugt wird (Lebensdauer analog dem Element, das das Makro enthält). Bei der Verwendung von lokalen Variablen sind diese in eckige Klammern zu setzen. Die Namen von lokalen Variablen müssen mit einem Unterstreichungszeichen („_“) beginnen.

XML-Tag4
WebClientja


FestlegenNurLesen

Parameter

Parameter 1:
Feldname

Parameter 2:
Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Verfügbarkeit

nur in Daten-Edit-, Multi-Daten-Edit- und Selektions-Elementen

Beschreibung

Setzen eines Feldes in den Nur-Lesen-Modus bzw. den Editiermodus (Ausdruck muss ein Ergebnis des Datentyps Boolean zurückgeben)

Die Metadaten sind allerdings vorrangig, d.h. dort definierte Nur-Lesen-Felder können nicht umgeschaltet werden (Attribut "Schreibschutz?" oder wenn zur Laufzeit keine Schreib-Berechtigung vorliegt).

Als Feldname kann auch ein "*"-Zeichen angegeben werden (Beispiel: "[*]"), dann werden alle Felder entsprechend behandelt.

Wenn ein Feld, das ein Unter-Element referenziert (Multi-Daten-Edit-Element), auf "nur lesen" gesetzt wird, bedeutet dies, dass keine Zeilen hinzugefügt oder gelöscht werden können. Die einzelnen Zellen innerhalb der Tabelle werden nicht beeinflusst (bleiben also ggf. beschreibbar). Diese können bei Bedarf im "OnCurrent"-Makro der Zeile per "[*]" schreibgeschützt werden.

Im Einzelnen:

  • Die "Neu"-Zeile wird ausgeblendet.
  • Die Funktionalität der Zwischenablage wird entsprechend eingeschränkt.
  • Die Funktionen 6 ("neuer Datensatz"), 8 ("Datensatz löschen") und 9 ("Datensatz kopieren") werden automatisch inaktiv.

Anwendungshinweis: Schreibschutz ist zu verwenden, wenn die Daten zwar gültig sind, aber vom Anwender nicht geändert werden dürfen. Schreibgeschützte Felder werden gut lesbar dargestellt und die Inhalte können in die Zwischenablage kopiert werden. Bezüglich "ungültiger Daten" siehe Hinweis zum Makro-Befehl "FestlegenFeldAktiv".

In Multi-Daten-Edit-Element wird immer nur das Feld in der aktuellen Zeile (die Zelle) umgeschaltet.

XML-Tag6
WebClientja


FestlegenFeldLeer

Parameter

Parameter 1:
Feldname

Parameter 2 (optional; Default True):
Änderungs-Logik ausführen?
Standardmäßig wird, wenn sich ein Feldwert ändert, das Dirty-Flag gesetzt sowie Validierungen und das "Nach Aktualisierung"-Makro ausgeführt. Dies kann durch den Wert False unterdrückt werden. Das Verhalten ist dann so, wie beim Laden eines vorhandenen Satzes in das UI.
Hinweis: Das "Nach Setzen"-Makro zum Setzen des UI-Status bleibt unberührt.
Anwendungsbeispiele für False: Das Setzen von Default-Werten im "Beim Anzeigen"-Ereignis.

Verfügbarkeit

nur in Daten-Edit-, Multi-Daten-Edit- und Selektions-Elementen

Beschreibung

Löschen eines Feldwertes, d.h. Feld auf leeren Wert setzen. Zum Prüfen, ob ein Feld leer ist, steht die Funktion "IsEmpty()" zur Verfügung.

XML-Tag7
WebClientja


FestlegenFeldBezeichnung (Ab Version 9.0.1)

Parameter

  • Parameter 1:
    Feldname
    (bei MDEE:
    MDEE-Feldname + "." + MDEE-Spaltenname)
  • Parameter 2:
    Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Verfügbarkeit

nur in Daten-Edit-/Selektions-Elementen und für die dort enthaltenen Multi-Daten-Edit-Elemente









(das Makro darf nicht direkt im Kontext des MDEE ausgeführt werden)

Beschreibung

Setzen eines Feld-Titels bzw. bei eingebetteten MDEE setzen des Spalten-Titels

XML-Tag8
WebClientnein


FestlegenFeldBezeichnungExtension(Ab Version 9.0.4)

Parameter

  • Parameter 1:
    Feldname: MDEE-Feldname + "." + MDEE-Spaltenname
  • Parameter 2:
    Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Verfügbarkeit

nur in Daten-Edit-/Selektions-Elementen für die dort enthaltenen Multi-Daten-Edit-Elemente und in Listen-Elementen (nur im Ereignis "OnOpenPart" ab Version 9.0.4)

Beschreibung

nur in Daten-Edit-/Selektions-Elementen und für die dort enthaltenen Multi-Daten-Edit-Elemente (das Makro darf nicht direkt im Kontext des MDEE ausgeführt werden)

XML-Tag9
WebClientnein

FestlegenSchlüsselWert(Ab Version 9.0.4)
Parameter
  • Parameter 1:
    Schlüsselfeldnummer (1-3)
  • Parameter 2:
    Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)
Verfügbarkeit nur im Kontextmenü einer Datenklasse
BeschreibungSetzen des Schlüsselwertes eines Datenklasse (Ausdruck muss ein Ergebnis des entsprechenden Datentyps zurückgeben)
XML-Tag10
WebClientnein


FestlegenSpalteSichtbar (Ab Version 9.0.1)

Parameter

  • Parameter 1:
    Feldname (MDEE-Feldname und Spaltenname des MDEE, getrennt durch einen Punkt oder Feldname (bei Listen-Element))
  • Parameter 2:
    Spalte sichtbar /eingeblendet (True) oder unsichtbar /ausgeblendet (False) schalten
    (kann als Makro-Ausdruck angegeben werden)

Verfügbarkeit

nur in Daten-Edit-/Selektions-Elementen für die dort enthaltenen Multi-Daten-Edit-Elemente; außerdem Listen-Elementen (dort nur im Ereignis "OnOpenPart" ab Version 9.0.4)

Beschreibung

Setzen einer MDEE-Spalte und des korrespondierenden Feldes im Detailbereich auf sichtbar bzw. unsichtbar bzw. Setzen einer LIsten-Element-Spalte auf sichtbar bzw. unsichtbar.

MDEE-Spalten und LIsten-Element-Spalten, die auf versteckt gesetzt sind, können nicht umgeschaltet werden.

XML-Tag21
WebClientnein

Schaltflächenbefehle


HervorhebungKontextmenüSchaltfläche

Parameter

Parameter 1:
Kontextmenü-Eintrag-Name

Parameter 2:
Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Verfügbarkeit

nur in Daten-Edit-Elementen

Beschreibung

Hervorhebung der Schaltfläche ein-/ausschalten (Ausdruck muss ein Ergebnis des Datentyps Boolean zurückgeben).

Steht der Kontextmenü-Eintrag nicht als Schaltfläche zur Verfügung, hat das Makro keine Auswirkung.

XML-Tag41
WebClientnein


AktivierenWeiter/Starten (ab Version 9.0)

Parameter

Parameter 1:

Schaltfläche "Weiter" bzw. "Starten" aktiv (True) oder inaktiv (False) schalten









(kann als Makro-Ausdruck angegeben werden)

Verfügbarkeit

nur in Assistenten-Dialogen (Selektions-Elemente mit Verwendungszweck Assistenten-Dialog)

Beschreibung

Aktivieren/Deaktivieren der Schaltflächen "Weiter" bzw. "Starten" in Assistenten. Auf Assistenten-Seiten mit Folgeseiten wird "Weiter" aktiviert, auf der letzten Assistenten-Seite wird "Starten" aktiviert Standardmäßig ist eine der Schaltflächen aktiviert.

XML-Tag42
WebClientja

DLL-Aufrufbefehle


AufrufenDll

Parameter

Parameter 1:
Name der aufzurufenden DLL (ohne Verzeichnisname, aber mit Dateinamenerweiterung „.dll“; die DLL wird immer im Sage-100-Shared-Verzeichnis des Applikationsservers gesucht)

Parameter 2:
Name der aufzurufenden Klasse inkl. Namespace (als Basisklasse ist "MacroProcessBase" zu verwenden; es wird die Methode "Execute" aufgerufen)

Parameter 3 (optional):

Semikolon-separierte Liste der zu übergebenden Felder, lokalen Variablen oder konstanten Werte (keine Ausdrücke; Feldwerte können geändert werden; Unter-Elemente und deren Felder können nicht übergeben werden).

Als Parameternamen für den Geschäftsprozess werden die Namen der Felder bzw. lokalen Variablen übernommen. Bei konstanten Werten wird der Name wie folgt gebildet: "_Parameter" + lfd. Nr. konstanter Wert (auf Basis 1, nicht die lfd. Parameternummer)

  • Hinweis: Erfolgt der Aufruf in einem Listen-Element, wird bei Mehrfachselektion pro Feld eine semikolonseparierte Liste der Werte aus allen selektierten Zeilen an den Geschäftsprozess übergeben

Parameter 4 (optional):

  • True = Aufruf asynchron ausführen
  • False (Default) = Aufruf synchron ausführen

Anmerkung zu Parameter 4: Länger laufende Verarbeitungsprozesse, wie Importe, sollten asynchron ausgeführt werden, um Zeitüberschreitungen (Timeouts) zu vermeiden. (ab Version 9.0) Client-seitig wird dann eine "Fortschrittsanzeige" (Animation) angezeigt.

Rückgabewerte sind _Canceled und _CanceledMessage

Bei _Canceled=True werden evtl. zurückgegebene Parameter nicht übernommen.

Parameter 5 (optional):

  • Handelt es sich um einen Dll-Aufruf, der abgebrochen werden kann?
  • True = Die Verarbeitung kann abgebrochen werden
  • False (Default) = Die Verarbeitung kann nicht abgebrochen werden

Beim Einfügen/Aktualisieren/Löschen von Datensätzen stehen beim Ausführen der Server-seitigen Ereignisse „Vor Änderung“ und „Vor Löschung“ im aufgerufenen Geschäftsprozess über die Basisklasse die Daten des Datensatzes (inkl. Hierarchie, d.h. Parent-/Child-Datensätze) wie folgt zur Verfügung:

Zugriff auf die Daten erfolgt über „Me.OldRecord“ und „Me.NewRecord“ (nur für lesende Verwendung)

Beim Einfügen ist „Me.OldRecord“ Nothing.

Beim Löschen ist „Me.NewRecord“ Nothing.

„Me.NewRecord“ ist der Datensatz mit den neuen Daten, wie ihn der Client sendet. Er enthält nur die geänderten Datenfelder. „Me.NewRecord“ verweist immer auf den gerade zu schreibenden Datensatz (Aufruf der Ereignisse erfolgt pro Datensatz). Parent- und Child-Datensätze stehen in „Me.NewRecord“ uneingeschränkt zur Verfügung, soweit Änderungen vorhanden sind.

„Me.OldRecord“ ist der Datensatz mit den kompletten alten Daten, d.h. allen Datenfeldern.

Sobald ein Datensatz geschrieben wurde, enthält „Me.OldRecord“ die nach dem Schreiben neu gelesenen Daten. Dies gilt auch für alle Parent-Datensätze und die bereits geschriebenen Datensätze der gleichen Ebene.

Zum Zeitpunkt des Auftretens der Ereignisse sind die Parent-Datensätze komplett enthalten, aber noch keine evtl. vorhandenen Child-Datensätze. Sätze der gleichen Ebene nur, wenn sie bereits geschrieben wurden.

Wenn bei einer Update-Operation neue Datensätze entstehen, haben diese keine alten Daten. Da trotzdem ein Parent zur Verfügung stehen muss, wird in diesem Fall ein „leerer“ alter Datensatz zur Verfügung gestellt, der aber einen Parent-Verweis hat.

Die Basisklasse bietet einige vordefinierte Methoden zum Umgang mit den Daten (u.a. die Möglichkeit zwischen neuen und aktualisierten Datensatz zu unterscheiden).

Verfügbarkeit

generell

Beschreibung

Aufruf eines Geschäftsprozesses zur Datenänderung oder Prüfung (Client-seitige Aufrufe werden automatisch zum Server umgeleitet)

Das Ergebnis des Aufrufs wird in den lokalen Variablen "_Canceled" und "_CanceledMessage" zurückgegeben (siehe unten).

Bei _Canceled=True werden evtl. zurückgegebene Parameter nicht übernommen.

XML-Tag101
WebClientja



DatenSerialisieren (ab Version 9.0.7)
Parameter

Parameter 1:

Name der lokalen Variable, in die die serialisierten Daten geschrieben werden sollen

VerfügbarkeitNur in Daten-Edit-Elementen
BeschreibungSerialisieren der aktuellen Daten in einen XML-String.
XML-Tag104
WebClientNein



DatenDeserialisieren (ab Version 9.0.7)
Parameter
  • Parameter 1:
    Name der lokalen Variable, aus der die serialisierten Daten gelesen werden sollen.
  • Parameter 2:
    Art der Datenübergabe (jeweils ohne Anführungszeichen):
    • "Vollstaendig:Ersetzen": Daten vollständig übergeben und die Rückgabe vollständig übernehmen
    • "Vollstaendig:Ignorieren": Daten vollständig übergeben und die Rückgabe ignorieren
VerfügbarkeitNur in Daten-Edit-Elementen
BeschreibungDeserialisieren der Daten aus einem XML-String und ersetzen der aktuellen Daten.
XML-Tag105
WebClientNein


Dialog-Aufrufbefehle


DatensatzSuchen

Parameter

Parameter 1:

voll qualifizierter Name eines Daten-Such-Elementes (<name>.<partnerid>.<packageid>)









Die Angabe eines Ausdrucks (muss mit "=" beginnen) ist zulässig. Dabei sollte anstelle des voll qualifizierten Namens nur der Name verwendet werden, wodurch auf die jeweilige Lösung selbst verwiesen wird. Dies ist erforderlich, wenn nachfolgend das Exportieren/Importieren der Lösung mit der Option "Veränderungen durch Empfänger zulassen" genutzt werden soll, da ansonsten die Abhängigkeit von der Export-Lösung nicht aufgelöst werden kann.

Parameter 2:
Name der lokalen Variablen für die Rückgabe des ausgewählten Schlüssels (bei mehreren Schlüsselsegmenten Semikolon-separiert mehrere lokale Variablen; max 3 (bis Version 9.0) und max. 9 (Ab Version 9.0) Schlüssel-Segmente)

Bei Mehrfachselektion (Parameter 4 = True Ab Version 9.0.3) erfolgt die Rückgabe pro lokaler Variable als Semikolon-separierte Liste. Texte werden in Anführungszeichen eingefasst, innenliegende Anführungszeichen werden verdoppelt.

Parameter 3 (optional):
Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an die Datenquelle des Suchdialoges und zur Anzeige in der erweiterten Titelzeile im Listen-Element (Attribut "ChildTitleExtension"). Im Datenquellen-SQL und in der erweiterten Titelzeile können sie per Platzhalter verwendet werden, z.B.: "$[Parameter(name)]". Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln.

Parameter 4 (optional; Default False):
Mehrfachselektion zulassen (True) oder nicht zulassen (False)

Format: Name:=Makroausdruck[;...]

Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""

Verfügbarkeit

generell

Beschreibung

Öffnet ein Daten-Such-Element

Das Ergebnis des Aufrufs wird in der lokalen Variable "_Canceled" zurückgegeben.

Per Makro-Befehl "FestlegenAdhocFilterSuche" kann ein Filter vorgegeben werden. Beispielsweise der aktuelle Wert eines Feldes, für welches die Suche aufgerufen wird.

XML-Tag53
WebClientja


SelektionsdialogÖffnen (bis Version 9.0)

Parameter

Parameter 1:
Voll qualifizierter Name eines Selektions-Elements (<name>.<partnerid>.<packageid>)

Parameter 2 (optional):
Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an den Selektionsdialog. Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln.

Format: Name:=Makroausdruck[;...]

Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""

Parameter 3 (optional):
Zuvor verwendete Werte löschen (True/False, Standard: False)

Verfügbarkeit

generell

Beschreibung

Öffnet ein Selektions-Element, über das der Benutzer Eingaben tätigen kann.

Wird der Dialog mehrmals aufgerufen, während der Parent geöffnet bleibt, so bleiben die zuletzt verwendeten Werte erhalten.

Die Werte werden in lokalen Variablen zurückgegeben. Der Variablenname wird aus dem Feldnamen im Selektions-Element übernommen und mit einen führenden Unterstrich ergänzt.

Wurde der Dialog mit "OK" bestätigt, wird die lokale Variable "_Canceled" auf False gesetzt, ansonsten wird sie auf True gesetzt.

XML-Tag102
WebClientja


PopupdialogÖffnen(ab Version 9.0)

Parameter

Parameter 1:

Voll qualifizierter Name eines Selektions-Elements (<name>.<partnerid>.<packageid>). Es können nur Selektionselemente mit Verwendungszweck "Popup-Dialog" ("Usage"=2), "Popup-Dialog (nur Datenanzeige)" ("Usage"=4), "Popup-Dialog (zweispaltig, ungebundene Dateneingabe)“ ("Usage"=6) und "Selektions-Element für Mehrfach-Druck" ("Usage"=7) ausgewählt werden.

Die Angabe eines Ausdrucks (muss mit "=" beginnen) ist zulässig. Dabei sollte anstelle des voll qualifizierten Namens nur der Name verwendet werden, wodurch auf die jeweilige Lösung selbst verwiesen wird. Dies ist erforderlich, wenn nachfolgend das Exportieren/Importieren der Lösung mit der Option "Veränderungen durch Empfänger zulassen" genutzt werden soll, da ansonsten die Abhängigkeit von der Export-Lösung nicht aufgelöst werden kann.

Parameter 2 (optional):
Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an den Selektionsdialog. Dort werden sie in gleichnamige Felder übernommen. Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln.

Format:
Name:=Makroausdruck[;...]

Beispiel:
Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""

Verfügbarkeit

generell

Beschreibung

Öffnet ein Selektions-Element als Popup-Dialog ("Verwendungszweck " = 2) und "Popup-Dialog (nur Datenanzeige)" ("Usage"=4) , über das der Benutzer Eingaben tätigen kann.

Wird der Dialog mehrmals aufgerufen, während der Parent geöffnet bleibt, so bleiben die zuletzt verwendeten Werte erhalten.

Die Werte werden in lokalen Variablen zurückgegeben. Der Variablenname wird aus dem Feldnamen im Selektions-Element übernommen und mit einen führenden Unterstrich ergänzt.

Wurde der Dialog mit "OK" bestätigt, wird die lokale Variable "_Canceled" auf False gesetzt, ansonsten wird sie auf True gesetzt. Bei "Usage"=4 wird immer False zurückgegeben.

XML-Tag102
WebClientja


AssistentÖffnen(ab Version 9.0)

Parameter

Parameter 1:

Voll qualifizierter Name eines Selektions-Elements (<name>.<partnerid>.<packageid>). Es können nur Selektionselemente mit Verwendungszweck "Assistent" ("Usage" = 3) ausgewählt werden.









Die Angabe eines Ausdrucks (muss mit "=" beginnen) ist zulässig. Dabei sollte anstelle des voll qualifizierten Namens nur der Name verwendet werden, wodurch auf die jeweilige Lösung selbst verwiesen wird. Dies ist erforderlich, wenn nachfolgend das Exportieren/Importieren der Lösung mit der Option "Veränderungen durch Empfänger zulassen" genutzt werden soll, da ansonsten die Abhängigkeit von der Export-Lösung nicht aufgelöst werden kann.

Parameter 2 (optional):

Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an den Selektionsdialog. Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln.

Format:
Name:=Makroausdruck[;...]

Beispiel:
Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""

Parameter 3 (optional):

Zuvor verwendete Werte löschen (True/False; Standard: False)

Parameter 4 (optional):

Dialog modal öffnen? (True/False; Standard: True)

Hinweis: Nicht modales Öffnen von Assistenten sollte der Ausnahmefall sein und nur eingesetzt werden, wenn nicht modale Folgedialoge geöffnet werden müssen.

Verfügbarkeit

nur in Daten-Edit-Elementen und in Listen-Elementen

Beschreibung

Öffnet ein Selektions-Element als Assistenten-Dialog ("Verwendungszweck " = 3), über den der Benutzer Eingaben tätigen kann.

Wird der Dialog mehrmals aufgerufen, während der Parent geöffnet bleibt, so bleiben die zuletzt verwendeten Werte erhalten.

Die Werte werden in lokalen Variablen zurückgegeben. Der Variablenname wird aus dem Feldnamen im Selektions-Element übernommen und mit einen führenden Unterstrich ergänzt.

Wurde der Dialog mit "OK" bestätigt, wird die lokale Variable "_Canceled" auf False gesetzt, ansonsten wird sie auf True gesetzt.

XML-Tag103
WebClientja


BerichtÖffnen

Parameter

Parameter 1:

Voll qualifizierter Name eines Report-Elements (<name>.<partnerid>.<packageid>)
Die Angabe eines Ausdrucks (muss mit "=" beginnen) ist zulässig. Dabei sollte anstelle des voll qualifizierten Namens nur der Name verwendet werden, wodurch auf die jeweilige Lösung selbst verwiesen wird. Dies ist erforderlich, wenn nachfolgend das Exportieren/Importieren der Lösung mit der Option "Veränderungen durch Empfänger zulassen" genutzt werden soll, da ansonsten die Abhängigkeit von der Export-Lösung nicht aufgelöst werden kann.

Parameter 2 (optional):
Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an den Bericht bzw. dessen Selektions-Element. Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln.

Format: Name:=Makroausdruck[;...]

Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""

Parameter 3 (optional):

Selektion unterdrücken? (True oder False; Standard: False; weiteres Verhalten siehe auch "$NoPrinterDialog" unter Beschreibung).

Dieser Modus kann für Fälle, in denen Parameter 2 bereits alle Selektionswerte für den Report enthält, verwendet werden.

Verfügbarkeit

generell

Beschreibung

Öffnet einen Bericht.

Eine Liste der Selektionswerte kann über Parameter 2 vorgegeben werden. Ohne Anzeige des Selektionsdialoges werden diese direkt an den Bericht weitergegeben. 

Verwendet der Bericht Temporär-Tabellen, muss der Parameter "ConnID:=0" vorhanden sein.

Parameternamen, die mit einem $-Zeichen beginnen, dienen der Steuerung des Druckes, z.B. 

"$Preview:=1" (Ausgabe mit vorheriger Vorschau), "$Preview:=0" (Ausgabe direkt auf den Drucker ohne Vorschau)

"$Caption:=<caption>" (Caption für das Vorschaufenster und Dateinamen des Berichtes; Default ist der Berichtstitel)

"$WaitForCloseByUser:=1" (Nachfolgender Bericht wird erst nach dem Schließen der Vorschau angezeigt; zur Verwendung in Schleifen) oder

Auch bei Parameter 3 True (Selektion unterdrücken) wird trotzdem die Druckerauswahl angezeigt. Mit "$NoPrinterDialog:=1" kann auch die Druckerauswahl weggeblendet werden. Es wird dann der Windows-Standard-Drucker bzw. vorrangig der in Tabelle "USysPrinterDefs" eingetragene Drucker verwendet.

XML-Tag120
WebClientja


AuskunftÖffnen

Parameter

Parameter 1:

Voll qualifizierter Name eines Master-Detail-Elements (<name>.<partnerid>.<packageid>)
Die Angabe eines Ausdrucks (muss mit "=" beginnen) ist zulässig. Dabei sollte anstelle des voll qualifizierten Namens nur der Name verwendet werden, wodurch auf die jeweilige Lösung selbst verwiesen wird. Dies ist erforderlich, wenn nachfolgend das Exportieren/Importieren der Lösung mit der Option "Veränderungen durch Empfänger zulassen" genutzt werden soll, da ansonsten die Abhängigkeit von der Export-Lösung nicht aufgelöst werden kann.

Parameter 2 (optional):
Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an die Auskunft bzw. deren Datenquelle. Dort können sie im SQL per Platzhalter verwendet werden, z.B.: "$[Parameter(name)]". Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln.

Format: Name:=Makroausdruck[;...]

Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""

Parameter 3 (optional): (Ab Version 9.0)

Selektions-Dialog unterdrücken? (True oder False; Standard: False).

Dieser Modus kann für Fälle, in denen Parameter 2 bereits alle Selektionswerte für die Auskunft enthält, verwendet werden.

Verfügbarkeit

generell

Beschreibung

Öffnet einen Auskunft.

XML-Tag121
WebClientja

DatenEditDialogÖffnen
Parameter
  • Parameter 1:
    Voll qualifizierter Name eines Daten-Edit-Elements (<name>.<partnerid>.<packageid>)
    Die Angabe eines Ausdrucks (muss mit "=" beginnen) ist zulässig. Dabei sollte anstelle des voll qualifizierten Namens nur der Name verwendet werden, wodurch auf die jeweilige Lösung selbst verwiesen wird. Dies ist erforderlich, wenn nachfolgend das Exportieren/Importieren der Lösung mit der Option "Veränderungen durch Empfänger zulassen" genutzt werden soll, da ansonsten die Abhängigkeit von der Export-Lösung nicht aufgelöst werden kann.
  • Parameter 2 (optional):
    Semikolon-separierte Liste von maximal neun Feldnamen zur Übergabe von Schlüssel 1 bis Schlüssel 9 des anzuzeigenden Datensatzes, Datenfeldern, lokalen Variablen oder Dialog-Variablen.
  • Parameter 3 (optional):
    Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an den Daten-Edit-Dialog. Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln. Beginnt der Name mit zwei Unterstreichungszeichen ("__") wird der Parameter als Dialog-Variable übernommen und steht in Makros zur Verfügung. (sie können auch als Parameter in der Datenquelle des Navigationselements verwendet werden).
    • Format:
      Name:=Makroausdruck[;...]
    • Beispiel:
      Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""
    • Reservierter Name "Action":
      Wird der reservierte Name "Action" verwendet, wird nach dem Dialog-Start der in der Datenstruktur hinterlegte Datenservice automatisch einmalig aufgerufen und der zugehörige Wert als "MethodName" verwendet. Die Parameterliste wird dem Datenservice übergeben, verpackt in einem generierten Parameter "SubAction" im oben beschriebenen Format.
      Der Datensatz wird in den „Neu“ Modus versetzt (_DialogState ist „Create“).

      Beispiel:
      • Auskunft "Vorgangsauskunft Verkauf"
      • Register "Belege"
      • Menüeintrag: "Beleg übernehmen in"
Verfügbarkeitgenerell
Beschreibung

Öffnet ein Daten-Edit-Element aus einem Daten-Edit-, Multi-Daten-Edit- oder Listen-Element heraus.

Erfolgt das Öffnen aus einem modalen Dialog heraus, wird dieser Dialog ebenfalls modal geöffnet. Die weitere Makro-Ausführung wartet, bis der Dialog geschlossen wurde.

Hinweis: Die Syntax ist identisch mit der des Attributs "ObjectCallParameters" der Regiezentrum-Einträge, d.h. im aufgerufenen Dialog kann die gleiche Logik für die Abarbeitung verwendet werden.

XML-Tag122
WebClientja

DialogSchließen (Ab Version 9.0)
Parameter


VerfügbarkeitNur in Master-Detail-Elementen und in Daten-Edit-Elementen sowie nur im Funktionsaufruf von Kontextmenüs
BeschreibungDer aktuelle Dialog wird geschlossen und die Ausführung des laufenden Makro wird abgebrochen.
XML-Tag123
WebClientnein

DatenEditDialogPopupÖffnen (Ab Version 9.0.4)
Parameter
  • Parameter 1:
    Voll qualifizierter Name eines Daten-Edit-Elements (<name>.<partnerid>.<packageid>)
    Die Angabe eines Ausdrucks (muss mit "=" beginnen) ist zulässig. Dabei sollte anstelle des voll qualifizierten Namens nur der Name verwendet werden, wodurch auf die jeweilige Lösung selbst verwiesen wird. Dies ist erforderlich, wenn nachfolgend das Exportieren/Importieren der Lösung mit der Option "Veränderungen durch Empfänger zulassen" genutzt werden soll, da ansonsten die Abhängigkeit von der Export-Lösung nicht aufgelöst werden kann.
  • Parameter 2 (optional):
    Semikolon-separierte Liste von maximal neun Feldnamen (zur Übergabe von Schlüssel 1 bis Schlüssel 9 des anzuzeigenden Datensatzes), Datenfeldern, lokalen Variablen oder Dialog-Variablen.
  • Parameter 3 (optional):
    Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an den Daten-Edit-Dialog. Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln. Beginnt der Name mit zwei Unterstreichungszeichen ("__") wird der Parameter als Dialog-Variable übernommen und steht in Makros zur Verfügung. (sie können auch als Parameter in der Datenquelle des Navigationselements verwendet werden).
    • Format:
      Name:=Makroausdruck[;...]
    • Beispiel:
      Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""
    • Reservierter Name "Action":
      Wird der reservierte Name "Action" verwendet, wird nach dem Dialog-Start der in der Datenstruktur hinterlegte Datenservice automatisch einmalig aufgerufen und der zugehörige Wert als "MethodName" verwendet. Die Parameterliste wird dem Datenservice übergeben.
  • Parameter 4 (optional):
    Semikolon-separierte Liste der Feldnamen (ohne eckige Klammern
  • Parameter 5 (optional):
    Modus des Daten-Edit-Elementes:
    • 0 (Default) = Dialog dient primär zur Eingabe von Daten, Schaltflächen "Verwerfen" und "Speichern" werden angezeigt
    • 1 = Dialog dient primär zur Anzeige von Daten (Editieren ist aber möglich), nur eine Schaltfläche "Schließen" wird angezeigt (dieser Fall wird nur in speziellen Fällen genutzt)
  • und ohne Anführungszeichen), deren Werte zurückgegeben werden sollen. Die Rückgabewerte werden in lokalen Variablen (beginnend mit einem Unterstreichungszeichen und Feldnamen benannt).
    Beispiel: "Adresse;Name1". Die Werte der Daten-Edit-Element-Felder "Adresse" und "Name1" werden in lokalen den lokalen Variablen "[_Adresse]" und "[_Name1]" zurückgegeben.

Verfügbarkeitnur in Daten-Edit-, Multi-Daten-Edit- und Listen-Element
Beschreibung

Öffnet ein Daten-Edit-Element als modalen Popup-Dialog und wartet bis der Dialoge geschlossen wird.

Wird der Dialog mit einem Speichervorgang geschlossen, wird die lokale Variable "_Canceled" auf False gesetzt, ansonsten wird sie auf True gesetzt.

Hinweise:

  • Die Syntax ist identisch mit der des Attributs "ObjectCallParameters"  der Regiezentrums-Einträge, d.h. im aufgerufenen Dialog kann die gleiche Logik für die Abarbeitung verwendet werden.
  • Bei einem Aufruf aus einem Listen-Element erfolgt beim Schließen des Daten-Edit-Elements kein automatischer Refresh der Liste. Dies muss abhängig vom Wert der Rückgabevariablen "_Canceled" per Makro erfolgen, wenn notwendig.

Hinweis zu Parameter 5:

  • Bei Modus 1 und 2 wird das Date-Edit-Element als Popup-Dialog Anwendungs-modal geöffnet. Dort kann man über das Kontextmenü (Hamburger, Schaltflächen, Datenklassen-Kontextmenüs, Funktions-Schaltflächen an Feldern) weitere Dialoge öffnen. Diese sind dann aber nicht uneingeschränkt nutzbar. Daher sollten bei den beiden Modi die Kontextmenüs keine Aufrufe anderer Dialoge enthalten.
XML-Tag125
WebClientnein

Dateidialog / Dateioperationen


DateidialogÖffnen
Parameter

Parameter 1:









Modus (wird ohne Anführungszeichen geschrieben): "DateiÖffnen“, "DateiSpeichern“ oder "VerzeichnisAuswahl“

Parameter 2 (optional):









Initiales Verzeichnis

Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Parameter 3 (optional):









Initialer Dateiname

Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Parameter 4 (optional):
Filter, z.B. "Textdatei (txt)|*.txt|CSV-Datei (csv)|*.csv"

Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Parameter 5 (optional):
Standard-Dateiendung, z.B. ".txt"

Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Verfügbarkeitgenerell
Beschreibung 

Dateidialog öffnen (Datei öffnen, Datei speichern oder Verzeichnis-Auswahl)

Das Ergebnis wird (Modus-abhängig) in folgenden lokalen Variablen übergeben:

  • "_FileDialogResult": True bzw. False
  • "_SelectedFile": Name der ausgewählten Datei (ohne Verzeichnispfad)
  • "_SelectedFileFullName": Name der ausgewählten Datei (mit Verzeichnispfad)
  • "_SelectedPath": ausgewählter Verzeichnispfad
XML-Tag601

DateiSendenAnBlobStorage
Parameter
  • Parameter 1:
    Ausdruck, der den lokalen Dateipfad ergibt, z.B. "c:\abc\cde\f.txt"
  • Parameter 2:
    Ausdruck, der den Dateipfad für BlobStorage ergibt, z.B. "abc/cde/f.txt"
  • Parameter 3 (optional, Standardwert False):
    Existierende Datei löschen? (True oder False)
  • Parameter 4 (optional, Standardwert False):
    Speicherort der Datei auf dem BlobStorage-Server:
    • True: Ablage der Datei im Verzeichnis "Data/<datenbank>" des BlobStorage-Servers
      (in diesem Fall darf Parameter 2 kein Unterverzeichnis, sondern nur einen Dateinamen enthalten)
    • False: Ablage der Datei im Verzeichnis des Mandanten ("Data/<datenbank>/<Mandant>")
  • Parameter 5 (optional, Standardwert False):
    Zugriffs-Definition:
    • True: Öffentlicher Zugriff für alle authentifizierten Benutzer erlaubt
    • False: Zugriff nur für Eigentümer erlaubt
  • Parameter 6 (optional, Standardwert False):
    Datei automatisch nach 24 Stunden löschen?
    • True: Ja
    • False: Nein
Verfügbarkeitgenerell
Beschreibung 

Datei auf BlobStorage-Server übertragen

Das Ergebnis des Aufrufs wird in den lokalen Variablen "_Canceled" und "_CanceledMessage" zurückgegeben.

XML-Tag602
WebClientja

DateiLadenVonBlobStorage
Parameter
  • Parameter 1:
    Ausdruck, der den Dateipfad für den BlobStorage-Server ergibt, z.B. "abc/cde/f.txt"
  • Parameter 2:
    Ausdruck, der den lokalen Dateipfad ergibt, z.B. "c:\abc\cde\f.txt"
  • Parameter 3 (optional, Standardwert False):
    Existierende Datei löschen? (True oder False)
  • Parameter 4 (optional, Standardwert False):
    Speicherort der Datei auf dem BlobStorage-Server (Ausdruck):
    • True: Lesen der Datei im Verzeichnis "Data/<datenbank>" des BlobStorage-Servers
      (in diesem Fall darf Parameter 1 kein Unterverzeichnis, sondern nur einen Dateinamen enthalten)
    • False: Lesen der Datei im Verzeichnis des Mandanten ("Data/<datenbank>/<Mandant>")
Verfügbarkeitgenerell
Beschreibung 

Datei von BlobStorage-Server übertragen

Das Ergebnis des Aufrufs wird in den lokalen Variablen "_Canceled" und "_CanceledMessage" zurückgegeben.

XML-Tag603
WebClientja

DateiAnzeigen
ParameterParameter 1:









Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (Strings müssen hier in Anführungszeichen angegeben werden), der den vollständigen Dateipfad ergibt (lokal oder UNC)
Verfügbarkeitgenerell
Beschreibung

Lokale Datei von über Windows-Shell öffnen lassen.

Tritt ein Fehler auf, wird die lokale Variable "_Canceled" auf True gesetzt und "_CanceledMessage" enthält die Fehlermeldung.

Aus Sicherheitsgründen werden Dateien mit einer der folgenden Endungen abgelehnt: ".accdb", ".accde", ".ade", ".adp", ".bat", ".cmd", ".com", ".exe", ".js", ".jse", ".lnk", ".mda", ".mdb", ".mde", ".msi", ".msp", ".pif", ".ps1", ".ps2", ".reg", ".scf", ".scr", ".vb", ".vbe", ".vbs", ".ws, " und ".wsf"

XML-Tag604
WebClientnein

Ablaufsteuerungsbefehle


Wenn

Parameter

Bedingung (Ausdruck)

Verfügbarkeit

generell

Beschreibung

Ausführen der nachfolgenden Makro-Befehle bis „SonstWenn“ bzw. „Sonst“ bzw. „EndeWenn“, nur wenn der Ausdruck Bedingung einen True-Wert zurückgibt.

XML-Tag201
WebClientja


SonstWenn

Parameter

Bedingung (Ausdruck)

Verfügbarkeit

generell

Beschreibung

Ausführen der nachfolgenden Makro-Befehle bis „SonstWenn“ bzw. „Sonst“ bzw. „EndeWenn“, wenn der Ausdruck Bedingung einen True-Wert zurückgibt (nur nach „Wenn“ und vor „Sonst“ bzw. „EndeWenn“ erlaubt und Ausführung nur, wenn keine vorangehende „Wenn“- oder „SonstWenn“-Aktion ausgeführt wird)

XML-Tag202
WebClientja


Sonst

Parameter

-

Verfügbarkeit

generell

Beschreibung

Ausführen der nachfolgenden Makro-Befehle bis „EndeWenn“ (nur nach „Wenn“ bzw. „SonstWenn“ erlaubt und Ausführung nur, wenn keine vorangehende „Wenn“- oder „SonstWenn“-Aktion ausgeführt wird)

XML-Tag203
WebClientja


EndeWenn

Parameter

-

Verfügbarkeit

generell

Beschreibung

Ende einer Wenn-Bedingung

XML-Tag204
WebClientja


Fehler

Parameter

Parameter 1:
Voll qualifizierter Name einer übersetzbaren Meldung (Partner-ID, Lösungs-ID und Name)

Parameter 2:
Semikolon-separierte Liste von Makro-Ausdrücken zur Ersetzung von Platzhaltern ("{0}" bis "{n}") im Meldungstext der Meldung. Diese Ersetzung erfolgt jeweils direkt bevor die Meldung verwendet wird.

Die Werte werden Server-seitig kulturunabhängig und Client-seitig kulturspezifisch formatiert.

Der Makro-Ausdruck hat insbesondere folgende Verwendungszwecke:

  • Text (in Anführungszeichen eingeschlossen und darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert)
  • Feldname (in eckigen Klammern)
  • Name einer lokalen Variable

Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden.









Beispiel: "Die Rabattbasis in Höhe von {1938.09} EUR ist überschritten."

Verfügbarkeit

generell

Beschreibung

Fehlermeldung anzeigen und Makroausführung beenden.

  • Der Rückgabewert "Cancel" des Makros wird explizit auf True gesetzt.
  • Die Rückgabe des Fehlers erfolgt in der aktiven Fehlerbehandlung des Clients.
    • Beim Daten-Edit-Element erfolgt dies z.B. in der Meldungs-Liste.
    • Im einfachsten Fall erfolgt dies als modale Meldungs-Box.
  • In Feld-bezogenen Makros wird automatisch ein Feld-Bezug generiert (für die "Gehe zu"-Funktion). In allen anderen Makros ist kein Feld-Bezug möglich.

Unterschiede zum Makro-Befehl „FehlerMelden“:

  • Das Makro wird automatisch abgebrochen. Es ist also nur ein Fehler gleichzeitig möglich.
  • In Feld-bezogenen Makros wird der Feld-Bezug automatisch generiert. Es sind also keine mehrfachen Feld-Bezüge möglich.
XML-Tag205
WebClientja


StoppMakro

Parameter

-

Verfügbarkeit

generell

Beschreibung

Makroausführung beenden, der Rückgabewert "Cancel" des Makros wird explizit auf False gesetzt.

Hinweis: Bei Makros, die durch "AppendTo" erweitert werden können, werden bei Verwendung dieses Makros auch die Erweiterungen nicht mehr ausgeführt.

Weitere Informationen im Kapitel "Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden" auf dieser Seite.

XML-Tag206
WebClientja


Abbruch

Parameter

-

Verfügbarkeit

generell

Beschreibung

Makroausführung abbrechen, der Rückgabewert "Cancel" des Makros wird explizit auf True gesetzt.

Weitere Informationen im Kapitel "Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden" auf dieser Seite.

XML-Tag207
WebClientja


FürJedenWert

Parameter

  • Parameter 1:
    Name der lokalen Variablen für den Zugriff auf die Einzelwerte in der Schleife (hier ohne eckige Klammern; bei Referenzierung mit eckigen Klammen)
  • Parameter 2:
    Feldreferenz, die folgendes adressiert:
    • Multi-Daten-Edit Element:
      Es wird über alle, oder mit Angabe von "$IndexSelected" nur über die selektierten Zeilen, iteriert.
    • Listen-Element:
      Es wird über die selektierten Zeilen iteriert.
    • Datenfeld oder lokale Variable:
      Es wird über die enthaltene Semikolon-separierte Liste von Werten iteriert. Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln.

Beispiele für Parameter 2:

  • alle Zeilen eines Multi-Data-Edit-Elementes aus dem Daten-Edit-Element heraus:
    [Kontokorrent.Matchcode]
  • selektierte Zeilen eines Multi-Data-Edit-Elementes aus dem Daten-Edit-Element heraus:
    [Kontokorrent($IndexSelected).Matchcode]
  • alle Zeilen eines Multi-Data-Edit-Elementes aus dem Multi-Daten-Edit-Element heraus:
    [$Me.Matchcode]
  • selektierte Zeilen eines Multi-Data-Edit-Elementes aus dem Multi-Daten-Edit-Element heraus:
    [$Me($IndexSelected).Matchcode]
  • selektierte Zeilen eines Listen-Elementes aus dem Listen-Element heraus:
    [$Me($IndexSelected).Name1]
  • lokale Variable, die mit einer Semikolon-separierten Werteliste gefüllt ist:
    [_MeineWerte]

Verfügbarkeit

generell

Beschreibung

Schleife über alle Werte einer bestimmten Spalte in einem Listen-Element oder einem Multi-Data-Edit-Element (die Einzelfelder können innerhalb der Schleife über den als Parameter 1 definierten Feldnamen verwendet werden)

Hinweis: Bei einer Schleife über alle Zeilen eines Multi-Data-Edit-Elementes kann innerhalb der Schleife eine lokale Variable hochgezählt werden und diese kann dann als Index verwendet werden, um darüber alle Felder der jeweiligen Zeile zu adressieren.

  • Beispiel: [Kontokorrent([_index]).Kto
XML-Tag211
WebClientja


EndeFürJedenWert

Parameter

-

Verfügbarkeit

generell

Beschreibung

Ende einer FürJedenWert-Schleife

XML-Tag212
WebClientja


AbbrechenFürJedenWert (Ab Version 9.0.1)

Parameter

-

Verfügbarkeit

generell

Beschreibung

Abbrechen einer FürJedenWert-Schleife

XML-Tag213
WebClientja


Meldungs-/Fehleranzeigebefehle


Meldungsfeld

Parameter

Parameter 1:
Voll qualifizierter Name einer übersetzbaren Meldung (Partner-ID, Lösungs-ID und Name)

Parameter 2:
Semikolon-separierte Liste von Makro-Ausdrücken zur Ersetzung von Platzhaltern ("{0}" bis "{n}") im Meldungstext der Meldung. Diese Ersetzung erfolgt jeweils direkt bevor die Meldung verwendet wird.

Die Werte werden kulturspezifisch formatiert.

Der Makro-Ausdruck hat insbesondere folgende Verwendungszwecke:

  • Text (in Anführungszeichen eingeschlossen und darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert)
  • Feldname (in eckigen Klammern)
  • Name einer lokalen Variable

Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden.









Beispiel: "Die Rabattbasis in Höhe von {1938.09} EUR ist überschritten."

Verfügbarkeit

generell, nur auf dem Client

Beschreibung

Meldung anzeigen, der Rückgabewert wird in die lokale Variable "_DialogResult" geschrieben, die folgende Werte haben kann:

  • 1 = Schaltfläche 1 geklickt
  • 2 = Schaltfläche 2 geklickt
  • -1 = Schaltfläche "Abbrechen" wurde geklickt

Bei Anklicken von "Abbrechen" wird der Rückgabewert "Cancel" nicht gesetzt. Das Makro muss explizit "_DialogResult" auswerten.

Weitere Informationen im Kapitel "Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden" auf dieser Seite.

XML-Tag301
WebClientja


ProtokollierenEreignis

Parameter

Parameter 1:
Voll qualifizierter Name einer übersetzbaren Meldung (Partner-ID, Lösungs-ID und Name; siehe auch Meldungen (Messages)

Parameter 2:
Semikolon-separierte Liste von Makro-Ausdrücken zur Ersetzung von Platzhaltern ("{0}" bis "{n}") im Meldungstext der Meldung. Diese Ersetzung erfolgt jeweils direkt bevor die Meldung verwendet wird.

Die Werte werden Server-seitig kulturunabhängig und Client-seitig kulturspezifisch formatiert.

Der Makro-Ausdruck hat insbesondere folgende Verwendungszwecke:

  • Text (in Anführungszeichen eingeschlossen und darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert)
  • Feldname (in eckigen Klammern)
  • Name einer lokalen Variable

Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden.









Beispiel: "Die Rabattbasis in Höhe von {1938.09} EUR ist überschritten."

Verfügbarkeit

generell

Beschreibung

Meldung in Tracelog protokollieren

XML-Tag302
WebClientnein


FehlerMelden

Parameter

Parameter 1:
Schlüssel eines in den Metadaten hinterlegten Strings. Der Schlüssel wird analog zum $[GetString(...)]-Platzhalter in folgender Form hinterlegt: [partnerId.packageId.][name.]index (die eckigen Klammern definieren hier die optionalen Bestandteile und werden nicht geschrieben, es wird keine Maskierung verwendet)

Parameter 2:
Semikolon-separierte Liste von Makro-Ausdrücken zur Ersetzung von Platzhaltern ("{0}" bis "{n}") im ersten Parameter. Diese Ersetzung erfolgt jeweils direkt bevor der String verwendet wird.

Die Werte werden Server-seitig kulturunabhängig und Client-seitig kulturspezifisch formatiert.

Der Makro-Ausdruck hat insbesondere folgenden Verwendungszwecke:

  • Text (in Anführungszeichen eingeschlossen und darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert)
  • Feldname (in eckigen Klammern)
  • Name einer lokalen Variable

Parameter 3 (optional), wahlweise:
Definiert Semikolon-separiert einen oder mehrere Feldbezüge. Meldungen mit Feldbezug werden automatisch wieder entfernt, wenn sich eines der bezüglichen Felder ändert. Im UI erscheinen in der Fehleranzeige neben der Fehlermeldung klickbare "Gehezu"-Feldtitel. Bei Bezügen auf Tabellen kann der Feldname weggelassen werden, dann wird nur die Zeile fokussiert. Für Sonderfälle kann zum Ausblenden der Meldung in der Fehleranzeige „|ShowNoError“ angehängt werden. Werden Feldbezüge per Geschäftslogik gebildet, steht die Hilfsklasse "DataFieldPathManager" zur Verfügung.

Syntax (Hinweis zur Notation: Die eckigen Klammern kennzeichnen optionale Bestandteile und werden nicht geschrieben):
Feldname1[|ShowNoError][;Feldname2[|ShowNoError]...]

Beispiele:

    • Metadaten: Feldbezug in einer Artikelposition für Menge und Preis:
      Menge;Einzelpreis
    • Im Daten-Edit-Element einen Feldbezug auf die Tabelle "Positionen" setzen (wird wieder entfernt wenn sich eine beliebige Zelle der Tabelle ändert):
      Positionen

Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden.









Beispiel: "Die Rabattbasis in Höhe von {1938.09} EUR ist überschritten."

Verfügbarkeit

generell

Beschreibung

Die Rückgabe des Fehlers erfolgt in der aktiven Fehlerbehandlung, beim Data-Edit-Element z.B. in der Meldungs-Liste.

Unterschiede zum Makro-Befehl „Fehler“:

  • Es erfolgt kein automatischer Abbruch. Bei Bedarf muss anschließend mit dem Makro-Befehl „Abbruch“ abgebrochen werden.
  • In Feld-bezogenen Makros wird der Feld-Bezug nicht automatisch generiert. Dieser kann bei Bedarf im dritten Parameter angegeben werden.

Hinweis zu Meldungen mit mehreren beteiligten Feldern: Die Validierung sollte in diesem Fall in jedem beteiligten Feld hinterlegt werden.

  • Damit kann sie Client-seitig direkt nach der Feldänderung erscheinen.
  • Server-seitig werden beim Validieren Meldungen mit genau gleichem Inhalt nur einmal weiter geleitet
XML-Tag303
WebClientja


HinweisMelden

Parameter

Parameter 1:
Schlüssel eines in den Metadaten hinterlegten Strings. Der Schlüssel wird analog zum $[GetString(...)]-Platzhalter in folgender Form hinterlegt: [partnerId.packageId.][name.]index (die eckigen Klammern definieren hier die optionalen Bestandteile und werden nicht geschrieben, es wird keine Maskierung verwendet)

Parameter 2:
Semikolon-separierte Liste von Makro-Ausdrücken zur Ersetzung von Platzhaltern ("{0}" bis "{n}") im ersten Parameter. Diese Ersetzung erfolgt jeweils direkt bevor der String verwendet wird.

Die Werte werden Server-seitig kulturunabhängig und Client-seitig kulturspezifisch formatiert.

Der Makro-Ausdruck hat insbesondere folgenden Verwendungszwecke:

  • Text (in Anführungszeichen eingeschlossen und darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert)
  • Feldname (in eckigen Klammern)
  • Name einer lokalen Variable

Parameter 3 (optional), wahlweise:
Definiert Semikolon-separiert einen oder mehrere Feldbezüge. Meldungen mit Feldbezug werden automatisch wieder entfernt wenn sich eines der bezüglichen Felder ändert. Im UI erscheinen in der Fehleranzeige neben der Hinweismeldung klickbare "Gehezu"-Feldtitel. Bei Bezügen auf Tabellen kann der Feldname weggelassen werden, dann wird nur die Zeile fokussiert. Für Sonderfälle kann zum Ausblenden der Meldung in der Fehleranzeige „|ShowNoError“ angehängt werden. Werden Feldbezüge per Geschäftslogik gebildet, steht die Hilfsklasse "DataFieldPathManager" zur Verfügung.

  • Syntax (Hinweis zur Notation: Die eckigen Klammern kennzeichnen optionale Bestandteile und werden nicht geschrieben):
    Feldname1[|ShowNoError][;Feldname2[|ShowNoError]...]

    Beispiele:
    • Metadaten: Feldbezug in einer Artikelposition für Menge und Preis:
      Menge;Einzelpreis
    • Im Daten-Edit-Element einen Feldbezug auf die Tabelle "Positionen" setzen (wird wieder entfernt wenn sich eine beliebige Zelle der Tabelle ändert):
      Positionen

Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden.









Beispiel: "Die Rabattbasis in Höhe von {1938.09} EUR ist überschritten."

Verfügbarkeit

generell, nur auf dem Client

Beschreibung

Fügt einen Hinweis in die Meldungs-Liste der Anwendung ein.

Weitere Informationen im Kapitel "Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden" auf dieser Seite.

XML-Tag304
WebClientja

Spezielle Befehle


FestlegenAdhocFilterSuche

Parameter

Parameter 1:
Feldname im Such-Element bzw. Listen-Element

Parameter 2:
zu suchender Text, Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden) bzw. Semikolon-separierte Liste von Ausdrücken für multiselektfähige Suchfelder

Parameter 3 (optional):
Ausdruck für optionales Deaktivierungs-Flag für das Suchfeld (Default true):

  • False für Aktivieren
  • True für Deaktivieren

Parameter 4 (optional):
Such-Operator (Default "=" bei Einzelwert in Parameter 2 bzw. "mehrfachauswahl", wenn Semikolon-separierte Liste in Parameter 2), Groß-/Kleinschreibung und Leerzeichen werden ignoriert, die Anführungszeichen werden nicht geschrieben.

  • "="
  • "<>"
  • ">"
  • ">="
  • "<"
  • "<="
  • "beginnt mit"
  • "mehrfachauswahl"
  • "enthaelt" oder "enthält"
  • "ist leer"
  • "ist nichtleer"
  • "enthaelt nicht" oder "enthält nicht"
  • "endet mit"
  • "wie"
  • "nicht wie"

Verfügbarkeit

nur im „Vor Suche“-Ereignis der Felder der (Multi-)Daten-Edit-Elemente und vor Aufruf des Makros "DatenEditDialogÖffnen" sowie vor Aufruf des Makros "AuskunftÖffnen"

Beschreibung

Anwendungsfälle:

  • Vorbelegen des Adhoc-Filters eines Feldes in der Suche (nach der Suche werden die Filter automatisch geleert)
  • Vorbelegung eines Adhoc-Filters eines Navigationselements eines anschließend mit dem Makro "DatenEditDialogÖffnen" zu öffnenden Daten-Edit-Elements
  • Vorbelegung eines Adhoc-Filters eines eines anschließend mit dem Makro "AuskunftÖffnen" zu öffnenden Listen-Elements (wenn ein Master-Element vorhanden ist, wird der Filter nur an das Master-Element übergeben, ansonsten an alle Detail-Elemente)
XML-Tag51
WebClientja, Außer vor Aufruf des Makros "AuskunftÖffnen"


AufrufenKontextMenu

Parameter

Name des aufzurufenden Kontextmenüeintrags (des aktuellen Kontextmenüs)

Im Selektions-Element eines Navigationselementes, das in einem Daten-Edit-Element eingebunden ist, kann über den Präfix "$Data." das Kontextmenü des aktuellen Daten-Edit-Elementes referenziert werden (analog zu Feldreferenzen)

Beispiel: In der Buchungserfassung wird auf diese Weise nach einem Sitzungswechsel eine neue Buchung bereitgestellt.

Parameter 2 (optional):
Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an die Execute-Methode eines Datenservice (Property NamedParameters). Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln.

Format: Name:=Makroausdruck[;...]

Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""

Verfügbarkeit

generell

Beschreibung

Dient zur Nutzung eines Kontextmenüeintrags aus einem Makro heraus. Dieser verhält sich so, wie wenn er vom Anwender aufgerufen worden wäre.

Handelt es sich bei der aufgerufenen Funktion um Typ „Aufruf des in der verwendeten Datenstruktur definierten Daten-Service“ oder „Aufruf einer VBA-Methode als Applikations-Service“, wird das Ergebnis des Aufrufs in der lokalen Variable "_Canceled" zurückgegeben und die zurückgegebene Meldung wird angezeigt.

XML-Tag52
WebClientja


DatensatzSpeichern

Parameter

Parameter 1 (optional):
Speichern/Verwerfen-Dialog anzeigen

  • True = Dialog anzeigen (explizites Speichern)
  • False (Default) = Dialog nicht anzeigen und sofort speichern (implizites Speichern

Parameter 2 (optional):
Festlegung der anzuzeigenden Schaltflächen

  • 0 (Default) = Speichern/Verwerfen/Abbrechen
  • 1 = Speichern/Verwerfen
  • 2 = Speichern/Abbrechen

Verfügbarkeit

nur in Daten-Edit-Elementen

Beschreibung

Löst die "Speichern/Verwerfen/Abbrechen"-Abfrage für den aktuellen Datensatz bzw. die aktuelle Datenstruktur (bei Multi-Daten-Edit-Elementen ist dies der jeweilige Parent-Datensatz bzw. die jeweilige Parent-Datenstruktur) und die nachfolgende Speichern-/Verwerfen-Aktion aus.

Das Ergebnis des Aufrufs wird in der lokalen Variable "_Canceled" zurückgegeben:

  • False, wenn gespeichert wurde oder das Speichern nicht erforderlich bzw. vom Benutzer nicht gewünscht war (Makro erfolgreich durchgeführt). Wurde ein Satz nicht gespeichert, so bleibt er aber geladen und dirty. Ggf. muss das Dirty-Flag in diesem Fall manuell zurückgesetzt werden
  • True, wenn die Validierung nicht erfolgreich war, oder der Benutzer die Aktion abgebrochen hat.
XML-Tag54
WebClientja


DatensatzLaden

Parameter

Version 8.1

Parameter 1:
Name der lokalen Variablen für die Übergabe des Schlüssels

Parameter 2:
optional: Name der lokalen Variablen für die Übergabe des zweiten Schlüssels

Parameter 3:
optional: Name der lokalen Variablen für die Übergabe des dritten Schlüssels

Parameter 4:









optional (Default False): Soll nach dem Datensatz laden der Fokus im Mulit-Daten-Edit-Element erhalten bleiben? (True/False)


Version 9.0

Parameter 1:
Semikolon-separierte Liste von Namen der lokalen Variablen für die Übergabe der Schlüssel 1-9

Parameter 2:

optional (Default False): Soll nach dem Datensatz laden der Fokus im Mulit-Daten-Edit-Element erhalten bleiben? (True/False)

Verfügbarkeit

nur in Daten-Edit-Elementen und in Multi-Daten-Edit-Elementen

Beschreibung

Aufruf der Laden-Methode des aktuellen Daten-Services

Das Ergebnis des Aufrufs wird in der lokalen Variable "_Canceled" zurückgegeben.

Szenario für Parameter 4 (Nach dem Datensatz laden Fokus in Mulit-Daten-Edit-Element (MDEE) erhalten):

  • True: Nach dem Laden des Datensatzes, bleibt der Fokus in den MDEE erhalten. Dies ist z.B. relevant, wenn Daten über einen Geschäftsprozess geändert wurden und der aktuelle Datensatz des Daten-Edit-Element einfach nur aktualisiert werden soll.
  • False: Nach dem Laden des Datensatzes wird der Fokus in allen MDEE auf die jeweils erste Zeile gesetzt (Standard).
XML-Tag55
WebClientja

FestlegenFilter
Parameter

Parameter 1:
Feldname des Unter-Listen-Elements im Selektions-Element

Parameter 2:
Zu filternde Spalte des Listen-Elements

Parameter 3 (optional):
zu suchender Text, Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden) bzw. Semikolon-separierte Liste von Ausdrücken für multiselektfähige Suchfelder.

  • Wird hier kein Wert übergeben, wird der Filter auf den in den Metadaten hinterlegten Filter zurückgesetzt. Ist dort kein Filter definiert, wird der Filter geleert.

Parameter 4 (optional):
Such-Operator (Default "=" bei Einzelwert in Parameter 3 bzw. "mehrfachauswahl", wenn Semikolon-separierte Liste in Parameter 3), Groß-/Kleinschreibung und Leerzeichen werden ignoriert, die Anführungszeichen werden nicht geschrieben.

  • "="
  • "<>"
  • ">"
  • ">="
  • "<"
  • "<="
  • "beginnt mit"
  • "mehrfachauswahl"
  • "enthaelt"
  • "ist leer"
  • "ist nichtleer"
  • "enthaelt nicht"
  • "endet mit"
  • "wie"
  • "nicht wie"
Verfügbarkeitnur in Selektionselementen für dort enthaltene Unter-Listen-Elemente
BeschreibungFilterung einer Spalte eines Listen-Elementes, das als Unterelement in einem Selektionselement genutzt wird.
XML-Tag56
WebClientnein


ListeAktualisieren

Parameter

-

Verfügbarkeit

nur in Daten-Edit-Elementen, in Listen-Elementen und Diagramm-Elementen

Beschreibung

Aktualisiert die Daten der Navigations-Liste in einem Daten-Edit-Element, in einem Listen-Element (gemäß aktueller Filterungen und Sortierungen) und in einem Diagramm-Element (Aktualisierung wird auch ausgeführt, wenn nur Diagramm angezeigt wird).

Die Liste wird ab dem ersten Datensatz angezeigt.

Das Makro ist zum Einsatz nach automatischen Operationen gedacht, die mehrere Datensätze verändert, hinzugefügt bzw. gelöscht haben.

Hinweis: Bei den CRUD-Methoden Einfügen und Ändern wird die Liste automatisch clientseitig aktualisiert. Ein kompletter Refresh ist nicht nötig und kritisch in der Performance.

XML-Tag60
WebClientja


DatenReferenzAktualisieren

Parameter

Feldname des Feldes, dessen Datenreferenz neu eingelesen werden soll

Verfügbarkeit

generell

Beschreibung

Aktualisiert die Datenreferenz des angegebenen Feldes (Requry per AppServer-Request).

Anwendungsfall: In einem vorhergehenden Geschäftsprozess wurden Daten geändert, die von einer statischen Datenreferenz im aktuell geladenen Datensatz verwendet werden.

XML-Tag61
WebClientja


BaumAktualisieren

Parameter

Parameter 1 (optional):
Festlegung des zu aktualisierenden Bereiches

  • 0 = Alle Knoten (Defaultwert)
  • 1 = Aktueller Knoten
  • 2 = Aktueller Knoten und Unterknoten

Parameter 2 (optional):

Semikolon-separierte Liste der zu übergebenden Felder, lokalen Variablen oder konstanten Werte (keine Ausdrücke; Feldwerte können geändert werden; Unter-Elemente und deren Felder können nicht übergeben werden).

Als Parameternamen für den Geschäftsprozess werden die Namen der Felder bzw. lokalen Variablen übernommen. Bei konstanten Werten wird der Name wie folgt gebildet: "_Parameter" + lfd. Nr. konstanter Wert (auf Basis 1, nicht die lfd. Parameternummer

Verfügbarkeit

nur in Data-Edit-Elementen

Beschreibung

Aktualisiert die Daten des Navigations-Baums in einem Daten-Edit-Element (komplett oder partiell). Generell werden dabei der selektierte Datensatz sowie der Aufklapp-Status beim Aktualisieren des Baums beibehalten, auch wenn der komplette Baum neu geladen wird.

Das Makro ist zum Einsatz nach automatischen Operationen gedacht, die mehrere Datensätze verändert, hinzugefügt bzw. gelöscht haben.

Hinweis: Bei den CRUD-Methoden Einfügen und Ändern wird der Baum automatisch clientseitig aktualisiert. Ein kompletter Refresh ist nicht nötig.

XML-Tag62
WebClientnein


AktualisierungsnachrichtSenden (ab Version 9.0)

Parameter

Parameter 1:

Semikolon-separierte Liste von Ausdrücken, welche die Notification-Tokens (siehe Attribut "RefreshNotifications" bei Elementen und Links) ergeben, die bei den Elementen mit entsprechender Definition jeweils einen Refresh auslösen.

Konstante Notification-Tokens müssen in Anführungszeichen angegeben werden.

Verfügbarkeit

nur in Listen-, Baum- und Diagramm-Elementen

Beschreibung

Aktualisiert die Anzeigen von Auskünften und ControlCenter-Elementen
XML-Tag63
WebClientnein


EintragenEingabeHistorie

Parameter

Parameter 1:
Feldname des Feldes, welches die Eingabehistorie besitzt.

Parameter 2:
Semikolon-separierte Liste von Feldnamen.
Bedeutung:

  • Schlüssel 1
  • Matchcode1
  • Schlüssel 2 (optional)
  • Matchcode2 (optional, nur wenn Schlüssel 2 angegeben ist)
  • Schlüssel 3 (optional)
  • Matchcode3 (optional, nur wenn Schlüssel 3 angegeben ist)
  • (es können insgesamt bis zu 9 Schlüssel/Matchcode-Paare angegeben werden) (ab Version 9.0)

Beispiel Makro aus Belegerfassung, Feld Artikelnummer:

EintragenEingabeHistorie

  • Artikelnummer
  • [Artikelnummer];[Bezeichnung1];[AuspraegungsHandle];[Dimensionstext]

Verfügbarkeit

nur in Multi-Daten-Edit-Elementen, Daten-Edit-Elementen und in Selektions-Elementen

Beschreibung

Fügt der Eingabehistorie eines Feldes einen Eintrag hinzu. 

Nur für Datenklassen-Felder in Datenstrukturen verfügbar. Der neue Eintrag wird der oberste in der Liste. Existiert ein Eintrag mit demselben Schlüssel, wird der bisherige gelöscht.

Hinweise zur Verwendung:

  • Standardmäßig wird die Eingabehistorie für Datenklassen-Felder automatisch geführt. Nur in den Fällen, bei denen zur Performance­-Optimierung die automatische Validierung ausgeschaltet wird (Eigenschaft „Automatische Datenklassen-Validierung“), muss dies manuell durch die Anwendung erfolgen.
  • Dies ist z.B. bei den Feldern "Artikelnummer" in der Belegerfassung und "Konto Soll" / "Konto Haben" in der Buchungserfassung der Fall.
XML-Tag70
WebClientnein


NavigationUmschalten

Parameter

Parameter 1:

Voll qualifizierter Name eines Listen-Elementes (<name>.<partnerid>.<packageid>)

Das Listen-Element muss in der Metadaten-Eigenschaft "Navigations-Elemente" des Daten-Edit-Elementes, in dem das Makro aufgerufen wird, angegeben sein.

Parameter 2 (optional):
Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an ein im Navigations-Element eingebundenes Selektions-Element. Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln. 

Format: Name:=Makroausdruck[;...]

Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan"""

Verfügbarkeit

nur in Daten-Edit-Elementen

Beschreibung

Schaltet das Navigations-Element auf das angegebene Listen-Element um.
XML-Tag71
WebClientnein

VerwaltenSemaphore(Ab Version 9.0.4)
Parameter
  • Parameter 1:
    Name der Semaphore
  • Parameter 2 (optional):
    Atom (Schlüssel der Semaphore)
  • Parameter 3:
    Sperrmodus (0=Read; 1=Write; 2=Exclusive)
  • Parameter 4 (optional):
    True (Semaphore setzen; Default) oder False (Semaphore freigeben)
  • Parameter 5 (optional):
    False (Makro wirkt auf erste Semaphore mit Angabe eines Atoms; Default) oder True (Makro wirkt auf zweite Semaphore mit Angabe eines Atoms)
Verfügbarkeitgenerell, nur auf Client
Beschreibung

Pro Dialog können maximal 2 Semaphoren verwaltet werden. Eine ohne Angabe eines Atoms ("Dialog-Semaphore", z.B. in der Belegerfassung) und eine mit Angabe eines Atoms.

Wird der Makro-Befehl mehrmals innerhalb des Dialoges ausgeführt, wird immer die zuvor gesetzte Semaphore freigegeben und die neue gesetzt (dies entspricht der zuvor in Access erfolgten Implementierung).

XML-Tag80
WebClientnein

AufrufenUrl (Ab Version 9.0.2)
Parameter
  • Parameter 1:
    URL
  • Parameter 2:
    Modus
    • 1 = Neuer Browser-Tab
Verfügbarkeitgenerell
BeschreibungRuft URL im Browser auf.
XML-Tag140
WebClientja

MakroBaustein (Ab Version 9.0.5)
Parameter
  • Parameter 1:
    voll qualifizierter Name eines Makro-Bausteins (<name>.<partnerid>.<packageid>)
Verfügbarkeitgenerell
BeschreibungFügt die Zeilen des angegebenen Makro-Bausteins im aktuellen Makro ein.

Die Ersetzung erfolgt Server-seitig. Es gibt kein eigentliches "Ausführen" dieses Befehls.

XML-Tag150
WebClientja



DruckprozessAusführen (Ab Version 9.0.7)
Parameter
  • Parameter 1:
    Name der aufzurufenden Druckprozess-DLL (ohne Verzeichnisname, aber mit Dateinamenerweiterung ".dll"; die DLL wird immer im Sage-100-Shared-Verzeichnis des Applikationsservers gesucht)
  • Parameter 2:
    Name der aufzurufenden Klasse inkl. Namespace (als Basisklasse ist "ExecutePrintServiceBase", Interface "IExecutePrintService" zu verwenden; es wird die Methode "Execute" aufgerufen)
  • Parameter 3:
    Druckbeleginformation in Form eines als XML-String serialisierten Objekts der Klasse "Sagede.Shared.RealTimeData.Common.Printing.PrintDocumentsContainer"
  • Parameter 4 (optional):
    Semikolon-separierte Liste der Namen der Nicht-Korrespondenzberichte, die zusätzlich bei Druck des Druckprozesse ausgegeben werden sollen
Verfügbarkeitgenerell
Beschreibung

Ausführung von Druckprozessen. Ein Druckprozess ist hierbei eine Sammlung von Berichten, die in einem Ablauf ausgegeben werden.

Die Bereitstellung der Druckbeleginformationen erfolgt vor Ausführung des Makrobefehles "Druckprozess ausführen" durch die Anwendung.

XML-Tag160
WebClient

EMailSenden (Ab Version 9.0.7)
Parameter
  • Parameter 1:
    Belegart (wird zur Ermittlung von E-Mail-Adressen, E-Mail-Text und E-Mail-Betreff verwendet)
    Unterstützte Werte:
    • 0 und 2: sonstige Belegarten
    • 3: SEPA Mandat
    • 1000: Mahnung
    • 1004: Saldenbestätigung
    • 1005: Lastschrift / Zahlungsavis
    • 4001, 4002, 4003, 4004: Verkaufsbelege
    • 4101, 4102, 4103, 4104, 4105, 4106, 4107: Einkaufsbelege
  • Parameter 2:
    Adressnummer des Empfängers (konstanter Wert oder Ausdruck)
  • Parameter 3:
    Aufrufmodus
    Zulässige Werte:
      • 1: Versand von E-Mails in einer Stapelverarbeitung
      • 2: Versand einer einzelnen E-Mail
  • Parameter 4 (optional):
    Dateianhang (vollqualifizierter Pfad auf eine Client-seitige Datei, mit oder ohne Anführungszeichen),
    z.B. „C:\Temp\Test.pdf“
Verfügbarkeitgenerell
Beschreibung

Versenden einer E-Mail.

Vor dem Versand wird ein Dialog zur Eingabe bzw. Bestätigung der E-Mail-Adressen angezeigt. Bei Versand über SMTP wird anschließend ein zweiter Dialog zur Eingabe der SMTP-Einstellungen aufgerufen.

XML-Tag170
Webclient

Datensatz-Operationen(Ab Version 9.0.4)


DatensatzLesen
Parameter
  • Parameter 1: Name des Datensatzes
  • Parameter 2: Semikolon-separierte Liste der Primärschlüsselwerte 1 bis 9
  • Parameter 3: Semikolon-separierte Key-Value-Pair-Liste im Format
         "<zielfeld bzw. lokale Variable>:=<datensatzfeld>" (z.B. "Lokal1:=Kto;Lokal2:=Umsatz").
    Das Zielfeld kann eine lokale Variable (diese muss nicht vorher explizit festgelegt werden) oder ein Feld des/der aktuell gewählten Datensatzes/Datenstruktur/Datenwertliste sein.
  • Parameter 4 (optional): Name der lokalen Variable (diese muss nicht vorher explizit festgelegt werden), in die das Etag (Timestamp) geschrieben werden soll.
Verfügbarkeitgenerell
Beschreibung

Liest Daten aus einem Datensatz

Das Etag-Feld (Timestamp) kann genutzt werden, um zwischenzeitlich erfolgte Daten-Änderungen zu erkennen und dann ein Überschreiben der Daten zu verhindern. Sein aktueller Wert wird beim Lesen, Aktualisieren und Einfügen des Datensatzes ermittelt und kann beim Aktualisieren wieder übergeben werden. 

Das Ergebnis des Request (Response-Status) wird in der reservierten lokalen Variable "[_DataActionState]" bereitgestellt und kann folgende Werte enthalten:

  • UnknownError = 0
  • Success = 200
  • NoContent = 204
  • BadRequest = 400
  • Unauthorized = 401
  • Forbidden = 403
  • NotFound = 404
  • ServerError = 500
XML-Tag700
WebClientnein



DatensatzAktualisieren
Parameter
  • Parameter 1: Name des Datensatzes
  • Parameter 2: Semikolon-separierte Liste der Primärschlüsselwerte 1 bis 9
  • Parameter 3: Semikolon-separierte Key-Value-Pair-Liste im Format
         "<datensatzfeld>:=<quellfeld bzw. lokale variable bzw. ausdruck>"
    (z.B. "Kto:=Lokal1;Umsatz:=Lokal2").
  • Parameter 4: Soll der Datensatz neu in die Tabelle einfügt werden, wenn er noch nicht vorhanden ist (True). Default ist False.
  • Parameter 5 (optional): Name der lokalen Variable, in die das Etag (Timestamp) geschrieben werden soll, bzw. die das ggf. zuvor bei "DatensatzLesen" ermittelte Etag (Timestamp) enthält.
  • Parameter 6 (optional): Semikolon-separierte Liste von Namen lokaler Variablen, in die die Primärschlüssel geschrieben werden sollen.
Verfügbarkeitgenerell
Beschreibung

Aktualisiert Daten eines Datasatzes (wenn der Datensatz noch nicht existiert, kann er angelegt werden)

Das Etag-Feld (Timestamp) kann genutzt werden, um zwischenzeitlich erfolgte Daten-Änderungen zu erkennen und dann ein Überschreiben der Daten zu verhindern. Sein aktueller Wert wird beim Lesen, Aktualisieren und Einfügen des Datensatzes ermittelt und kann beim Aktualisieren wieder übergeben werden.

  • Hinweis: Sollen Datumswerte in String-Felder geschrieben werden, erfolgt dies im Standard im amerikanischen Format. Soll die deutsche Formatierung verwendet werden, ist die "ToString()"-Funktion zu verwenden.
XML-Tag701
WebClientnein

DatensatzEinfügen
Parameter
  • Parameter 1: Name des Datensatzes
  • Parameter 2: Semikolon-separierte Key-Value-Pair-Liste im Format
         "<datensatzfeld>:=<quellfeld bzw. lokale Variable bzw. ausdruck>"
    (z.B. "Kto:=Lokal1;Umsatz:=Lokal2").
  • Parameter 3 (optional): Name der lokalen Variablen, in die das Etag (Timestamp) des neuen Datensatzes geschrieben werden soll
  • Parameter 4 (optional): Semikolon-separierte Liste von Namen lokaler Variablen, in die die Primärschlüssel geschrieben werden sollen.
Verfügbarkeitgenerell
Beschreibung

Legt einen neuen Datensatz in der Datenbank an

Das Etag-Feld (Timestamp) kann genutzt werden, um zwischenzeitlich erfolgte Daten-Änderungen zu erkennen und dann ein Überschreiben der Daten zu verhindern. Sein aktueller Wert wird beim Lesen, Aktualisieren und Einfügen des Datensatzes ermittelt und kann beim Aktualisieren wieder übergeben werden.

  • Hinweis: Sollen Datumswerte in String-Felder geschrieben werden, erfolgt dies im Standard im amerikanischen Format. Soll die deutsche Formatierung verwendet werden, ist die "ToString()"-Funktion zu verwenden.
XML-Tag702
WebClientnein

DatensatzLöschen
Parameter
  • Parameter 1: Name des Datensatzes
  • Parameter 2: Semikolon-separierte Liste der Primärschlüsselwerte 1 bis 9
Verfügbarkeitgenerell
BeschreibungLöscht einen Datensatz aus der Datenbank
XML-Tag703
WebClientnein

Sonstige Befehle


EinfügenText

Parameter

Parameter 1:
Feldname

Parameter 2:
Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden)

Verfügbarkeit

nur in Multi-Daten-Edit-Elementen und Daten-Edit-Elementen

Beschreibung

Fügt den durch den Ausdruck angegebenen Text (muss RTF-formatiert sein) in das durch Feldname referenzierte RTF-Feld ein. Dies erfolgt an der aktuellen Cursor-Position, wenn das Feld aktiv ist. Ansonsten wird der Text am Ende angehängt.

XML-Tag501
WebClientnein


Kommentar

Parameter

Beliebiger Text als Kommentar
(wird Code-seitig nicht weiter verwendet, d.h. auch nicht als Makro-Ausdruck behandelt) 

Verfügbarkeit

generell

Beschreibung

Text zur Kommentierung eines Makros

XML-Tag401
WebClientja


AufrufenVba

Parameter

Parameter 1:
Aufruf einer Methode im VBA-Code inkl. Parameter (im Format für die VBA-Funktion "Eval")

Beispiel (aus ediArtikelstamm.Sage.Wawi, Feld "Hauptlagerplatz"):
gbLagerplatzSelectValidate([Hauptlagerplatz],[PlatzID])

Parameter 2 (optional):

Semikolon-separierte Liste der zu übergebenden Felder, lokalen Variablen oder konstanten Werte (keine Ausdrücke; Feldwerte können geändert werden; Unter-Elemente und deren Felder können nicht übergeben werden).

Als Parameternamen für den Geschäftsprozess werden die Namen der Felder bzw. lokalen Variablen übernommen. Bei konstanten Werten wird der Name wie folgt gebildet: "_Parameter" + lfd. Nr. konstanter Wert (auf Basis 1, nicht die lfd. Parameternummer)

Verfügbarkeit

generell, nur auf dem Client

Beschreibung

Ruft eine Methode im VBA-Code der MS-Access-Anwendung auf. Über den Präfix „gbAddInRun“ können auch AddIn-Funktionalitäten aufgerufen werden.

Die Liste der Name-/Wert-Paare aus Parameter 2 werden der VBA-Methode über "goStack.oBag" zur Verfügung gestellt.

Rückgabewerte:

  • Da die Funktion in VBA per "Eval"-Methode aufgerufen wird, können die Werte der Parameter in der Parameterliste nicht geändert werden. Deshalb werden alle Name-/Wert-Paare aus dem VBA-seitigen globalen "goStack.oBag" zurückgegeben.
    • Lokale Makrovariablen werden unter ihrem Namen mit führendem Unterstrich zurückgegeben.
    • Datenfelder werden unter ihrem Namen zurückgegeben.

Temporär, solange Access als Host verwendet wird: Dieser Makro-Befehl wird in anderen Umgebungen (z.B. Mobile) ignoriert. Elemente, die diesen Makro-Befehl verwenden, dürfen also nur für die Access-basierte Umgebung freigeschaltet werden. Der Einsatz sollte – so weit wie möglich – vermieden werden.

XML-Tag9999
WebClient nein

Beispiel AufrufenVba mit Übergabe von Parametern:

Hinweis für Developer Partner

WDB-Eintrag 203334:

Anhang ADID.Makro.AufrufenVba.rar und OLAppDesignerImDetail80.rar

Temporäre Variable

Läuft ein Makro im Kontext des clientseitigen UIs, stehen folgende vordefinierte temporäre Variable zur Verfügung (nur lesend):

  • "_Canceled" enthält den Erfolgs-Status bestimmter Befehle (siehe oben). False bedeutet, dass der Aufruf erfolgreich war. True bedeutet, dass der Aufruf nicht erfolgreich war.
    Hinweise zu ähnlichen Fällen:
      • Zum Unterbrechen eines Makros dienen die Makro-Befehle "Abbruch" (das Makro wird sofort verlassen und eine nachfolgende Verarbeitung wird abgebrochen) und „StoppMakro“ (das Makro wird sofort verlassen und die Verarbeitung läuft normal weiter).
      • Die Makro-Befehle "Fehler" und "Meldungsfeld" (beim Anklicken der Abbrechen-Schaltfläche im Meldungsfenster) führen einen internen "Abbruch" automatisch aus.
  • "_AppDate" stellt das aktuelle Buchungsdatum (Rewe) bzw. Belegdatum (Wawi), das beim Start der Anwendung definiert wurde, zur Verfügung.
  • "_AppYear" stellt das aktuell gewählte Geschäftsjahr, das beim Start der Anwendung definiert wurde, zur Verfügung. Tipp: Das Geschäftsjahr auf Basis des aktuellen Server-Systemdatums kann mit dem Platzhalter "$[Geschaeftsjahr]" adressiert werden.
  • "_LokatorKuerzel" stellt das Tastaturkürzel der zuletzt erfolgten Datenklassen-Eingabe mit Lokator-Suche (siehe Datenklassen, Attribut "Shortcuts") zur Verfügung.
  • "_LokatorWert" stellt den Wert der zuletzt erfolgten Datenklassen-Eingabe mit Lokator-Suche (siehe Datenklassen, Attribut "Shortcuts") zur Verfügung.
    • Beispiel: Suche einer Kundennummer über die OP-Nummer in der Buchungserfassung durch Eingabe von "2014-10054@O@D" ergibt
      • _LokatorKuerzel = "O"
      • _LokatorWert = "2014-10054"

Innerhalb von Makros kann in einem Data-Edit-Element wie folgt der Status des Elements abgefragt oder gesetzt werden:

  • "_ChildRowState" gibt Auskunft über den aktuellen Status der aktuellen Zeile in einem Multi-Daten-Edit-Element. Mögliche Werte sind "Create" (neuer, ungespeicherter Datensatz) und "Edit" (Bearbeitung eines bereits existierenden Datensatzes). (Ab Version 9.0.4)
    • Beispiel:
              Wenn | [_ChildRowState] = "Create"
  • "_DialogState" gibt Auskunft über den aktuellen Status des Dialogs. Mögliche Werte sind "Create" (neuer, ungespeicherter Datensatz) und "Edit" (Bearbeitung eines bereits existierenden Datensatzes).
    • Beispiel: Wenn | [_DialogState] = "Create"
  • "_IsDirty" enthält die Info, ob ein Datensatz schon editiert wurde, d.h. dass schon Werte geändert wurden. True bedeutet, dass schon Werte geändert wurden.
    • Hinweise:
      • Beim Setzen werden bei einem zugrunde liegenden Datensatz (Data Record) alle Felder des hierarchischen Datensatzes als geändert gekennzeichnet, weil beim späteren Speichern von Änderungen nur die geänderten Felder gespeichert werden. Die Verwendung dieser Variable wird nicht empfohlen, da dadurch die kooperative Arbeit in verschiedenen Ebenen des Datensatzes verhindert wird (optimistic concurrenca).
      • Bei einer zugrunde liegenden Datenstruktur (Data Structure; d.h. einem Datenservice), werden dagegen immer alle Felder an den Datenservice gesendet, der dann über das weitere Vorgehen entscheidet.
      • Beispiel: Beim Wechsel der Buchungsperiode soll nach erfolgter Rückfrage ein geänderter Satz entfernt werden. Dazu wird der Änderungsstatus wie folgt auf False gesetzt: FestlegenLokaleVar | $Data._IsDirty | False

Die lokalen Variablen der Makros stehen wie folgt auch in allen aufgerufenen VBA- und .NET-DLL-Services (gsAppServiceCall, gsAppServiceCallGeneric, AppLibraryCall) zur Verfügung (lesend und schreibend):

  • In VBA stehen die lokalen Variablen über "goStack.oBag.oItem("MacroTempVars")" zur Verfügung. Die Variablen-Liste hat den Typ "clsSysCollection". Jeder Eintrag der Liste besteht somit aus Key und Value. In einem AddIn steht das Objekt nicht zur Verfügung. Ein Beispiel für diesen Fall finden Sie in der Beschreibung des Funktionsaufrufs „Aufruf einer Methode in einem AddIn mit Übergabe des aktuellen Datensatzes aus den neuen Stammdaten“.
  • In .NET-DLLs stehen die lokalen Variablen über das Property "MacroTempVars zur Verfügung. Auch diese enthält wiederum Key-Value-Paare.
  • Wichtig ist in beiden Fällen die Prüfung der Liste auf Nothing.
  • In VBA wird bei nicht vorhandenen Werten "Empty" zurückgegeben, in .NET ist mit der Funktion "MacroVarList.ContainsKey" vorher das Vorhandensein zu prüfen.
  • Wird schreibend auf eine nicht vorhandene Variable zugegriffen, wird diese automatisch erzeugt.
  • Es werden die Makro-Datentypen String, Date, Boolean, Currency bzw. Decimal und Integer unterstützt.

Ausdrücke

In den Beschreibungen der Parameter wird bei einigen Makrobefehlen das Wort „Ausdruck“ verwendet. Die gültigen Ausdrücke sind in Ausdrücke beschrieben. Hier sollen nur die beiden wichtigsten Ausdrücke für die Ablaufsteuerung aufgeführt werden.

  • ergänzende Funktionen in Daten-Edit-Elementen und Multi-Daten-Edit-Elementen:
    • „IsRecordInsert()“ (True, wenn neuer Datensatz innerhalb des „BeforeUpdate“-Ereignisses vorliegt; ohne Parameter)
    • „IsRunningOnServer()“ (True, wenn das Makro Server-seitig ausgeführt wird; ohne Parameter)

Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden

Bei der Fehlerbehandlung in einer Validierung sollte eine Meldung ausgegeben und der weitere Verlauf der Makroausführung behandelt werden. Die Behandlung der Makroausführung ist in der Regel der Abbruch der Makroausführung. Die Makroausführung erfolgt aber im Zusammenhang einer Auslösung eines Ereignisses. Es muss bzw. kann also unterschieden werden, ob die Ausführung der Makroausführung beendet werden soll, oder ob das Ereignis mit Fehler beendet (abgebrochen) werden soll. Dabei kann es sich nur um Ereignisse handeln, die vor einer Aktion ausgeführt werden (z.B. "Vor Änderung", "Vor Löschung" beim Datensatz/Datenstruktur).

  • Makrobefehl "StoppMakro": Alle nachfolgende Makrobefehle werden nicht mehr ausgeführt. Das Ereignis wird wie vorgesehen behandelt. Wird der Makrobefehl also z.B. im Ereignis "Vor Änderung" eines Datensatzes hinterlegt, wird der Datensatz trotzdem gespeichert.
  • Makrobefehl "Abbruch":  Alle nachfolgende Makrobefehle werden nicht mehr ausgeführt. Das Ereignis wird abgebrochen (die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" werden auf True gesetzt). Wird der Makrobefehl also z.B. im Ereignis "Vor Änderung" eines Datensatzes hinterlegt, wird der Datensatz nicht gespeichert.

Es gibt aber auch Ereignisse, deren Aktion während oder vor der Makroausführung durchgeführt werden. Beim Ereignis "Beim Anzeigen" eines Daten-Edit-Elementes haben die beiden Makrobefehle die gleiche Auswirkung. Wird im diesem Ereignis der Makrobefehl "Abbruch" verwendet, so werden nachfolgende Makrobefehle nicht mehr ausgeführt, der Datensatz wird aber trotzdem angezeigt.

Der typische Anwendungsfall für den Makrobefehl "Abbruch", ist den Zweig einer nicht erfolgreichen Validierung abzudecken, also die Makroausführung zu stoppen und das Ereignis zu "canceln" ("Vor Änderung", "Vor Löschung").

Der typische Anwendungsfall für den Makrobefehl "StoppMakro"  ist die Makroausführung zu stoppen. Dabei wird i.d.R. die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" durch andere Makrobefehle auf True gesetzt.

Beispiel: eine Aktion eines Kontextmenüeintrags in den Stammdaten bedingt einen aktuellen (also gespeicherten) Datensatz.

Folgende Makros wären zu hinterlegen:

ZeileBefehlParameter 1Parameter 2Parameter 3Parameter 4
1DatensatzSpeichernTrue


2Wenn[_Canceled] = True


3StoppMakro



4Sonst



...weitere Befehle



Zum Abbruch einer Aktion gehört i.d.R. auch eine Meldung mit dem Grund des Abbruchs. Für die Anzeige der Meldung stehen vier Makrobefehle zur Verfügung.

  • Makrobefehl "Meldungsfeld": Hier wird die Meldung in einem Dialog angezeigt. Der Makrobefehl kann also nur clientseitig ausgeführt werden. Das Ergebnis (Klick des Buttons) muss ausgewertet werden und gegebenenfalls das Ereignis mit dem Makrobefehl "Abbruch" abgebrochen werden.
  • Makrobefehl "FehlerMelden": Fügt eine Fehlermeldung in die Meldungsliste der Anwendung ein. Die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" werden nicht gesetzt. Soll also das Ereignis abgebrochen werden, muss anschließend der Makrobefehl "Abbruch" ausgeführt werden.
  • Makrobefehl "HinweisMelden": Fügt eine Hinweismeldung in die Meldungsliste der Anwendung ein. Die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" werden nicht gesetzt. Soll also das Ereignis abgebrochen werden, muss anschließend der Makrobefehl "Abbruch" ausgeführt werden.
  • Makrobefehl "Fehler": Fügt eine Fehlermeldung in die Meldungsliste der Anwendung ein (oder auf dem Client eventuell auch im Dialog). Die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" werden auf True gesetzt. Der Makrobefehl ist also die Kombination aus den Befehlen "FehlerMelden" und "Abbruch".

Bei der Wahl des Makrobefehls für die Anzeige eines Fehlers oder Hinweises, ist man abhängig vom Ort (Client oder Server) einer Validierung.