MODIFY_TASK
Utilisez la fonction de script MODIFY_TASK pour modifier des workflows actifs et les tâches de workflows actifs. MODIFY_TASK vous permet de modifier les propriétés d'une tâche d'un workflow spécifique, sans éditer les définitions de l'objet. Les propriétés de la tâche dans le workflow remplacent les paramètres de la définition d'objet. Pour plus d'informations, voir Propriétés des tâches dans les workflows.
Cette rubrique contient les sujets suivants :
Présentation
Avant et après avoir effectué des modifications avec MODIFY_TASK, vous devez systématiquement modifier le statut du workflow avec les lignes de script MODIFY_TASK préliminaires. Lorsque vous modifiez un workflow avec MODIFY_TASK, respectez la séquence suivante :
- Utilisez MODIFY_TASK avec le paramètre STOP_MODIFY pour interrompre le workflow et permettre l'édition.
- Utilisez MODIFY_TASK avec d'autres paramètres pour apporter une ou plusieurs modifications au workflow.
- Utilisez MODIFY_TASK avec le paramètre COMMIT pour activer vos modifications.
- Utilisez MODIFY_TASK avec le paramètre GO pour faire démarrer le workflow.
La syntaxe de base de cette fonction de script se compose des éléments suivants :
MODIFY_TASK (RunID, parameters, KEYWORD)
Où :
- MODIFY_TASK
Modifie un workflow actif - RunID
RunID du workflow actif à modifier - parameters
Un ou plusieurs paramètres spécifient la tâche à modifier ou d'autres paramètres selon la modification - KEYWORD
Spécifie l'action à entreprendre
Tous les mots-clés sont décrits dans cette rubrique.
Remarque : Certains mots clés ont des paramètres supplémentaires après le mot-clé.
Important !
- Vous devez écrire les paramètres de MODIFY_TASK selon l'ordre dans lequel ils sont cités dans les exemples de syntaxe de cette rubrique.
- Vous devez utiliser les virgules comme dans les exemples de syntaxe, même si vous supprimez certains paramètres.
Plusieurs modifications que vous pouvez effectuer avec MODIFY_TASK impliquent de spécifier une tâche particulière. Utilisez un ou les deux paramètres suivants pour spécifier la tâche :
- nom tâche
Nom de la tâche
Remarque : Utilisez START ou END pour modifier la boîte de début ou de fin d'un workflow.
Format : littéral de script, nombre ou variable de script. - numéro de séquence
Numéro de séquence de la tâche
Le numéro de séquence se réfère au numéro dans le workflow, tel que 3 pour la troisième tâche. Le numéro de séquence s'affiche dans la boîte de tâches de l'éditeur de workflows. Le numéro de séquence n'est pas le RunID. Pour plus d'informations, voir Boîte de la tâche.
Format : littéral de script, nombre ou variable de script.
Remarques :
- Si vous spécifiez le nom de la tâche et le numéro de séquence, assurez-vous qu'ils correspondent à la même tâche.
- En présence de plusieurs tâches de même nom dans le workflow et si vous ne spécifiez pas de numéro de séquence, le système utilise la tâche ayant le plus petit numéro.
Exemple de scénario
Vous souhaitez ajouter des tâches à un workflow actif. Cet exemple montre comment combiner les fonctions MODIFY_TASK avec plusieurs mots-clés pour ajouter et placer les tâches, et créer les dépendances nécessaires.
Prérequis :
- Objet Workflow
Pour les besoins de l'exemple, le workflow a actuellement une tâche enfant. - Deux objets exécutables (Tâche.01 et Tâche.02)
Objectifs :
- Les deux tâches dépendent de leurs prédécesseurs dans le workflow :
- Tâche.01 démarre au début du workflow.
- Tâche.02 démarre après que Tâche.01 se termine.
- Le workflow se termine dès que Tâche.02 se termine.
Écrivez le script suivant dans la page Traitement de la tâche enfant actuellement dans le workflow.
Syntaxe
: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)
Paramètres
- SYS_ACT_PARENT_NR
Extrait le RunID du workflow contenant la tâche. - PRINT
Ecrit le RunID extrait dans le rapport d'activation - MODIFY_TASK
Modifie un workflow ou une tâche de workflow - STOP_MODIFY
Interrompt un workflow à des fins de modification - ADD_TASK
Ajoute une tâche au workflow - MOVE_TASK
Déplace la tâche ajoutée à l'emplacement souhaité (identifié par la colonne et la ligne) dans le workflow - ADD_DEPENDENCY
Trace une ligne vers le prédécesseur de la tâche ajoutée pour créer une dépendance - REMOVE_DEPENDENCY
Supprime la ligne vers une tâche prédécesseur pour supprimer la dépendance - COMMIT
Valide les modifications du workflow - GO, FORCED
Redémarre le workflow, même si un autre utilisateur l'a ouvert pour l'éditer
Codes retour
Selon le type de modification, les codes retour de MODIFY_TASK sont les suivants.
- 0
La modification est réussie. - 9
Vous n'êtes pas autorisé à modifier la tâche spécifiée à l'exécution - 20591
Un workflow avec ce RunID n'existe pas ou n'est plus actif. - 20738
La tâche est dans un statut pour lequel les modifications ne sont pas possibles - 20739
La tâche ne peut pas être modifiée, car elle est en cours de modification par un autre utilisateur. - 20740
Le type d'objet spécifié n'est pas valide - 20741
Il n'y a aucune tâche correspondant au RunID et / ou nom spécifié - 20742
Le RunID et le nom de tâche spécifiés ne correspondent pas à la même tâche - 20743
La tâche ne peut pas être modifiée car le workflow correspondant n'a pas été arrêté pour des fins d'édition - 20744
La tâche ne peut pas être modifiée, car elle est dans un statut où elle ne peut pas être modifiée. - 20745
La tâche ne peut pas être modifiée parce que la valeur n'est pas autorisée. - 20746
La dépendance existant déjà, elle ne peut pas être ajoutée - 20747
Une dépendance ne peut pas être modifiée, car elle est dans un état où elle ne peut pas être modifiée - 20748
La tâche ne peut pas être ajoutée car cette position est déjà occupée par une autre tâche - 20749
Le type objet de la tâche indiquée n'est pas valide. - 20750
La fonction ne peut être traitée pour cette tâche avec ce RunID particulier en raison d'une erreur précédente - 20752
Les tâches externes ne peuvent être remplacées que par des tâches externes - 20753
Vous ne pouvez pas remplacer <START>, ni <END> - 20754
<START> ne peut pas avoir de prédécesseur - 20755
<END> ne peut pas avoir de successeur - 20756
Les tâches externes ne peuvent pas avoir de prédécesseur - 20757
La tâche spécifiée pour la modification d'une dépendance externe n'est pas valide - 20758
Les dépendances externes ne peuvent pas être indiquées
Les codes retour de MODIFY_TASK, ADD_TASK sont les suivants :
- Numéro de séquence de la tâche ajoutée au workflow
- 0 - la tâche n'a pas pu être ajoutée
Les codes retour de MODIFY_TASK, REPLACE_TASK et MODIFY_TASK, CLONE_AND_REPLACE_TASK sont les suivants :
- Numéro de séquence de la tâche ajoutée au workflow
- 0 - la tâche n'a pas pu être remplacée
Arrêter, valider des modifications et démarrer le workflow
Utilisez MODIFY_TASK avec les paramètres de statut pour arrêter le workflow, effectuer vos modifications et les valider, et redémarrer le workflow. Vous devez arrêter et démarrer le workflow pour utiliser les autres paramètres MODIFY_TASK décrits dans cette rubrique.
Syntaxe
MODIFY_TASK (RunID, status [, FORCED])
Paramètres
- status
Statut à appliquer au workflow
Format: Nom AE, littéral de script ou variable de script
Valeurs autorisées :- COMMIT
Active les modifications sans démarrer le Workflow - GO
Démarre un Workflow arrêté.
Utilisez le paramètre FORCED pour démarrer un Workflow même si son moniteur est ouvert pour modifications - STOP
Arrête le Workflow - STOP_MODIFY
Interrompt un workflow à des fins de modification
- COMMIT
- FORCED
(Optionnel) Démarre un workflow même si son moniteur est ouvert à des fins de modification
Utilisez ce mot-clé en le combinant au statut GO.
Important ! Les modifications effectuées par un autre utilisateur seront perdues si vous interrompez le workflow pendant l'édition.
Remarques :
- Vous ne pouvez arrêter et démarrer que d'autres workflows, pas le workflow contenant le script lui-même.
- Vous ne pouvez pas utiliser MODIFY_TASK pour éditer le workflow contenant le script.
Exemples
L'exemple suivant illustre l'interruption du workflow MM.DAY pour vous permettre d'effectuer des modifications.
:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RET# = MODIFY_TASK(&RUNID#, STOP_MODIFY)
L'exemple suivant illustre le démarrage du workflow MM.DAY, même si un autre utilisateur est en train de l'éditer.
:SET &RUNID# = GET_UC_OBJECT_NR("MM.DAY")
:SET &RET# = MODIFY_TASK(&RUNID#, GO, FORCED)
Modifier le contenu d'un workflow
Les mots-clés suivants vous permettent de modifier le contenu d'un workflow actif :
- ADD_TASK
Ajoute une tâche dans le workflow - REPLACE_TASK ou CLONE_AND_REPLACE
Remplace une tâche dans le workflow - MOVE_TASK
Déplace une tâche dans le workflow vers une autre position dans le workflow - ACTIVE
Active ou désactive une tâche de workflow
Ajouter une tâche ou une dépendance externe
Utilisez MODIFY_TASK avec ADD_TASK pour ajouter une tâche à un workflow actif. Utilisez le mot-clé EXTERNAL pour ajouter une tâche en tant que dépendance externe.
La tâche ajoutée n'est pas reliée automatiquement aux autres tâches. Utilisez MODIFY_TASK avec ADD_DEPENDENCY pour tracer les lignes nécessaires. Utilisez MODIFY_TASK avec MOVE_TASK pour placer la tâche à l'emplacement qui convient dans le workflow.
Syntaxe
MODIFY_TASK (RunID, object name ,, ADD_TASK [, EXTERNAL [, Workflow name]] )
Paramètres
- object name
Nom de l'objet à insérer dans le workflow
Format : littéral de script, nombre ou variable de script. - ADD_TASK
Ajoute la tâche - EXTERNAL
(Optionnel) Ajoute une tâche en tant que dépendance externe - Workflow name
(Optionnel) Nom du Workflow dans laquelle se trouve la dépendance externe
Format : littéral de script ou variable de script
Remarques :
- Ajoutez 2 virgules après le paramètre object name. Ce troisième paramètre est le numéro de séquence d'une tâche dans le workflow. Il n'a aucune importance pour l'ajout d'une tâche.
- Si le workflow est configuré pour que les tâches héritent de la priorité AE du workflow, la tâche que vous ajoutez en hérite également.
Conseil : Utilisez le numéro de séquence renvoyé par la fonction pour spécifier la tâche, lorsque vous apportez d'autres modifications à la tâche ajoutée.
Exemple
L'exemple suivant illustre l'ajout de l'objet FILE.INPUT au workflow MM.DAY.
: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)
Remplacer une tâche dans un workflow
Utilisez MODIFY_TASK avec REPLACE_TASK ou CLONE_AND_REPLACE pour remplacer une tâche spécifique du workflow par un autre objet. Une dépendance externe ne peut être remplacée que par une dépendance externe, et une tâche régulière de workflow ne peut être remplacée que par une tâche régulière de workflow.
Syntaxe
MODIFY_TASK (RunID, [task name], [sequence number], REPLACE_TASK|CLONE_AND_REPLACE , object name [, EXTERNAL [, Workflow name]])
Paramètres
- REPLACE_TASK ou CLONE_AND_REPLACE
Remplace la tâche par l'objet spécifié- REPLACE_TASK
Le statut de l'ancienne tâche remplacée devient Inactive - CLONE_AND_REPLACE
L'ancienne tâche reste active
- REPLACE_TASK
- object name
Nom de l'objet qui doit remplacer la tâche
Format : littéral de script ou variable de script - EXTERNAL
Remplace une dépendance externe - Workflow name
Nom du Workflow dans laquelle se trouve la dépendance externe
Format : littéral de script ou variable de script
Exemple
L'exemple suivant illustre l'utilisation de la fonction MODIFY_TASK avec REPLACE_TASK pour remplacer une dépendance externe (MM.GET.FILES) par une autre dépendance externe (MM.FILE.INPUT).
: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)
Déplacer une tâche dans un workflow
Lorsque vous utilisez MODIFY_TASK pour ajouter une tâche, la tâche ajoutée est placée à un emplacement vide disponible du workflow. Utilisez MODIFY_TASK avec MOVE_TASK pour déplacer la tâche à l'emplacement souhaité du workflow. Spécifiez la colonne et la ligne de l'emplacement vide souhaité.
Syntaxe
MODIFY_TASK (RunID, [task name], [sequence number], MOVE_TASK , Column, Line)
Paramètres
- MOVE_TASK
Déplace la tâche - Column
Numéro de la colonne dans laquelle la tâche doit être déplacée
Format : littéral de script, nombre ou variable de script. - Line
Numéro de la ligne dans laquelle la tâche doit être déplacée
Format : littéral de script, nombre ou variable de script.
Exemple
Le script suivant déplace la tâche FILE.INPUT vers la quatrième ligne de la première colonne.
: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)
Activer ou désactiver une tâche de workflow
Utilisez MODIFY_TASK avec ACTIVE pour activer ou désactiver une tâche.
Syntaxe
MODIFY_TASK (RunID, [Task name], [sequence number], ACTIVE , YES|NO)
Paramètres
- ACTIVE
Le statut de la tâche bascule sur Actif ou Inactif - YES ou NO
Détermine le statut de la tâche :- YES
Active la tâche de workflow
Le traitement commence à l'heure de début spécifiée. - NO
Désactive la tâche de workflow
Le traitement ne commence pas à l'heure de début.
- YES
Exemple
Dans l'exemple suivant, le statut de la tâche FILE.INPUT dans le workflow MM.DAY passe à Inactif.
: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)
Onglet Général
Les mots-clés suivants vous permettent de modifier les propriétés définies dans l'onglet Général d'une tâche de workflow :
- ALIAS
Modifie l'alias d'une tâche ou d'une dépendance externe dans un workflow actif - ALIAS_PARENT
Modifie l'alias du workflow d'une dépendance externe - BREAKPOINT
Ajoute ou supprime un point d'arrêt dans une tâche de workflow
Pour plus d'informations sur les propriétés générales des tâches de workflows, voir l'Onglet Général.
Modifier l'alias d'une tâche
Utilisez MODIFY_TASK avec ALIAS pour modifier l'alias d'une tâche ou d'une dépendance externe dans un workflow actif.
Remarque : Vous ne pouvez modifier que l'alias des tâches du workflow et des dépendances externes que vous avez ajoutées avec une instruction MODIFY_TASK, ADD_TASK dans le script.
Syntaxe
MODIFY_TASK (RunID,[Task name], [sequence number],ALIAS|ALIAS_PARENT, New Alias|New Parent Alias)
Paramètres
Les paramètres de cette fonction sont les suivants :
- ALIAS ou ALIAS_PARENT
Modifie le nom d'alias d'une tâche ou une dépendance externe dans le Workflow
Utilisez ALIAS_PARENT pour modifier l'alias du workflow d'une dépendance externe (uniquement pour les tâches externes dérivées d'un workflow différent). - Nom de l'alias ou Nom de l'alias parent
Nouveau nom de l'alias
Format : Nom AE, littéral de script, nombre ou variable de script
Pour plus d'informations sur les noms d'alias, voir Onglet Général.
Exemple
L'exemple suivant illustre l'ajout d'un transfert de fichier au workflow et la modification de l'alias de la tâche. Le code retour de MODIFY_TASK, ADD_TASK le numéro de séquence de la tâche ajoutée qui est enregistré dans une variable de script (&NR#). La variable de script est utilisée pour spécifier l'alias à modifier.
: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)
Définir ou supprimer un point d'arrêt
Utilisez MODIFY_TASK avec BREAKPOINT pour définir ou supprimer un point d'arrêt dans une tâche de workflow.
Syntaxe
MODIFY_TASK (RunID, [Task name], [sequence number], BREAKPOINT, YES|NO)
Paramètres
- BREAKPOINT
Définit ou supprime le point d'arrêt pour la tâche de workflow - YES ou NO
Détermine si le mot-clé ajoute ou supprime un point d'arrêt :- YES
Définit un point d'arrêt - NO
Supprime le point d'arrêt
- YES
Exemple
L'exemple suivant illustre l'utilisation de MODIFY_TASK avec le mot-clé BREAKPOINT pour définir un point d'arrêt pour la tâche FILE.INPUT.
: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)
Onglet Heure & dépendances
Les mots-clés suivants vous permettent de modifier les propriétés définies dans l'onglet Heure & dépendances d'une tâche de workflow :
- EARLIEST_START
Ajoute une heure de début au plus tôt à une tâche de workflow - LATEST_START
Ajoute ou supprime une heure de début au plus tôt pour une tâche de workflow - CHECKPOINT
Ajoute ou supprime un point de contrôle dans une tâche de workflow - DEPENDENCY_STATE_MATCH
Nombre de statuts de la tâche prédécesseur devant s'appliquer
Pour plus d'informations sur les propriétés d'heure et de dépendances, voir Heure & dépendances.
Ajouter ou supprimer une heure de début ou de fin
Utilisez MODIFY_TASK avec un mot-clé de début ou de fin pour ajouter ou supprimer l'heure de début ou de fin dans un workflow actif.
Syntaxe
MODIFY_TASK (RunID, [Task name], [sequence number], KEYWORD, Timestamp [, Time zone])
Paramètres
- KEYWORD
Ajoute ou supprime l'heure de début ou de fin de la tâche :- EARLIEST_START
Ajoute ou supprime l'heure de début au plus tôt de la tâche - LATEST_START
Ajoute ou supprime l'heure de début au plus tard de la tâche - LATEST_END
Ajoute ou supprime l'heure de fin au plus tard de la tâche
- EARLIEST_START
- Timestamp
Définit l'heure
Format : littéral de script ou variable de script
Valeurs autorisées : JJ/HH:MM [, fuseau horaire]
est Où :- JJ
Nombre de jours à ajouter à la date actuelle - HH:MM
Heure - Fuseau horaire
(Optionnel) Nom d'un objet Fuseau horaire pour convertir l'heure dans un fuseau horaire spécifique
Format : littéral de script ou variable de script
Pour plus d'informations, voir Fuseau horaire (TZ).
- JJ
Remarque : La valeur de comparaison pour l'heure de début au plus tôt est la date réelle (l'heure de génération du workflow supérieur). Pour plus d'informations, voir Date logique et date réelle
Exemples
L'exemple suivant illustre la définition de l'heure de début au plus tôt pour la tâche 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)
L'exemple suivant illustre la définition de l'heure de début au plus tard pour la tâche.
: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)
L'exemple suivant illustre la définition de l'heure de fin au plus tard pour la tâche.
: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)
Ajouter ou supprimer un point de contrôle
Utilisez MODIFY_TASK avec CHECKPOINT pour ajouter ou supprimer le point de contrôle d'une tâche dans un workflow actif.
Syntaxe
MODIFY_TASK (RunID, [task name], [sequence number], CHECKPOINT, timestamp [, Time Zone] [, Alarm object])
Paramètres
- CHECKPOINT
Place ou retire un point de contrôle - Alarm object
Objet (optionnel) à démarrer lorsque le point de contrôle est dépassé.
Format : littéral de script ou variable de script
Exemple
L'exemple suivant illustre la définition d'un point de contrôle dans une tâche appelée FILE.INPUT et faisant partie du workflow MM.DAY. Lorsque le point de contrôle est écoulé, un objet Notification nommé EQUIPE DE JOUR démarre.
: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)
Déterminer le nombre de statuts de prédécesseurs requis
Utilisez MODIFY_TASK avec DEPENDENCY_STATE_MATCH pour définir s'il faut appliquer un ou plusieurs statuts prédécesseurs avant de traiter la tâche de workflow. Dans l'onglet Heure & dépendances des propriétés de la tâche, le paramètre est nommé Exécuter cette tâche si tous les statuts correspondent / au moins une condition correspond.
Syntaxe
MODIFY_TASK (RunID, [Task name], [sequence number], DEPENDENCY_STATE_MATCH , ALL|ONE)
Paramètres
- DEPENDENCY_STATE_MATCH
Spécifie le nombre de statuts des prédécesseurs devant correspondre - ALL ou ONE
Nombre de statuts prédécesseurs à appliquer :- ALL
Tous les statuts doivent correspondre - ONE
Au moins un statut doit correspondre
- ALL
Exemple
Les exemples suivants illustrent l'utilisation deMODIFY_TASK avec le mot-clé DEPENDENCY_STATE_MATCH pour garantir que tous les prédécesseurs de la tâche FILE.INPUT aient le statut attendu avant que la tâche ne soit traitée.
: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)
Ajouter, modifier ou supprimer la dépendance d'une tâche de workflow
Utilisez MODIFY_TASK avec le mot-clé DEPENDENCY pour ajouter, supprimer ou modifier la dépendance d'une tâche de workflow. Cette fonction ajoute, supprime ou modifie des lignes reliant des tâches dans l'éditeur de workflows.
Syntaxe
MODIFY_TASK (RunID, [successor task name], [sequence number], ADD_DEPENDENCY|MODIFY_DEPENDENCY|REMOVE_DEPENDENCY, [source task name] , [sequence number], status)
Paramètres
- successor task name ou sequence number
Nom ou numéro de séquence de la tâche successeur de la dépendance
Format : littéral de script, nombre ou variable de script. - ADD_DEPENDENCY ou MODIFY_DEPENDENCY ou REMOVE_DEPENDENCY
Ajoute, modifie ou supprime la dépendance - source task name ou sequence number
Nom ou numéro de séquence de la tâche dont vous souhaitez modifier la dépendance
Format : littéral de script, nombre ou variable de script. - status
Statut attendu de la tâche précédente à la fin de son exécution
Format : littéral de script ou variable de script
Remarque : Il n'est pas nécessaire de spécifier le statut lorsque vous supprimez une dépendance.
Valeurs autorisées :- End status
Statut attendu de la tâche précédente
Exemple : ENDED_OK - NONE
Le statut de fin de la tâche précédente n'est pas surveillé
- End status
Pour plus d'informations sur la spécification des noms de tâches et les numéros d'exécutions, voir Syntaxe et paramètres .
Exemple
L'exemple suivant illustre l'édition des dépendances du workflow :
- La 4ème tâche requiert la boîte Start pour obtenir le statut ENDED_OK.
- La 9ème tâche requiert la 8ème tâche pour obtenir le statut ANY_OK.
- La dépendance de la 11ème tâche sur la 10ème tâche est supprimée.
: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)
Définir l'action à entreprendre lorsque les dépendances ne sont pas accomplies
Utilisez MODIFY_TASK avec DEPENDENCY_ELSE_ACTION pour définir l'action à entreprendre lorsqu'une dépendance n'est pas accomplie.
Syntaxe
MODIFY_TASK (RunID, [Task name], [sequence number], DEPENDENCY_ELSE_ACTION , ABORT|BLOCK|BLOCK_ABORT|SKIP [ , Alarm object] )
Paramètres
- DEPENDENCY_ELSE_ACTION
Détermine qu'il faut entreprendre une action lorsque les dépendances ne sont pas accomplies comme attendu - ABORT, BLOCK, BLOCK_ABORT ou SKIP
Définit l'action à entreprendre :- ABORT
Arrête la tâche et le workflow - BLOCK
Bloque le Workflow à la tâche précédente - BLOCK_ABORT
Bloque le workflow sur la tâche précédente et envoie un message d'interruption au workflow parent, le cas échéant - SKIP
Ignore la tâche de workflow
- ABORT
- Alarm object
Nom d'objet Notification de type Alarme à démarrer lorsque le point de contrôle est dépassé
Format : littéral de script ou variable de script
Exemple
Dans l'exemple, la tâche FILE.INPUT est ignorée lorsque les conditions de la dépendance ne sont pas remplies.
: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)
Onglet Exécution
Les paramètres suivants vous permettent de modifier les propriétés définies dans l'onglet Général d'une tâche de workflow. Pour plus d'informations, voir Propriétés de la durée d'exécution.
Syntaxe
MODIFY_TASK (RunID, [task name], [sequence number], runtime option, value )
Paramètres
- runtime option
Paramètre d'exécution à éditer - value
Définit la valeur du paramètre, selon le paramètre d'exécution à éditer
Option d'exécution :
-
RUNTIME_USE_TASK_SETTINGS
Utilise les paramètres MRT et SRT de la tâche
Valeurs autorisées :- YES
Utilise les paramètres définis pour la tâche dans l'onglet Exécution (propriétés de la tâche dans le workflow) - NO
Utilise les paramètres définis pour la tâche dans la page Exécution de la définition d'objet
- YES
-
RUNTIME_MRT_NONE
Pas de durée maximale d'exécution spécifiée
Pas de valeur à saisir. -
RUNTIME_MRT_FIXED
Utilise une valeur fixe pour la durée maximale d'exécution
Valeurs autorisées : Valeur fixe au format HHHH:MM:SS -
RUNTIME_MRT_ERT
Utilise l'ERT + un pourcentage pour la durée maximale d'exécution
Valeurs autorisées : Pourcentage
Exemple : Écrire 50 pour ajouter 50% à la durée d'exécution maximale. -
RUNTIME_MRT_TIME
Utilise la date actuelle plus une période pour la durée maximale d'exécution
Valeurs autorisées : JJ/HH:MM [, fuseau horaire]
Où :- JJ
Nombre de jours à ajouter à la date actuelle - HH:MM
Heure - Time zone
Nom (optionnel) d'un objet Fuseau horaire pour convertir l'horodatage
- JJ
-
RUNTIME_SRT_NONE
Pas de durée minimale d'exécution
Pas de valeur à saisir. -
RUNTIME_SRT_FIXED
Valeur fixée pour la durée minimale d'exécution
Valeurs autorisées : Valeur fixe au format HHHH:MM:SS -
RUNTIME_SRT_ERT
Utilise l'ERT moins un pourcentage pour la durée minimale d'exécution
Valeurs autorisées : Pourcentage -
RUNTIME_ELSE_ACTION
Définit l'action à entreprendre lorsque la durée d'exécution réelle n'est pas la même que celle attendue
Valeurs autorisées : CANCEL|NONE [, objet Alarm]
Où :- CANCEL
Interrompt ou termine la tâche - NONE
N'entreprend aucune action - Alarm object
(Optionnel) Nom d'un objet Notification de type Alarme devant démarrer lorsque la durée d'exécution attendue est dépassée
- CANCEL
Exemple
L'objet notification DAYSHIFT démarre si l'exécution de la tâche FILE.INPUT dure plus de deux heures. Le script supprime également tout paramètre d'exécution minimale.
: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)
Onglet Dépendance externe
Les mots-clés suivants vous permettent de modifier les paramètres de l'onglet Dépendances externes d'une tâche externe de workflow.
- EXTERNAL_SATISFACTION
Défini l'heure de fin attendue d'une tâche externe - EXTERNAL_STATUS
Définit le statut attendu d'une tâche externe - EXTERNAL_ELSE_ACTION
Définit l'action à entreprendre lorsqu'une tâche externe ne satisfait pas aux attentes - EXTERNAL_TIMEOUT_ACTION
Définit l'action à entreprendre lorsqu'une tâche externe expire
Pour plus d'informations :
Définir les paramètres d'exécution d'une dépendance externe
Utilisez MODIFY_TASK avec EXTERNAL_SATISFACTION pour définir la manière dont le workflow doit traiter une dépendance externe. Le workflow est configuré pour que la tâche externe démarre ou se termine à une heure précise, par exemple avant ou après le démarrage du workflow actuel. EXTERNAL_SATISFACTION vous permet de modifier les paramètres qui déterminent le délai attendu.
Syntaxe
MODIFY_TASK (RunID, [task name], [sequence number],EXTERNAL_SATISFACTION , lead time satisfaction [, duration])
Paramètres
- EXTERNAL_SATISFACTION
Définit la satisfaction du délai - lead time satisfaction
Définit quand la dépendance externe est considérée comme satisfaisant les attentes :- LOGICAL_DATE
Vérifie si la tâche externe a été activée avec la même date logique que le workflow - LAST_EXECUTION
Vérifie si la fin de la tâche externe est postérieure à la dernière exécution du workflow - BEFORE_START
Vérifie si la fin de la tâche externe est dans la période antérieure au démarrage du workflow - AFTER_START
Vérifie si la fin de la tâche externe est postérieure au début du workflow actuel
- LOGICAL_DATE
- duration
(BEFORE_START uniquement) Période au format HH:MM:SS
Format : littéral de script ou variable de script
Exemple
Dans l'exemple suivant, le délai de la dépendance externe MM.GET.FILES commence au démarrage du workflow.
: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)
Définir le statut attendu d'une dépendance externe
Utilisez MODIFY_TASK avec EXTERNAL_STATUS pour définir le statut attendu pour une tâche externe.
Syntaxe
MODIFY_TASK (RunID, [task name], [sequence number], EXTERNAL_STATUS , status)
Paramètres
- EXTERNAL_STATUS
Définit ou supprime le statut attendu d'une tâche externe - status
Statut attendu de la tâche externe :- End status
Statut, tel que ENDED_OK - NONE
Le système vérifie seulement que la tâche s'est terminée dans le délai imparti, indépendamment de son statut
- End status
Exemple
Dans l'exemple suivant, le workflow MM.DAY attend un statut ENDED_OK de la part de la tâche externe nommée 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)
Définir l'action Else (Sinon) d'une dépendance externe
Utilisez MODIFY_TASK avec EXTERNAL_ELSE_ACTION pour définir l'action à entreprendre si une tâche externe n'obtient pas le statut attendu ou ne se termine pas dans le délai attendu.
Syntaxe
MODIFY_TASK (RunID, [task name], [sequence number], EXTERNAL_ELSE_ACTION , WAIT|SKIP|CANCEL [, Alarm object] )
Paramètres
- EXTERNAL_ELSE_ACTION
Détermine l'action à entreprendre si une tâche externe n'obtient pas le statut attendu au moins une fois, ou ne se termine pas dans le délai attendu - WAIT, SKIP ou CANCEL
Définit l'action à entreprendre :- WAIT
Attend que la tâche externe se termine
Remarque : Utilisez MODIFY_TASK avec EXTERNAL_TIMEOUT_ACTION pour définir le délai d'expiration de l'action. - SKIP
Ignore la tâche externe - CANCEL
Interrompt le Workflow
- WAIT
- Alarm object
(Optionnel) Nom d'un objet Notification de type Alarme devant démarrer lorsqu'un délai expire
Format : littéral de script ou variable de script
Exemple
Dans l'exemple suivant, le workflow MM.DAY s'interrompt si la tâche externe MM.GET.FILES ne se termine pas comme attendu. Lorsque le script interrompt le workflow, il fait démarrer un objet Notification appelé 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)
Définir le délai d'expiration d'une dépendance externe
Utilisez MODIFY_TASK avec EXTERNAL_TIMEOUT_ACTION pour définir le délai d'expiration d'une tâche externe lorsque vous utilisez WAIT et définissez une action Else.
Syntaxe
MODIFY_TASK (RunID, [task name], [sequence number], EXTERNAL_TIMEOUT_ACTION , timeout length, WAIT|SKIP|CANCEL[, Alarm object])
Paramètres
- EXTERNAL_TIMEOUT_ACTION
Détermine le temps d'attente lorsque vous définissez une action Else avec WAIT - timeout length
Durée du délai d'expiration au format HH:MM:SS
Format : littéral de script ou variable de script - WAIT, SKIP ou CANCEL
Définit l'action à entreprendre :- WAIT
Attend que la tâche externe se termine - SKIP
Ignore la tâche externe - CANCEL
Interrompt le Workflow
- WAIT
- Alarm object
(Optionnel) Nom d'un objet Notification de type Alarme devant démarrer lorsqu'un délai expire
Format : littéral de script ou variable de script
Exemple
Le workflow suivant contient une dépendance externe sur une tâche appelée MM.GET.FILES. Le workflow ignore la tâche externe si la tâche ne se termine pas en 1 heure, comme attendu.
: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)
Modifier la valeur d'une variable
Utilisez MODIFY_TASK avec VALUE pour modifier la valeur d'une variable enregistrée dans l'onglet Variables & Prompts :
- Variable d'objet
Modifie la valeur d'une variable existante ou crée une nouvelle variable avec la valeur spécifiée. - Variable PromptSet
Modifie la valeur d'une variable existante d'un PromptSet.
Syntaxe
MODIFY_TASK (RunID, task name, sequence number, VALUE,PROMPTSET NAME|<VALUE>, VARIABLE|NEW VARIABLE, "VALUE", [SELECT|DESELECT|CLEAR|SPACE])
Paramètres
- VALUE
Modifie la valeur d'une variable :- Modifie la valeur d'une variable d'objet existant ou crée une nouvelle variable d'objet
- Modifie la valeur d'une variable PromptSet existante
- PromptSet name ou <VALUE>
Spécifie la variable :- Nom PromptSet
Nom de l'objet PromptSet - <VALUE>
Nom de la variable d'objet.
- Nom PromptSet
- variable
(Variables d'objets uniquement) Nom de la nouvelle variable si la variable d'objet n'existe pas encore
Remarque : Écrivez le nom de la variable sans le ET commercial du début - value
(Optionnel) Valeur à appliquer à la variable
Remarque : Si vous modifiez une variable PromptSet qui est un tableau, vous devez définir une valeur.
Format : littéral de script ou variable de script - SELECT, DESELECT, CLEAR ou SPACE
(Optionnel) Modifie les valeurs sélectionnées dans la variable :- SELECT
(Variables PromptSet tableaux uniquement) Sélectionne les lignes d'un tableau - DESELECT
(Variables PromptSet tableaux uniquement) Désélectionne les lignes d'un tableau - CLEAR
(Variables PromptSet tableaux uniquement) Désélectionne toutes les lignes d'un tableau - SPACE (par défaut)
Remplace la variable PromptSet ou la valeur de variable d'un objet par un texte vide
- SELECT
Exemples
Dans l'exemple suivant, le script active un workflow et interrompt le workflow pour effectuer des modifications. Le script crée une variable et lui affecte une valeur.
: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)
Dans l'exemple suivant, un promptset est affecté à un objet Script. Le script modifie les valeurs de la variable PromptSet CKG#, qui est un tableau de valeurs provenant d'une commande de liste de contrôle. Les paramètres dans MODIFY_TASK, VALUE sélectionnent la valeur Test01 à partir de la variable PromptSet.
: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)
Dans l'exemple suivant, la valeur de la variable PromptSet Textfield01# est mytextfieldvalue.
: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)
See also: