MODIFY_TASK

Mit der Script-Funktion MODIFY_TASK können Sie aktive Workflows und Aufgaben in aktiven Workflows ändern. Mit MODIFY_TASK können Sie die Aufgabeneigenschaften für einen bestimmten Workflow ändern, ohne die Objektdefinitionen zu bearbeiten. Die Aufgabeneigenschaften im Workflow überschreiben die Einstellungen in der Objektdefinition. Weitere Informationen finden Sie unter Aufgabeneigenschaften in Workflows.

Dieses Thema beinhaltet Folgendes:

Überblick

Vor und nach Änderungen mit MODIFY_TASK, müssen Sie den Workflow-Status immer mit vorläufigen MODIFY_TASK-Script-Zeilen ändern. Befolgen Sie diese Reihenfolge, wenn Sie einen Workflow mit MODIFY_TASK ändern:

  1. Verwenden Sie MODIFY_TASK mit dem STOP_MODIFY-Parameter, um den Workflow zu stoppen und die Bearbeitung zu ermöglichen.
  2. Verwenden Sie MODIFY_TASK mit anderen Parametern, um eine oder mehrere Änderungen am Workflow vorzunehmen.
  3. Verwenden Sie MODIFY_TASK mit dem Parameter COMMIT, um Ihre Änderungen zu aktivieren.
  4. Verwenden Sie MODIFY_TASK mit dem GO-Parameter, um den Workflow zu starten.

Syntax und Parameter

Die Grundsyntax dieser Script-Funktion enthält die folgenden Elemente:

MODIFY_TASK (RunID, parameters, KEYWORD)

Wobei:

Wichtig!

Mehrere Änderungen, die Sie mit MODIFY_TASK durchführen können, erfordern, dass Sie eine bestimmte Aufgabe angeben. Verwenden Sie einen oder beide der folgenden Parameter, um die Aufgabe anzugeben:

Hinweise:

Beispielszenario

Sie möchten Aufgaben zu einem Workflow hinzufügen, wenn der Workflow aktiv ist. Dieses Beispiel zeigt, wie man MODIFY_TASK-Funktionen mit mehreren verschiedenen Schlüsselwörtern kombiniert, um die Aufgaben hinzuzufügen und zu platzieren und die erforderlichen Abhängigkeiten zu erstellen.

Vorbedingungen:

Ziele:

Schreiben Sie das folgende Script auf der Skript-Seite der Unteraufgabe, die sich gerade im Workflow befindet.

Syntax

:SET &RUNID# = SYS_ACT_PARENT_NR(ACT)

:PRINT &RUNID#

:SET &RET# = MODIFY_TASK(&RUNID#, STOP_MODIFY)

:SET &RET# = MODIFY_TASK(&RUNID#, 'TASK.01', ,ADD_TASK)

:SET &RET# = MODIFY_TASK(&RUNID#, 'TASK.01', ,MOVE_TASK, 2, 3)

:SET &RET# = MODIFY_TASK(&RUNID#, 'TASK.01', ,ADD_DEPENDENCY, 'START', , 'NONE' )

 

:SET &RET# = MODIFY_TASK(&RUNID#, 'TASK.02', ,ADD_TASK)

:SET &RET# = MODIFY_TASK(&RUNID#, 'TASK.02', ,MOVE_TASK, 3, 3)

:SET &RET# = MODIFY_TASK(&RUNID#, 'TASK.02', ,ADD_DEPENDENCY, 'TASK.01', , 'NONE' )

 

:SET &RET# = MODIFY_TASK(&RUNID#, 'END', ,ADD_DEPENDENCY, 'TASK.02', , 'NONE' )

:SET &RET# = MODIFY_TASK(&RUNID#, 'END', ,REMOVE_DEPENDENCY, 'START', , 'NONE' )

:SET &RET# = MODIFY_TASK(&RUNID#, COMMIT)

:SET &RET# = MODIFY_TASK(&RUNID#, GO, FORCED)

