Date logique et date réelle
Les objets exécutables peuvent être configurés pour être exécutés à certains moments. Ils peuvent également faire partie d'autres objets exécutables, tels que des workflows et des schedules, qui automatisent leurs exécutions. Selon leur configuration et leurs conditions horaires et calendaires, vous pouvez déterminer une certaine date pour leurs exécutions. Automation Engine utilise deux dates : la date réelle et la date logique. La date réelle est la date actuelle à laquelle une tâche est générée. La date logique est une date artificielle définie soit manuellement par l'utilisateur, soit par un processus (un workflow ou un schedule).
-
Dans tous les types de tâches
La date réelle est l'heure d'activation de la tâche. Elle est utilisée pour vérifier les conditions horaires pouvant être utilisées pour calculer leur durée d'exécution maximale. Pour plus d'informations, voir Page Exécution.
-
Dans les workflows
La date réelle est déterminée quand le workflow supérieur est activé et elle est transmise à toutes ses tâches enfants. Autrement dit, la date réelle des tâches dans un workflow correspond à l'heure de génération du workflow. Elle est utilisée pour calculer et vérifier les conditions horaires pouvant être définies dans leurs propriétés :
- Dans l'onglet Heure et dépendances
- Dans l'onglet Exécution
Exemple :
Un workflow comportant plusieurs tâches est habituellement exécuté pendant longtemps. Il commence tous les jours à 16:00. La dernière tâche du workflow doit toujours être exécutée le jour suivant à 9:00. Cette condition horaire doit être définie dans l'onglet de propriétés Heure & dépendances de la tâche, en spécifiant la date réelle de début de la tâche comme suit :
Pour plus d'informations, voir Heure & dépendances et Propriétés de la durée d'exécution.
-
Dans les reprises
La date réelle de l'exécution de référence est utilisée, à condition que la tâche de référence soit encore visible dans la perspective Surveillance des processus. La visibilité de la tâche dépend des paramètres de l'objet dans la Section Désactivation automatique de la page Attributs. Sinon, c'est la date logique de l'exécution de référence qui est utilisée puisque les données historiques de la tâche dans la liste Exécutions n'incluent pas la date réelle.
Pour plus d'informations, voir Redémarrer des tâches.
-
Dans les schedules
La date réelle des tâches ayant été activées via un schedule correspond à l'heure de début définie pour les tâches du schedule.
Elle est également utilisée pour calculer et vérifier les conditions horaires pouvant être définies pour les tâches du schedule :
- Dans l'onglet Heure et dépendances
- Dans l'onglet Exécution
Pour plus d'informations, voir Définir les objets Schedule.
-
Dans des exécutions périodiques
La date réelle des tâches exécutées via l'option Exécution périodique correspond à l'heure de début planifiée puisque c'est le moment où les tâches sont activées et générées.
Pour plus d'informations, voir Exécuter des objets - Périodiquement.
-
Dans les exécutions avec option Une seule fois
La date réelle des tâches exécutées une seule fois à un certain moment dans le futur dépend de l'heure de génération spécifiée dans la Page Attributs.
-
Générer la tâche à : Heure d'activation
La date réelle est l'heure d'activation.
-
Générer la tâche à : L'exécution
La date réelle est la date de début planifiée de la tâche, puisque c'est le moment où elle est activée.
-
Date logique
Les dates logiques sont utilisées pour les calculs de calendriers dans les situations où vous devez spécifier un moment pour une exécution. Ce moment peut être dans le futur ou le passé. Supposons, par exemple qu'un workflow qui aurait dû être exécuté hier, ait échoué et que vous ayez besoin du rapport résultant de son exécution aujourd'hui. Vous pouvez exécuter le workflow manuellement via l'option Exécuter une fois et définir la date logique à hier.
Si vous ne spécifiez pas de date particulière pour l'exécution d'un objet, la date logique coïncide avec la date réelle. Dans les tâches de workflow, la date logique est héritée du workflow parent. C'est également le cas pour les workflows intégrés dans des workflows. Le workflow supérieur détermine la date logique de toute la structure.
La date logique se compose d'une date et d'une heure. Seule la date est importante pour les calculs du calendrier. L'heure sert à prendre en compte les changements de date qui peuvent résulter des fuseaux horaires ou des changements d'heure.
-
Dans les schedules
Les objets Schedule vous permettent de définir une durée de période de plusieurs jours. Les tâches de schedules peuvent être exécutées à différents jours de cette période. Par exemple, vous pouvez définir un schedule pour automatiser des opérations hebdomadaires. Après avoir défini le schedule et ajouté les tâches, vous devez l'activer. Pour ce faire, il suffit d'exécuter le schedule. Pour déterminer le début de la période, vous devez utiliser la date logique. Dans notre exemple, ce pourrait être le lundi, puisqu'il s'agit d'un schedule hebdomadaire. Dans ce cas, utilisez l'option Exécuter une fois qui vous permet de définir l'heure et la date logique.
-
Dans les reprises
En cas de reprise, la date logique correspond à celle de l'exécution de référence. En cas de reprise d'un workflow, elle est transmise à toutes les tâches subordonnées, comme lors d'une activation normale.
Exemple :
Vous devez lancer un workflow à longue exécution tous les jours à 16:00. La dernière tâche du workflow ne devant être exécutée qu'une seule fois par semaine les vendredis, une condition de calendrier lui a été affectée. Aujourd'hui, nous sommes vendredi et l'exécution du workflow dure trop longtemps. Nous sommes déjà samedi lorsque la seconde et dernière tâche se termine. Le workflow est exécuté avec la dernière tâche parce que la date logique de toutes ses tâches est héritée du workflow. Dans ce cas, c'est le vendredi. S'il faut que le workflow soit exécuté le samedi au lieu du vendredi, vous pouvez utiliser l'option Exécuter une fois. Dans la boîte de dialogue, cochez la case Utiliser la date logique, puis sélectionnez le vendredi précédent et une heure antérieure. Le workflow est alors exécuté comme si nous étions vendredi et la dernière tâche sera également traitée.
Utilisations de la date logique
La date logique est utilisée pour les fonctions suivantes :
- Démarrer des tâches, voir Exécuter des objets une fois et Exécuter des objets - Périodiquement
- Simulations, voir Simulation d'objets
- Éléments de scripts, voir ACTIVATE_UC_OBJECT et FORECAST_OBJECT
Fonctions de récupération de date et d'heure
- SYS_LDATE retourne la date logique.
- SYS_TIMESTAMP_PHYSICAL fournit les date et heure courantes.
- SYS_TIME_PHYSICAL détermine l'heure courante.
- SYS_DATE_PHYSICAL détermine la date courante.
- SYS_TIME renvoie l'heure courante au début du traitement du script.
- SYS_DATE renvoie la date courante au début du traitement du script.
- CALE_LOOK_AHEAD renvoie la date suivante en fonction des conditions de calendrier.