Statische Methoden : Global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • Statische Methoden sind Methoden, die Sie in Ihren serverseitigen JavaScripts verwenden können, sind jedoch nicht Teil einer Klasse oder API.

    Sie können innerhalb eines Serverskripts ohne Konstrukteur oder andere Art der Instanziierung direkt auf diese Methoden zugreifen, bevor Sie sie verwenden.

    Statische Methode – updateVirtualField(GlideRecord remoteTaskGr, String virtualField, String virtualValue, String virtualDisplayValue)

    Füllt virtuelle Felder in einer Aufgabentabelle auf einer Zielinstanz aus, wenn Remoteaufgaben Service Bridge verwendet werden.

    Ein virtuelles Feld ist ein Feld, das in einer Zielaufgabentabelle, aber nicht in der Quellaufgabentabelle vorhanden ist. Diese Methode verwenden Sie, um die Werte für ein virtuelles Feld von der Quellinstanz an die Zielinstanz zu übergeben. Diese Methode speichert die angegebenen Werte für das virtuelle Feld als JSON im Formularabschnitt der angegebenen Remoteaufgabe. Diese Remoteaufgabe wird dann mit der Zielinstanz synchronisiert, in der die Werte im zugeordneten Feld in der Zielaufgabentabelle gespeichert werden.

    Virtuelle Felder werden in Remoteaufgabendefinitionen definiert. Remote-Aufgabendefinitionen enthalten eingehende und ausgehende Zuordnungstabellen, die Felder zwischen Aufgabentabellen in Quell- und Zielinstanzen zuordnen. Wenn eine Quelltabelle ein Feld nicht enthält, das in einer Zieltabelle vorhanden ist, wird das Feld in der Remoteaufgaben-Definition als virtuelles Feld konfiguriert. Der Verbraucher kann dann entweder Service Bridge -Transformationen oder diese Methode verwenden, um die Werte dieser virtuellen Felder im zugehörigen Zielaufgaben-Datensatz zu aktualisieren.

    Im folgenden Abschnitt wird anhand eines Beispielanwendungsfalls beschrieben, wie virtuelle Felder implementiert und anschließend die Methode updateVirtualField() zum Ausfüllen von Werten im virtuellen Feld verwendet wird. In diesem Beispiel sind die beiden Aufgabentabellen, die durch eine Remoteaufgabendefinition miteinander verbunden sind, die Falltabelle des Anbieters und die Verbraucher-Incident-Tabelle. Wenn ein Incident-Datensatz in der Verbraucherinstanz erstellt oder aktualisiert wird, wird er für die Synchronisierung mit der Falltabelle des Anbieters konfiguriert. Das Feld „Betroffene Instanzen“ in der Falltabelle ist ein Pflichtfeld, in der Incident-Tabelle jedoch nicht vorhanden. Um mit dieser Situation umzugehen, muss das Feld „Betroffene Instanzen“ als virtuelles Feld in der eingehenden Zuordnung der zugehörigen Remoteaufgabendefinition definiert werden.
    1. Der Anbieter erstellt eine Remoteaufgabendefinition für die Falltabelle des Anbieters und die Verbraucher-Incident-Tabelle.
    2. Auf der Registerkarte Eingehende Felder in den Zugehörigen Links der Definition der Remoteaufgabe ordnet der Anbieter die Felder zwischen der Incident-Tabelle und der Falltabelle zu.
      Bei der Definition des Felds „Betroffene Instanzen“ aktiviert der Anbieter das Kontrollkästchen Virtuell und wählt dann auf der Registerkarte Zielzuordnung im Feld Ziel die Option Betroffene Instanzen aus.
      Hinweis:
      Beim Definieren eines virtuellen Felds wird kein Quellfeld definiert, da es nicht vorhanden ist.
    3. Der Anbieter veröffentlicht dann die Remoteaufgabendefinition, die mit der Verbraucherinstanz synchronisiert wird.
    4. Der Verbraucher erstellt eine Remoteaufgabe für die Incident-Tabelle. Eine JSON-Nutzlast, die alle Werte für die zugeordneten Felder enthält, einschließlich der Informationen zu virtuellen Feldern, wird in einem Formularabschnitt in der Remoteaufgabe enthalten.
    5. Die Verbraucherinstanz ruft die Methode updateVirtualField() auf, z. B. in einer Geschäftsregel, die ausgeführt wird, wenn Datensätze in der Incident-Tabelle aktualisiert werden, um die Werte des Felds Betroffene Instanzen in der Remoteaufgabe festzulegen.
      Hinweis:
      Obwohl Sie die Daten in der Zieltabelle jederzeit füllen können, müssen als virtuelle Felder konfigurierte Pflichtfelder in der Remoteaufgabe ausgefüllt werden, bevor die Remoteaufgabe an die Herstellerinstanz gesendet wird.
    6. Die Remoteaufgabe wird mit der Anbieterinstanz synchronisiert und erstellt einen Falldatensatz in der Anbieterinstanz.

    Informationen zum Erstellen einer Remote-Aufgabendefinition finden Sie unter Create remote task definitions in Service Bridge for Providers.

    Informationen zum Erstellen einer Service Bridge -Transformation finden Sie unter Transform data with the Service Bridge transform framework.

    Warnung:
    Sie sollten diese Methode nur in einer Vor-Business-Regel aufrufen, da sie die Remoteaufgabe aktualisiert, für die sie aufgerufen wird. Wenn Sie diese Methode in einer Nach-Business-Regel aufrufen, müssen Sie strenge Bedingungen einbeziehen, die verhindern, dass die Aktualisierung des virtuellen Felds in der Remoteaufgabe die Business-Regel auslöst, da dies zu einer Endlosschleife führen kann.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    remoteTaskGr GlideRecord GlideRecord-Objekt der Remoteaufgabe, für die die angegebenen virtuellen Feldwerte festgelegt werden sollen.
    virtualField Zeichenfolge Feldname des virtuellen Felds, für das die zugehörigen Informationen aktualisiert werden sollen. Definiert auf der zugehörigen Registerkarte Ausgehende Felder der zugehörigen Remoteaufgaben-Definition.
    virtualValue Zeichenfolge Wert, der für dieses Feld in der Zielinstanz festgelegt werden soll.
    virtualDisplayValue Zeichenfolge Anzeigewert, der für dieses Feld in der Zielinstanz festgelegt werden soll
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie diese Methode aufgerufen wird.

    var remoteTaskGr = new GlideRecord("");
    /** Remote Task table name,
    ** Table name vary based on which instance the script is being executed.
    **/
    
    remoteTaskGr.get(""); // Remote Task record sys_id
    
    global.sb.updateVirtualField(remoteTaskGr,"<virtual outbound field name>", "<value to set on target field>", "<display value to set on target field>");