dms.CreateOsEvent

Legt ein neues OS-Event an.

Dieser Job greift direkt auf die interne Scripting-Infrastruktur von enaio® zu. Falsch konfigurierte Events können auf Client- oder Serverseite zu unerwartetem Verhalten bis hin zu schwerwiegenden Fehlfunktionen führen.

1. Eingabeparameter

Name Typ Pflicht Beschreibung

EventCode

INT

Ja

Ereignistyp des neuen Events.
Vollständige Wertebeschreibung: Event-Code-Liste

OsClassName

STRING

Nein

Zielobjekttyp: type_id als String oder "Application".
Beschreibung: Feld os_class_name

OsEventParams

STRING

Nein

Kontext-Parameter — Inhalt abhängig vom EventCode (Feld-GUID, Job-Name oder Bibliotheksname).
Mapping: os_event_params — Mapping

VBCode

BYTE[]

Ja

Ausführbarer Scriptcode des Events (JavaScript oder VBScript), als BYTE[] (BASE64) übergeben. Die Bytes als UTF-8 mit BOM kodieren — der Server erkennt UTF-8 ausschließlich am führenden BOM und speichert dann den vollen Unicode-Bereich. Ohne BOM werden die Bytes als Legacy-Windows-1252 (cp1252) interpretiert. Gilt unabhängig von is_js und davon, ob das System ein Unicode-System ist.
Beschreibung: Feld vb_code

AppClass

STRING

Nein

Zielplattform: 1 = Client · 2 = Server · 3 = WebClient.
Mapping: Feld app_class

2. Ausgabeparameter

Name Typ Abhängigkeit Beschreibung

OsEventID

INT

—

ID des neu angelegten Events. Entspricht dem Feld id in der JSON-Rückgabe von dms.GetOsEvents.

Der Server erzwingt Eindeutigkeit über die Kombination aus EventCode, OsClassName und OsEventParams. Ein Aufruf mit einer bereits existierenden Kombination wird abgewiesen: Der Job liefert -1, die Ursache steht im Fehlerstack als -1042609876 mit der Meldung Os event already exists. Event code: …; Class name: …; Parameters: >…< (verifiziert). Soll ein bestehendes Event geändert werden, ist je nach Änderung dms.UpdateOsEvent zu verwenden (nur vb_code änderbar) oder das Event zu löschen und neu anzulegen.

Die Schreibweise des id-Parameters ist über die OS-Event-Jobs nicht einheitlich: dms.CreateOsEvent liefert ihn als OsEventID zurück, dms.DeleteOsEvent erwartet ihn als OsEventID, dms.UpdateOsEvent hingegen als OsEventId (kleines d). Auf die exakte Schreibweise achten.

3. Rückgabe

(INT): 0 = Job erfolgreich, sonst Fehlercode
Vollständige Fehlerliste