Parameter

Rückgabewerte

MODIFY_TASKhat je nach Art der Änderung folgende Rückgabewerte.

MODIFY_TASK, ADD_TASK hat die folgenden Rückgabewerte:

MODIFY_TASK, REPLACE_TASK und MODIFY_TASK,CLONE_AND_REPLACE_TASK haben die folgenden Rückgabewerte:

Stoppen, Bestätigen von Änderungen und Starten des Workflows

Verwenden Sie MODIFY_TASK mit Statusparametern, um den Workflow zu stoppen, Ihre Änderungen vorzunehmen und zu übertragen und den Workflow erneut zu starten. Sie müssen den Workflow stoppen und starten, um die anderen in diesem Thema beschriebenen MODIFY_TASK-Parameter zu verwenden.

Syntax

MODIFY_TASK (RunID, status [, FORCED])

Parameter

Hinweise:

Beispiele

Das folgende Beispiel stoppt den MM.DAY-Workflow und ermöglicht es Ihnen, Änderungen vorzunehmen.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RET# = MODIFY_TASK(&RUNID#, STOP_MODIFY)

Das folgende Beispiel startet den MM.DAY Workflow, auch wenn ein anderer Benutzer den Workflow bearbeitet.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RET# = MODIFY_TASK(&RUNID#, GO, FORCED)

Workflow-Inhalte ändern

Mit den folgenden Schlüsselwörtern können Sie den Inhalt eines aktiven Workflows ändern:

Eine Aufgabe oder externe Abhängigkeit hinzufügen

Verwenden Sie MODIFY_TASK mit ADD_TASK, um eine Aufgabe zu einem aktiven Workflow hinzuzufügen. Verwenden Sie das Schlüsselwort EXTERNAL, um eine Aufgabe als externe Abhängigkeit hinzuzufügen.

Die Aufgabe, die Sie hinzufügen, ist nicht automatisch mit anderen Aufgaben verknüpft. Verwenden Sie MODIFY_TASK mit ADD_DEPENDENCY, um die gewünschten Zeilen zu erstellen. Verwenden Sie MODIFY_TASK mit MOVE_TASK, um die Aufgabe an die richtige Stelle im Workflow zu bringen.

Syntax

MODIFY_TASK (RunID, object name ,, ADD_TASK [, EXTERNAL [, Workflow name]] )

Parameter

Hinweise:

Tipp: Verwenden Sie die Sequenznummer, die die Funktion zurückgibt, um die Aufgabe anzugeben, wenn Sie andere Änderungen an der hinzugefügten Aufgabe vornehmen.

Beispiel

Das folgende Beispiel fügt dem Workflow MM.DAY das Objekt FILE.INPUT hinzu.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#,"FILE.INPUT",, ADD_TASK)
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Aufgabe in einem Workflow ersetzen

Verwenden Sie MODIFY_TASK mit REPLACE_TASK oder CLONE_AND_REPLACE, um eine bestimmte Aufgabe im Workflow durch ein anderes Objekt zu ersetzen. Sie können eine externe Abhängigkeit nur durch eine externe Abhängigkeit und eine normale Workflow-Aufgabe durch eine normale Workflow-Aufgabe ersetzen.

Syntax

MODIFY_TASK (RunID, [task name], [sequence number], REPLACE_TASK|CLONE_AND_REPLACE , object name [, EXTERNAL [, Workflow name]])

Parameter

Beispiel

Das folgende Beispiel verwendet MODIFY_TASK mit REPLACE_TASK, um eine externe Abhängigkeit (MM.GET.FILES) durch eine andere externe Abhängigkeit (MM.FILE.INPUT) zu ersetzen.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "MM.GET.FILES",, REPLACE_TASK, "MM.FILE.INPUT", EXTERNAL)
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Aufgabe in einen Workflow verschieben

