Il vous est possible de lier les sous-tâches d’une tâche principale (et aussi les tâches d’un projet ou d’une phase) pour former un flux de production sur une base de données partagées ou d’un ensemble de conditions d’état. Compte tenus de deux sous-tâches S1 et S2, vous pouvez établir les spécifications suivantes concernant leurs données d’entrée et de sortie :
o Pour la sous-tâche S2, on spécifie comme données d’entrée un document D qui appartient aux données de sortie de S1. Ainsi, S2 ne peut démarrer que si S1 est terminée et que le document D a été publié. Il existe une relation de livraison entre les deux sous-tâches : S1 délivre D à S2.
o De même, on peut spécifier comme données de sortie de S1 le document D qui appartient aux données d’entrée de S2. L’effet est le même ; la différence dans la procédure dépend de quelle sous-tâche a été créée en premier, S1 ou S2.
Vous pouvez également relier les sous-tâches à la tâche principale, par exemple en prenant en compte les données d’entrée de la tâche principale comme données d’entrée d’une sous-tâche ou en déclarant des données de sortie d’une sous-tâche comme une partie des données de sortie de la tâche principale. Ainsi, l’élaboration de la tâche principale peut être totalement ou partiellement distribuée aux sous-tâches.
Si vous spécifiez, par exemple un champ de données d’entrée d’une sous-tâche comme champ de données d’entrée de la tâche principale, la tâche principale et la sous-tâche partagent ce champ de données. Les tâches qui partagent un champ de données partagent également la valeur contenue quand elle est libérée. Ceci entraîne que la valeur du champ de données est copiée de la tâche principale à la sous-tâche lorsque celle-ci est disponible, dans notre exemple lorsque la tâche principale est effectivement démarrée. La valeur du champ de données ne peut être modifiée dans la sous-tâche de manière indépendante de la tâche principale.
Vous pouvez relier plusieurs sous-tâches pas uniquement par l’intermédiaire de champs de données concrets, mais également par des conditions préalables sur l’état de progression d’une sous-tâche qui est caractérisé par l’état de délivrance de ses données d’entrée et de sortie :
o <entrée libérée> : Les données d’entrée d’une tâche sont libérées par une action de tâche, par exemple par le démarrage du donneur d’ordre : celui-ci déclare les données d’entrée valides et ne peut alors les modifier. La tâche est dans un état démarré, engagé, ou probablement déjà fini, mais non à l’état initial, retiré ou annulé par exemple. La condition <entrée de S1 libérée> pour le démarrage d’une autre tâche entraîne que l’autre tâche peut démarrer dès que S1 change dans un état où ses données d’entrée sont disponibles.
<sortie libérée> : Les données de sortie d’une tâche sont livrées par une action de tâche (finir ou compléter) du preneur d’ordre : celui-ci déclare les données de sortie valides et ne peut alors les modifier. La tâche est dans un l’état fini, accepté ou complété), mais non à l’état démarré ou engagé. La condition <sortie de S1 libérée> pour le démarrage d’une autre tâche entraîne que l’autre tâche peut démarrer dès que S1 change dans un état où ses données de sortie sont disponibles.
Si vous souhaitez avoir une sous-tâche S2 démarrée uniquement après que la sous-tâche S1 ait été terminée, vous devez sélectionner la condition <sortie de S1 libérée> comme données d’entrée de S2. Si une tâche principale devrait être terminée que lorsque sa sous-tâche S2 a été terminée, vous devez sélectionner la condition <sortie de S2 libérée> comme données de sortie de la tâche principale.