Ereignisse

In den folgenden Metadatenobjekten können Makrobefehle in Ereignissen ausgeführt werden.

  • Datensatz
    • Vor Änderung (BeforeUpdate)
    • Vor Löschung (BeforeDelete)
    • Nach Einfügung (AfterInsert)
    • Nach Änderung (AfterUpdate)
    • Nach Löschung (AfterDelete)
  • Datensatz-Feld
    • Nach Aktualisierung (AfterChange)
  • Datenstruktur
    • Beim Laden (OnLoad)
    • Vor Änderung (BeforeUpdate)
    • Vor Löschung (BeforeDelete)
    • Nach Einfügung (AfterInsert)
    • Nach Änderung (AfterUpdate)
    • Nach Löschung (AfterDelete)
  • Daten-Edit-Element
    • Beim Anzeigen (OnCurrent)
    • Nach Abbruch (AfterCancel)
    • Beim Schließen (OnClosePart)
  • Daten-Edit-Element-Feld
    • Nach Aktualisierung (AfterChange)
    • Nach Setzen (AfterSet)
    • Vor Suche (BeforeSearch)
    • Nach Suche (AfterSearch)
  • Multi-Daten-Edit-Element
    • Beim Anzeigen (OnCurrent)
    • Nach Einfügen (AfterPaste)
  • Multi-Daten-Edit-Element-Feld
    • Nach Aktualisierung (AfterChange)
    • Nach Setzen (AfterSet)
    • Vor Suche (BeforeSearch)
    • Nach Suche (AfterSearch)
    • Beim Betreten (OnEnter)
  • Selektions-Element
    • Beim Anzeigen (OnCurrent)
    • Bei Ausführung (OnExecute)
  • Selektions-Element-Feld
    • Nach Aktualisierung (AfterChange)
    • Nach Setzen (AfterSet)
    • Vor Suche (BeforeSearch)
    • Nach Suche (AfterSearch)

In den folgenden Metadatenobjekten können Makrobefehle durch Funktionsaufrufe ausgeführt werden.

  • Kontextmenüeintrag
    • MakroStarten.Sage.System

Makrobefehle können clientseitig, serverseitig und client- und serverseitig ausgeführt werden. Die Nachfolgende Tabelle zeigt den Ort der Ausführung an.

Metadaten

Ereignis

Clientseite

Serverseite

Datensatz

Vor Änderung

Ja

Ja


Vor Löschung

Ja

Ja


Nach Einfügung

Ja

Ja


Nach Änderung

Ja

Ja


Nach Löschung

Ja

Ja

Datensatzfeld

Nach Aktualisierung

Ja

Ja

Datenstruktur

Vor Änderung

Serverseitig wird validiert, ob ein Speichern möglich ist. Dabei können Warnungen und/oder Fehler an den Client zurückgegeben werden.

Werden nur Warnungen an den Client gesendet, dann werden diese in einer Dialogbox angezeigt. Der Anwender kann entscheiden, ob er speichern möchte oder nicht.

Entscheidet sich der Anwender zu speichern, wird dieses Ereignis erneut ausgeführt. Die Clientseite wird beim zweiten Durchlauf nicht ausgeführt (Hotfix nötig, bitte Wartungstexte prüfen).

Ja

Ja


Beim Laden

Nein

Ja


Vor Löschung

Ja

Ja


Nach Einfügung

Ja

Ja


Nach Änderung

Ja

Ja


Nach Löschung

Ja

Ja

Daten-Edit-Element

Beim Anzeigen

Ja

Nein


Nach Abbruch

Ja

Nein


Beim Schließen

Ja

Nein

Daten-Edit-Element-Feld

Nach Aktualisierung

Ja

Nein


Nach Setzen

Ja

Nein


Vor Suche

Ja

Nein


Nach Suche

Ja

Nein

Multi-Daten-Edit-Element

Beim Anzeigen

Ja

Nein


Nach Einfügen

Ja

Nein

Multi-Daten-Edit-Element-Feld

Nach Aktualisierung

Ja

Nein


Nach Setzen

Ja

Nein


Vor Suche

Ja

Nein


Nach Suche

Ja

Nein


Beim Betreten

Ja

Nein

Selektions-Element

Beim Anzeigen

Ja

Nein


Bei Ausführung

Ja

Nein

Selektions-Element-Feld

Nach Aktualisierung

Ja

Nein


Nach Setzen

Ja

Nein


Vor Suche

Ja

Nein


Nach Suche

Ja

Nein

Optimaler Umgang mit Makros im Daten-Edit-Element

Verwendungzweck  „Stammdatendialog für einen Datensatz“

Daten-Edit-Element-Feld: Makro „Nach Aktualisierung“ (AfterChange)

  • Zum Ausführen von Aktionen nach einer Feldänderung
  • Nicht für Validierungen
  • Die Ausführung erfolgt clientseitig
  • Beispiel: ediArtikelstamm/ Grundlagen/ Artikelgruppe

Daten-Edit-Element-Feld: Makro „Nach Setzen“ (AfterSet)

  • Zum Setzen eines UI-Status wenn ein Datensatz geladen oder ein Feld geändert wurde (wird nach „Nach Aktualisierung“ und vor „Beim Anzeigen“ ausgelöst)
    • (in)aktiv, (nicht) schreibgeschützt, (un)sichtbar
  • Nicht für Validierungen und nicht für Wertänderungen
  • Die Ausführung erfolgt clientseitig
  • Beispiel: ediArtikelstamm/ Beschaffung/ IstBestellartikel

Daten-Edit-Element: Makro „Beim Anzeigen“ (OnCurrent)

  • Setzen von Defaultwerten, logische Abhängigkeiten für den ganzen Datensatz behandeln
  • Die Ausführung erfolgt clientseitig, einmalig wenn ein neuer oder vorhandener Datensatz aufgerufen wurde
  • Beispiel: ediArtikelstamm

Datensatz-Feld: Makro „Nach Aktualisierung“ (AfterChange)

  • Für Validierungen
  • Die Ausführung erfolgt client- und serverseitig (kann mit der Funktion IsRunningOnServer() abgefragt werden)
  • Beispiel: recArtikelstamm/ Besteuerungsart

Datensatz: Makro „Vor Änderung“ (BeforeUpdate)

  • Für komplexere Validierungen
  • Die Ausführung erfolgt client- und serverseitig vor dem Speichern des Datensatzes (serverseitig innerhalb der Transaktion)
  • Beispiel: recArtikelstamm