Wenn Sie MODIFY_TASK zum Hinzufügen einer Aufgabe verwenden, wird die hinzugefügte Aufgabe an einer freien Stelle im Workflow platziert. Verwenden Sie MODIFY_TASK mit MOVE_TASK, um die Aufgabe an die gewünschte Stelle im Workflow zu verschieben. Geben Sie die Spalte und Zeile der gewünschten leeren Stelle an.

Syntax

MODIFY_TASK (RunID, [task name], [sequence number], MOVE_TASK , Column, Line)

Parameter

Beispiel

Das folgende Script verschiebt die Aufgabe FILE.INPUT in die vierte Zeile der ersten Spalte.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, MOVE_TASK, 1, 4)
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Aktivieren oder Deaktivieren einer Workflow-Aufgabe

Verwenden Sie MODIFY_TASK mit ACTIVE, um eine Aufgabe zu aktivieren oder zu deaktivieren.

Syntax

MODIFY_TASK (RunID, [Task name], [sequence number], ACTIVE , YES|NO)

Parameter

Beispiel

Das folgende Beispiel setzt den Status der Aufgabe FILE.INPUT im MM.DAY Workflow auf inaktiv.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, ACTIVE, "NO")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Tab „Allgemein“

Mit den folgenden Schlüsselwörtern können Sie Eigenschaften ändern, die auf der Registerkarte Allgemein einer Workflow-Aufgabe festgelegt sind:

Weitere Informationen zu allgemeinen Eigenschaften von Aufgaben in Workflows finden Sie unter Tab „Allgemein“.

Ändern eines Task-Alias

Verwenden Sie MODIFY_TASK mit ALIAS, um den Alias einer Aufgabe oder einer externen Abhängigkeit in einem aktiven Workflow zu ändern.

Hinweis: Sie können den Alias von Workflow-Aufgaben und externen Abhängigkeiten, die Sie hinzugefügt haben, nur mit einerMODIFY_TASK, ADD_TASK-Anweisung im Script ändern.

Syntax

MODIFY_TASK (RunID,[Task name], [sequence number],ALIAS|ALIAS_PARENT, New Alias|New Parent Alias)

Parameter

Diese Funktion hat die folgenden Parameter:

Beispiel

Das folgende Beispiel fügt dem Workflow einen File Transfer hinzu und ändert den Alias der Aufgabe. Der Rückgabewert vonMODIFY_TASK, ADD_TASK ist die Sequenznummer der hinzugefügten Aufgabe und wird in einer Script-Variablen (&NR#) gespeichert. Die Script-Variable wird verwendet, um anzugeben, welcher Alias geändert werden soll.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &NR# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, ADD_TASK)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",&NR#,ALIAS,ALIAS.FT)
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO) 

Setzen oder Entfernen eines Haltepunktes

Verwenden Sie MODIFY_TASK mit BREAKPOINT, um einen Haltepunkt in einer Workflow-Aufgabe zu setzen oder zu entfernen.

Syntax

MODIFY_TASK (RunID, [Task name], [sequence number], BREAKPOINT, YES|NO)

Parameter

Beispiel

Das folgende Beispiel verwendet MODIFY_TASK mit dem Schlüsselwort BREAKPOINT, um einen Haltepunkt für die Aufgabe FILE.INPUT zu setzen.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, BREAKPOINT, "YES")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Registerkarte „Zeit & Abhängigkeiten“

Mit den folgenden Schlüsselwörtern können Sie Eigenschaften ändern, die auf der Registerkarte Zeit & Abhängigkeiten einer Workflow-Aufgabe festgelegt sind:

Weitere Informationen zu Eigenschaften, die das Timing und die Abhängigkeiten bestimmen, finden Sie unter Zeit & Abhängigkeiten.

Hinzufügen oder Entfernen einer Start- oder Endzeit

Verwenden Sie MODIFY_TASK mit einem Start- oder Endschlüsselwort, um die Start- oder Endzeit einer Aufgabe in einem aktiven Workflow festzulegen oder zu entfernen.

Syntax

MODIFY_TASK (RunID, [Task name], [sequence number], KEYWORD, Timestamp [, Time zone])

