MODIFY_UC_OBJECT
Script-Funktion: Ändert das Attribut eines aktivierten Objektes.
Syntax
MODIFY_UC_OBJECT (RUN#, Attribute, Value)
|
Syntax |
Beschreibung/Format |
|---|---|
|
RunID |
Laufende Nummer (RunID) des aktivierten Objektes Hinweis zur Verwendung des Attributs EARLIEST_STARTTIME: Bei der Verwendung dieses Attributes ist nicht die RunID der Aufgabe, sondern jene des Workflows, in dem sich die Aufgabe befindet, anzugeben. |
|
Attribute |
Attribut, welches geändert werden soll. |
|
Value |
Wert, der für das Attribut gesetzt wird. |
|
Rückgabewert |
|---|
|
"0" - Die Änderung des Attributes war erfolgreich. Für das Attribut IGNORE_SYNC gilt: Für das Attribut PRIORITY gelten: Für das Attribut RELEASE gelten: Für das Attribut RESPONSE gelten: Für das Attribut GR_MAX_PAR_JOBS gilt: Für die Attribute GOIMM, EARLIEST_STARTTIME und REMOVE_DEPENDENCY gilt folgendes: Für das Attribut GAP gilt: |
Die Attribute der in der folgenden Tabelle aufgeführten aktivierten Objekte können geändert werden. Die neuen Werte gelten nur für die aktuelle Ausführung der Aufgabe und werden nicht im Objekt gespeichert.
|
Objekttyp |
Attribut |
Wert |
|---|---|---|
|
CALL |
RESPONSE Reaktion auf einer Benachrichtigung |
"OK" = Benachrichtigung (Meldung) quittieren "YES" = Benachrichtigung (Rückfrage) mit "Ja" beantworten. "ACCEPT" = Benachrichtigung (Alarmierung) akzeptieren |
| JOBG | GR_MAX_PAR_JOBS Maximale Anzahl parallel laufender Aufgaben in einer Gruppe |
1 bis 999 parallel laufende Aufgaben. |
| JOBP | RELEASE Freigabe eines blockierten Workflows |
Laufende Nummer (RunID) der im Workflow blockierten Aufgabe. |
|
|
Für die folgenden drei Attribute muss sich die zu ändernde Aufgabe im Zustand "Warten auf Vorbedingung" befinden. |
|
|
|
GOIMM |
Name der Aufgabe. Diese darf im Workflow nur einmal vorkommen. |
|
|
EARLIEST_STARTTIME |
Geben Sie entweder eine früheste Startzeit oder das Schlüsselwort "OFF" an. In beiden Fällen benötigt die Script-Funktion auch den Namen der Aufgabe. Syntax für den Parameter Wert: Name der Aufgabe, [Zeitformat;]Zeit Die Startzeit wird der Aufgabe zugewiesen bzw. ersetzt eine bereits gesetzte. Die Script-Funktion erwartet das Zeitformat "HHMMSS", wenn Sie kein spezielles definieren. Das Schlüsselwort "OFF" entfernt eine vorhandene früheste Startzeit. |
|
|
REMOVE_DEPENDENCY |
Die Aufgabe ignoriert den erwarteten ereignisgesteuerten Endstatus (Registerkarte Zeit & Abhängigkeiten) des angegebenen Vorgängers. Das hat zur Folge, dass die Verarbeitung bei der Aufgabe fortgesetzt wird, sofern alle anderen Vorgänger schon beendet wurden. Syntax für den Parameter Wert: Name der Aufgabe [, Name des Vorgängers ] Wenn Sie keinen bestimmten Vorgänger angeben, werden alle Vorgänger ignoriert und die Aufgabe startet sofort. |
|
CALL, JOBF, JOBP, JOBS, JSCH, SCRI |
PRIORITÄT |
Erlaubte Werte: 0 bis 255 |
| Workflow-Aufgaben | IGNORE_CONDITIONS | Startet sofort eine Workflow-Aufgabe, die sich im Status "Warten auf Pre-Conditions" befindet. Der Parameter Wert ist dabei nicht anzugeben. Siehe Tabs Pre-Condition und Post-Condition. |
| Workflow-Aufgaben | CHECK_CONDITIONS | Prüfung der Bedingungen/Anweisungen einer Workflow-Aufgabe, die sich im Status "Warten auf Pre-Conditions" befindet, von vorne beginnen. Der Parameter Wert ist dabei nicht anzugeben. |
| CALL, EVNT, JOBF, JOBG, JOBP, JOBQ,JOBS, JSCH, SCRI | IGNORE_QUEUE |
Startet eine Aufgabe sofort, die sich auf Grund unzureichender Queue-Slots in einem Wartezustand befindet. Der Parameter Wert ist dabei nicht anzugeben. |
|
Alle ausführbaren Objekte |
IGNORE_SYNC |
Die Sync-Einstellungen werden ignoriert. Der Wert spielt dabei keine Rolle, dennoch ist dieser Parameter anzugeben. Beispiel MODIFY_UC_OBJECT( &RUNNR#, IGNORE_SYNC, "") |
|
Periodische Aufgaben |
GAP |
Ändert bei einer periodischen Aufgabe den zeitlichen Abstand zwischen den Durchführungen. Wert in Minuten. |
|
Alle ausführbaren Objekte |
SET_EXPRESS |
Startet sofort eine Aufgabe, die sich im Zustand "Warten auf Ressource" befindet (JOBS, JOBF und JOBD). Erlaubte Werte: "ON" und "OFF" |
Sie können eine Aufgabe nur dann mit dieser Script-Funktion ändern, wenn sie schon generiert ist, sich aber noch in einem Wartezustand befindet. Sie darf nicht die Option Zur Laufzeit generieren gesetzt haben. Verwenden Sie die Script-Anweisung :PUT_ATT, wenn eine Aufgabe bereits zum Generierungszeitpunkt verändert werden soll.
Tipp: Verwenden Sie die Script-Anweisung :ON_ERROR, um Maßnahmen zu definieren, die im Fehlerfall ergriffen werden sollen. Weitere Informationen finden Sie unter Script-Sprachmittel zur Fehlerbehandlung.
Das Script-Statement bewirkt, dass alle offenen Transaktionen des Scripts in die AE-Datenbank geschrieben werden. Weitere Informationen finden Sie unter Script-Verarbeitung.
Beispiele
Das erste Beispiel zeigt, wie eine Benachrichtigung (Rückfrage) quittiert wird. Die laufende Nummer (RunID) muss dafür vorher ermittelt und in der Script-Variablen "&RUNNR#" gespeichert worden sein.
:SET &RUNNR# = ACTIVATE_UC_OBJECT("Nightshift")
!...
:SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#,
RESPONSE, OK)
Im zweiten Beispiel wird eine Gruppe aktiviert und die RUN# in einer Script-Variablen gespeichert. Die Anzahl der parallel laufenden Aufgaben in der Gruppe wird auf "1" gesetzt. Vorgemerkte Aufgaben können danach nur seriell verarbeitet werden.
:SET &RUNNR# = ACTIVATE_UC_OBJECT("GRP7")
:SET &MODOBJ# = MODIFY_UC_OBJECT( &RUNNR#,
GR_MAX_PAR_JOBS, 1)
Die folgenden Beispiele zeigen Änderungen einer Aufgabe, die in einem Workflow läuft:
!The job "MM.CLOSING" should start
immediately.
:SET &RUNNR# = GET_UC_OBJECT_NR(MM.DAY)
:SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#, GOIMM, "MM.CLOSING")
!The job "MM.CLOSING" should not
run earlier than 3pm.
:SET &RUNNR# = GET_UC_OBJECT_NR(MM.DAY)
:SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#, EARLIEST_STARTTIME,
"MM.CLOSING","150000")
!The job "MM.CLOSING" should ignore
the earliest start time.
:SET &RUNNR# = GET_UC_OBJECT_NR(MM.DAY)
:SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#, EARLIEST_STARTTIME,
"MM.CLOSING",
OFF)
!The job "MM.CLOSING" should ignore
the dependency to the predecessor "MM.DAY_END".
:SET &RUNNR# = GET_UC_OBJECT_NR(MAWI.TAG)
:SET &MODOBJ# = MODIFY_UC_OBJECT(&RUNNR#, REMOVE_DEPENDENCY,
"MM.CLOSING",
"MM.DAY_END")
Siehe auch: