Integration mit Workflow
Mit dem Benutzerschnittstellenframework können Sie einen Workflow automatisch starten, wenn Sie das Maximo ® -Geschäftsobjekt (MBO) der Anwendung speichern.
Im folgenden Python -Beispiel wird ein Workflow gestartet, der eine Zuordnung erstellt, wenn ein neuer Auftrag unter Verwendung des eingehenden Maximo-Integrationsframeworks erstellt wird. Schreiben Sie dazu ein Objektstrukturscript, das den Workflow startet. Wählen Sie in der Anwendung "Automationsscripts" aus. Wählen Sie im Dialogfeld Script für Integration erstellen die Option Objektstrukturaus. Geben Sie den Namen der Objektstruktur im Feld "Objektstruktur" ein, z. B. MXWODETAIL. Wählen Sie Eingangsverarbeitungaus.
from psdi.server import MXServer
def afterProcess(ctx):
mbo = ctx.getPrimaryMbo()
if mbo.isNew():
MXServer.getMXServer().lookup("WORKFLOW").initiateWorkflow("WOSTATUS",mbo)Die Variable ctx entspricht der globalen impliziten Variablen service , jedoch mit hinzugefügten Funktionen für die Objektstrukturverarbeitung.
Eine einfache Möglichkeit, dies zu testen, ist die Verwendung der folgenden REST-JSON-API.
POST http://host:port/maximo/oslc/os/mxwodetail?lean=1
{
“wonum”:”MYLABWO11”,
“siteid”:”BEDFORD”,
“description”:”Invoke workflow test”
}Nachdem Sie diese JSON per POST gesendet haben, wird das Script aufgerufen und eine Zuordnung für den angemeldeten Benutzer erstellt. Sie können diese Zuordnung über das Portlet 'Zuordnungen' überprüfen.
Sie können das Script erweitern, um sicherzustellen, dass diese Workflowinitialisierung nur für Transaktionen mit dem Status WGENHM ausgeführt wird. Sie können das mit ctx.getPrimaryMbo( überprüfen.