Parameter

Hinweis: Der Vergleichswert für die früheste Startzeit ist das reale Datum (der Zeitpunkt, zu dem der oberste Workflow erzeugt wird). Weitere Informationen finden Sie unter Logisches Datum und reales Datum

Beispiele

Das folgende Beispiel setzt die früheste Startzeit für die Aufgabe FILE.INPUT.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, EARLIEST_START, "00/18:00")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Das folgende Beispiel setzt die späteste Startzeit für die Aufgabe.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, LATEST_START, "00/10:00")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Das folgende Beispiel setzt die späteste Endzeit für die Aufgabe.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, LATEST_END, "00/18:00")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Hinzufügen oder Entfernen eines Kontrollpunkts

Verwenden Sie MODIFY_TASK mit CHECKPOINT, um einen Kontrollpunkt in einer Aufgabe eines aktiven Workflows hinzuzufügen oder zu entfernen.

Syntax

MODIFY_TASK (RunID, [task name], [sequence number], CHECKPOINT, timestamp [, Time Zone] [, Alarm object])

Parameter

Beispiel

Das folgende Beispiel setzt einen Kontrollpunkt in einer Aufgabe namens FILE.INPUT, die Teil des MM.DAY-Workflows ist. Nach Ablauf des Kontrollpunkts startet ein Benachrichtigungsobjekt mit dem Namen DAYSHIFT.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, CHECKPOINT, "00/15:00",,"DAYSHIFT")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Ermitteln der Anzahl der erforderlichen Status der Vorgänger

Verwenden Sie MODIFY_TASK mit DEPENDENCY_STATE_MATCH, um festzulegen, ob ein oder alle Status der Vorgänger gelten müssen, bevor die Workflow-Aufgabe bearbeitet wird. Auf der Registerkarte Zeit & Abhängigkeiten in den Aufgabeneigenschaften trägt diese Einstellung die Bezeichnung Diese Aufgabe ausführen, wenn alle Status übereinstimmen/ mindestens eine Bedingung erfüllt ist.

Syntax

MODIFY_TASK (RunID, [Task name], [sequence number], DEPENDENCY_STATE_MATCH , ALL|ONE)

Parameter

Beispiel

Das folgende Beispiel verwendet MODIFY_TASK mit dem DEPENDENCY_STATE_MATCH-Schlüsselwort, um sicherzustellen, dass alle Vorgänger der Aufgabe FILE.INPUT den erwarteten Status haben müssen, bevor die Aufgabe bearbeitet wird.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, DEPENDENCY_STATE_MATCH, "ALL")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Hinzufügen, Ändern oder Entfernen einer Abhängigkeit zu einer Workflow-Aufgabe

Verwenden Sie MODIFY_TASK mit einem Schlüsselwort DEPENDENCY, um eine Abhängigkeit zu einer Aufgabe in einem Workflow hinzuzufügen, zu entfernen oder zu ändern. Die Funktion fügt Zeilen hinzu, entfernt oder ändert sie, die Aufgaben im Workflow-Editor verbinden.

Syntax

MODIFY_TASK (RunID, [successor task name], [sequence number], ADD_DEPENDENCY|MODIFY_DEPENDENCY|REMOVE_DEPENDENCY, [source task name] , [sequence number], status)

Parameter

Weitere Informationen zur Angabe von Aufgabennamen und laufenden Nummern finden Sie unter Syntax und Parameter .

Beispiel

Das folgende Beispiel bearbeitet Abhängigkeiten im Workflow:

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#,, 4, ADD_DEPENDENCY, "START",, "ENDED_OK")
:SET &RET# = MODIFY_TASK(&RUNID#,, 9, MODIFY_DEPENDENCY,, 8,"ANY_OK")
:SET &RET# = MODIFY_TASK(&RUNID#,, 11, REMOVE_DEPENDENCY,, 10, "ENDED_OK")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Definition einer Aktion, die ergriffen werden soll, wenn Abhängigkeiten nicht erfüllt werden

