Ein Ereignis erstellen
Wenn Sie kein geeignetes vorhandenes Event finden, können Sie ein eigenes erstellen.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
Prozedur
- Navigieren zu Alle > Systemrichtlinie > Events > Registryund wählen Sie dann Neu.
-
Füllen Sie die Felder des Formulars aus.
Tabelle : 1. Ausfüllen des Event-Registrierungsformulars Feld Beschreibung Ereignisname Name Ihres neuen Events. Tabelle Datenbanktabelle für dieses Event. Hinweis:In der Liste werden nur Tabellen und Datenbankansichten angezeigt, die sich im selben Bereich wie das Event befinden.Warteschlange Name der Warteschlange, in der das Event platziert wird, wenn es ausgelöst wird. Verwenden Sie nur Kleinbuchstaben, keine Leerzeichen und keine Sonderzeichen außer Unterstrichen (_). Beispiel: my_queue. Weitere Informationen finden Sie unter Using custom queues to process events.
Priorität Reihenfolge, in der Nachrichten verarbeitet werden. Niedrigere Werte haben eine höhere Priorität. Zugriff für Anrufer Einstellungen für eingeschränkten Anruferzugriff. - Anruferbeschränkung: Anrufe an die Ressource müssen manuell genehmigt werden.
- Anruferverfolgung: Anrufe an die Ressource werden automatisch genehmigt.
Ausgelöst von Name der Business Rule, die das Event ausführt. Dieses Feld dient nur als Referenz und wird von keinem Prozess verwendet. Stellen Sie sicher, dass genügend Informationen vorhanden sind, um Ihr Event erneut zu finden. Beschreibung Kurzbeschreibung des Zwecks des Ereignisse. - Klicken Sie auf den zugehörigen Link Geschäftsregeln.
-
Wenn Sie ein Event für eine Basissystemtabelle erstellen, wählen Sie die vorhandene Event-Business Rule für die Tabelle aus.
Wählen Sie beispielsweise die Geschäftsregel sc request events aus, um ein benutzerdefiniertes Anforderungsereignis zu erstellen.
-
Wenn Sie eine vorhandene Event-Business Rule aktualisieren, fügen Sie dem Skripteine neue Bedingung hinzu.
Das folgende Beispielskript fügt ein Ereignis request.commented mit der Sys-ID des Benutzers als parm1 und dem Benutzernamen des Benutzers als parm2 hinzu.
if (current.operation() != 'insert' && current.comments.changes()) { gs.eventQueue('request.commented', current, gs.getUserID(), gs.getUserName()); } -
Wenn Sie ein Ereignis für eine benutzerdefinierte Tabelle erstellen, erstellen Sie eine neue Geschäftsregel, die nach Datenbankvorgängen ausgeführt wird.
Diese Geschäftsregel definiert beispielsweise mehrere Ereignisse für eine benutzerdefinierte Anwendung namens „Marketing Events“.
Tabelle : 2. Beispiel für eine Event-Business Rule Feld Wert Name Teilnehmerereignisse Tabelle Teilnehmer [x_snc_marketing_ev_attendee] Anwendung Marketing-Events Erweitert Ausgewählt Wann nach Einfügen Ausgewählt Aktualisieren Ausgewählt Löschen Ausgewählt Skript Fügen Sie ein benutzerdefiniertes Skript hinzu, das:- Prüft auf eine oder mehrere Bedingungen im aktuellen Datensatz.
- Ruft die gs.eventQueue()-Methode auf und gibt einen Event-Namen an.
Siehe Codebeispiel.
Hinweis:Wenn Sie Filterbedingungen, Rollenbedingungenoder einen Bedingungswert hinzufügen, stellen Sie sicher, dass die Geschäftsregel wie erwartet ausgeführt wird.(function executeRule(current, previous /*null when async*/) { //This function will be automatically called when this rule is processed. //Add event when attendee inserted if(current.operation() == 'insert' && current.marketing_event.changes()) { gs.eventQueue('x_snc_marketing_ev.attendee.added', current, current.marketing_event, current.email); } //Add event when marketing event changes if(current.operation() == 'update' && current.marketing_event.changes()) { gs.eventQueue('x_snc_marketing_ev.attendee.deleted', previous, previous.marketing_event, previous.email); gs.eventQueue('x_snc_marketing_ev.attendee.added', current, current.marketing_event, current.email); } //Add event when attendee deleted if(current.operation() == 'delete') { gs.eventQueue('x_snc_marketing_ev.attendee.deleted', current, current.marketing_event, current.email); } })(current, previous); - Registrieren Sie das Event.