Verwenden Sie MODIFY_TASK mit DEPENDENCY_ELSE_ACTION, um die Aktion zu definieren, die durchgeführt werden soll, wenn eine Abhängigkeit nicht erfüllt ist.

Syntax

MODIFY_TASK (RunID, [Task name], [sequence number], DEPENDENCY_ELSE_ACTION , ABORT|BLOCK|BLOCK_ABORT|SKIP [ , Alarm object] )

Parameter

Beispiel

Das folgende Beispiel überspringt die Aufgabe FILE.INPUT, wenn die Bedingungen für die Abhängigkeit nicht erfüllt sind.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, DEPENDENCY_ELSE_ACTION, "SKIP")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Registerkarte „Laufzeit“

Mit den folgenden Parametern können Sie die Einstellungen auf der Registerkarte Runtime einer Workflow-Aufgabe ändern. Weitere Informationen finden Sie unter Laufzeit-Eigenschaften.

Syntax

MODIFY_TASK (RunID, [task name], [sequence number], runtime option, value )

Parameter

Laufzeit-Optionen:

Beispiel

Das Benachrichtigungsobjekt DAYSHIFT startet, wenn die Ausführung der Aufgabe FILE.INPUT länger als zwei Stunden dauert. Das Script entfernt auch alle minimalen Laufzeiteinstellungen.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RETMRT# = MODIFY_TASK(&RUNID#, "FILE.INPUT",, RUNTIME_MRT_FIXED, "2:00:00")
:SET  &RETSRT#MODIFY_TASK(&RUNID#, "FILE.INPUT",, RUNTIME_SRT_NONE)
:SET  &RETACT#MODIFY_TASK(&RUNID#, "FILE.INPUT",, RUNTIME_ELSE_ACTION,"CANCEL""DAYSHIFT")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Tab „Externe Abhängigkeit“

Mit den folgenden Schlüsselwörtern können Sie die Einstellungen auf der Registerkarte Externe Abhängigkeiten einer externen Aufgabe in einem Workflow ändern.

Mehr Informationen:

Ausführungseinstellungen einer externen Abhängigkeit definieren

Verwenden Sie MODIFY_TASK mit EXTERNAL_SATISFACTION, um zu definieren, wie der Workflow mit einer externen Abhängigkeit umgeht. Der Workflow ist so konfiguriert, dass erwartet wird, dass die externe Aufgabe zu einem bestimmten Zeitpunkt beginnt oder endet, z.B. vor oder nach dem Start des aktuellen Workflows. MitEXTERNAL_SATISFACTION können Sie die Einstellungen ändern, die die erwartete Durchlaufzeit bestimmen.

Syntax

MODIFY_TASK (RunID, [task name], [sequence number],EXTERNAL_SATISFACTION , lead time satisfaction [, duration])

Parameter

Beispiel

Im folgenden Beispiel beginnt der Erfüllungszeitraum für die externe Abhängigkeit MM.GET.FILES mit dem Start des Workflows.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "MM.GET.FILES",, EXTERNAL_SATISFACTION, "AFTER_START")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Setzen des erwarteten Status einer externen Abhängigkeit

Verwenden Sie MODIFY_TASK mit EXTERNAL_STATUS, um den Status zu setzen, der für eine externe Aufgabe erwartet wird.

Syntax

MODIFY_TASK (RunID, [task name], [sequence number], EXTERNAL_STATUS , status)

Parameter

Beispiel

Im folgenden Beispiel erwartet der MM.DAY Workflow einen ENDED_OK-Status von der externen Aufgabe MM.GET.FILES.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "MM.GET.FILES",, EXTERNAL_STATUS, "ENDED_OK")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Definition der Sonst-Aktion einer externen Abhängigkeit

Verwenden Sie MODIFY_TASK mit EXTERNAL_ELSE_ACTION, um die zu ergreifende Maßnahme zu definieren, wenn eine externe Aufgabe nicht den erwarteten Status erhält oder nicht innerhalb der erwarteten Zeit endet.

Syntax

MODIFY_TASK (RunID, [task name], [sequence number], EXTERNAL_ELSE_ACTION , WAIT|SKIP|CANCEL [, Alarm object] )

Parameter

Beispiel

Im folgenden Beispiel wird der MM.DAY-Workflow abgebrochen, wenn die externe Aufgabe MM.GET.FILES nicht wie erwartet endet. Wenn das Script den Workflow abbricht, startet es ein Benachrichtigungsobjekt namens DAYSHIFT.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "MM.GET.FILES",, EXTERNAL_ELSE_ACTION, "CANCEL", "DAYSHIFT")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Definition der Timeout-Einstellung einer externen Abhängigkeit

Verwenden Sie MODIFY_TASK mit EXTERNAL_TIMEOUT_ACTION, um die Timeout-Einstellung einer externen Aufgabe zu definieren, wenn Sie WAIT verwenden, und definieren Sie eine Sonst-Aktion.

Syntax

MODIFY_TASK (RunID, [task name], [sequence number], EXTERNAL_TIMEOUT_ACTION , timeout length, WAIT|SKIP|CANCEL[, Alarm object])

Parameter

Beispiel

Im folgenden Workflow besteht eine externe Abhängigkeit von einer Aufgabe mit dem Namen MM.GET.FILES. Der Workflow überspringt die externe Aufgabe, wenn die Aufgabe nicht wie erwartet innerhalb einer Stunde endet.

:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &RET# = MODIFY_TASK(&RUNID#, "MM.GET.FILES",, EXTERNAL_TIMEOUT_ACTION, "01:00:00", "SKIP")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Ändert den Wert einer Variablen

Verwenden Sie MODIFY_TASK mit VALUE, um den Wert einer Variablen zu ändern, die auf der Registerkarte Variablen & Prompts gespeichert ist:

Syntax

MODIFY_TASK (RunID, task name, sequence number, VALUE,PROMPTSET NAME|<VALUE>, VARIABLE|NEW VARIABLE, "VALUE", [SELECT|DESELECT|CLEAR|SPACE])

Parameter

Beispiele

Im folgenden Beispiel aktiviert das Script einen Workflow und stoppt den Workflow bei Änderungen. Das Script erstellt eine Variable und weist der Variablen einen Wert zu.

:SET &RUNID# = ACTIVATE_UC_OBJECT("JOBP.NEW.01")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &MODIFY# = MODIFY_TASK(&RUNID#, "SCRI.NEW.01", 4, VALUE, "<VALUE>", "&&VARIABLE#", "Vienna")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Im folgenden Beispiel hat ein Script-Objekt ein zugewiesenes PromptSet. Das Script ändert die Werte der PromptSet-Variablen CKG#, d.h. ein Array von Werten aus einem Checklisten-Control. Die Parameter in MODIFY_TASK, VALUE wählen den Wert „Test01“ aus der Variable PromptSet aus.

:SET &RUNID# = ACTIVATE_UC_OBJECT("JOBP.NEW.01")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &MODIFY#= MODIFY_TASK(&RUNID#, "SCRI.NEW.01", 4, VALUE, "PRPT.NEW.01", "CKG#", "Test01", SELECT)
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Im folgenden Beispiel wird der Wert der PromptSet-Variablen Textfield01# auf mytextfieldvalue gesetzt.

:SET &RUNID# = ACTIVATE_UC_OBJECT("JOBP.NEW.01")
:SET &RETSTOP# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
:SET &MODIFY# = MODIFY_TASK(&RUNID#, "SCRI.NEW.01", 4, VALUE, "PRPT.NEW.01", "Textfield01#", "mytexfieldvalue")
:SET &RETCOMMIT# = MODIFY_TASK(&RUNID#, COMMIT)
:SET &RETGO# = MODIFY_TASK(&RUNID#, GO)

Siehe auch: