Exploitation > Serveur batch > Gestion des abonnements 

Il est possible de définir grâce à cette fonction des abonnements permettant un lancement régulier par le serveur batch :

Ces abonnements provoqueront une exécution régulière avec une périodicité paramétrable.

Les paramètres de lancement sont saisis via un bouton présent en bas d'écran, mais il est possible de définir, pour tout ou partie des paramètres de type date liés à la tâche, de règles de calcul faisant notamment intervenir la période courante et des décalages de temps.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

Ecran de saisie

Présentation

On saisit ici à la fois les conditions de lancement (identification du dossier et de l'utilisateur sous l'identification duquel on lance l'abonnement) et les horaires concernés.

Fermer

 

Champs

Les champs suivants sont présents dans cet onglet :

Bloc numéro 1

Identifie le code abonnement.

  • Intitulé (champ NOMABT)

Intitulé associé au code précédent.

Caractéristiques

Définit le nom du dossier dans lequel sera lancée la requête (le code du dossier courant est proposé par défaut).

Définit le code d'un utilisateur sous l'identité duquel la tâche sera lancée (le code de l'utilisateur courant est proposé par défaut).

  • Mot de passe (champ PASSE)

Lorsque le dossier sur lequel la tâche doit être exécutée n'est pas le dossier courant, ou si l'utilisateur ne correspond pas au code utilisateur courant, il est nécessaire de saisir le mot de passe correspondant afin de s'identifier.

Définit un groupe de tâches à lancer.

Définit le code de la tâche qui sera lancée automatiquement par le serveur batch.

Bloc numéro 3

  • Actif (champ ENAFLG)

Cette case à cocher permet d'activer ou de désactiver la fiche courante sans pour autant perdre son contenu.

Une fiche désactivée ne peut pas être utilisée (par appel de son code) dans d'autres fiches (documents, paramétrages...), ou lors de traitements de masse.

Les habilitations sur une fonction donnée peuvent interdire la création d'une fiche active. Dans ce cas, la case est désactivée par défaut, et est modifiable uniquement par un utilisateur autorisé, ou via un circuit de signature défini par Workflow.

  • Dernière exécution (champ DJOUR)

Lorsque l'abonnement a déjà donné lieu à des exécutions de tâches, ce champ permet de connaître la date de dernière exécution.

Périodicité

  • Périodicité (champ PERIO)

Ce champ définit la périodicité d'exécution de la tâche.

Si la période est le mois, on peut indiquer un quantième (date dans le mois comprise entre le 1 et le 31) et/ou cocher la case fin de mois. Si la période est hebdomadaire, il faut cocher un ou plusieurs jours de la semaine.

Ce code calendrier permet d'exclure certains jours pour l'exécution de tâches abonnées.

Hebdomadaire

  • champ JOUR

On indique ici les jours de la semaine retenus pour l'exécution d'une tâche hebdomadaire.

Mensuel

  • Quantièmes (champ QUANT)

On peut indiquer, dans le cas où l'abonnement est défini comme mensuel, de un à cinq quantièmes (plus éventuellement la fin de mois par la case correspondante) pour définir les jours du mois où la requête devra être lancée.

  • Fin de mois (champ FDM)

Lorsque l'abonnement est mensuel, cette case permet de déclencher l'exécution de la tâche le dernier jour de chaque mois (si cette date n'est pas exclue par le biais du code calendrier).

Plage horaire

  • Heure début (champ HDEB)

Permet de borner entre deux heures l'exécution d'une tâche définie en fréquence.

  • Heure fin (champ HFIN)

 

  • Fréquence (mn) (champ FRQ)

Lorsqu'une tâche doit être exécutée de façon répétitive, on définit une heure de début, de fin, et une fréquence d'exécution en minutes. Cette fréquence permet de relancer automatiquement la tâche.

  • Une seule requête (champ ONE)

Cette case peut être cochée si l'abonnement est défini en fréquence.

Si elle est cochée, une seule requête est lancée par jour pour exécuter le traitement demandé, et dès que le traitement est terminé, la tâche se met en veille pendant le nombre de minutes définies par la fréquence, pour reprendre ensuite son exécution, ce jusqu'à ce que l'heure de fin soit dépassée. La requête est alors affichée dans l'état En cours pendant tout l'intervalle d'exécution.

On garantit ainsi que la requête est toujours présente en mémoire une fois qu'elle aura été lancée, ce qui peut être au détriment d'autres tâches si le nombre maximum de tâches lancées simultanément est atteint.

  • Epuration (champ EPUR)

Cette case ne peut être cochée que pour un abonnement en fréquence. Lorsque c'est le cas, on ne garde pas trace des exécutions successives de la tâche dans la fonction de gestion des requêtes. Seule la requête en cours et la précédente requête sont gardées dans la table correspondante.

  • Continuer si erreur (champ CNTERR)

Si cette case est coché, une tâche avec "fréquence" ou une tâche d'un groupe sera relancée même en cas d'erreur.
Les erreurs qui peuvent interrompre une tâche:
- variable GOK différente de 1 : indique généralement qu'il y a eu une erreur dans une transaction de mise à jour de la base.
- variable GERRBATCH inférieure à 100 : cette variable peut être positionnée dans le traitement qui exécute la tâche.
- variable GERREUR différente de 0 : dans certains traitements, cette variable est positionnée dans un sous-programme de gestion d'erreur déclenché par l'instruction "Onerrgo".

Heures fixes

  • Heure (champ HEURE)

Quand la tâche n'est pas définie en fréquence, il est possible de la lancer à trois heures différentes dans une journée indiquées ici.

  • Exécution forcée (champ FORCE)

Cet indicateur ne peut être coché que si l'on donne des heures fixes d'exécution poiur un abonnement. Il garantit la création de la demande d'exécution même si l'heure est dépassée au moment où le serveur batch traite les abonnements de la journée.

Par exemple, si une tâche est programmée à 7 heures, 10 heures et 15 heures, mais si le serveur batch démarre un matin à 8 heures :

  • si la case est cochée, 3 demandes d'exécution (à 7 heures, 10 heures et 15 heures) seront créées. La demande d'exécution datée de 7 heures sera exécutée ou pas selon les paramètres du serveur (on peut fixer un retard d'exécution maximal dans les paramètres du serveur). Mais en tout état de cause, une ligne aura été programmée pour 7 heures.
  • si la case n'est pas cochée, seules les 2 demandes d'exécution postérieures à l'heure courante seront créées.

Tableau Date relative

  • Zone date (champ DATZON)

Permet de renseigner le nom de la zone écran à initialiser.
Il est possible de spécifier l'abréviation de l'écran si la boîte de saisie des paramètres de la tâche utilise plusieurs écrans.

  • Date de base (champ DATDEP)

Permet de renseigner la date de référence pour le calcul.

  • Incrément (champ DATNBR)

Nombre à rajouter (ou retrancher) à la date de référence.
Ce nombre dépend de l'unité utilisée (jours, semaines, mois)

  • Unité de temps (champ DATJRS)

Unité de temps

  • Formule (champ DATFRM)

Permet de renseigner une formule qui sera appliquée dans l'environnement de la saisie des paramètres de l'abonnement de la tâche batch : tables ouvertes, variables globales, variables utilisateurs, etc...

Fermer

 

Boutons spécifiques

permet de saisir les paramètres de lancement de la tâche. Lorsque l'on lance un groupe de tâches, une fenêtre intermédiaire s'ouvre, pour permettre de choisir la tâche dont on veut saisir les paramètres.

Barre de menu

Options / Relancer

permet de relancer l'abonnement si les horaires définis dans l'abonnement incluent l'heure courante, et que la tâche n'est pas déjà en train de tourner.

Messages d'erreur

Il n'y a pas de message d'erreur autre que les messages d'erreur génériques.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Fonctionnement technique des abonnements

Il est à noter qu'au démarrage du serveur batch (ou après le passage de minuit lorsque le serveur batch tourne continûment), tous les abonnements d'une journée sont créés sous la forme de demandes d'exécution de tâches visibles dans le gestionnaire des tâches batch.

Pour les abonnements en fréquence, une seule demande d'exécution est créée; à la fin de l'exécution de la tâche, une nouvelle demande d'exécution est créée.

Ceci signifie qu'une fois la première tâche d'un abonnement en fréquence lancée :

  • Dans la gestion des requêtes, toute interruption (si elle tourne), ou toute suppression (si elle est en attente) de la tâche correspondante interrompt la répétition de cette tâche, qui ne sera relancée que le lendemain.
  • toute modification de fréquence ne sera pas prise en compte avant le lendemain par défaut.

Si on désire modifier les caractéristiques d'une tâche lancée depuis un abonnement en fréquence, il faut commencer par supprimer la prochaine tâche ou l'interrompre si elle est en cours, puis modifier les caractéristiques de l'abonnement. On pourra ensuite relancer l'abonnement à l'aide de la fonction accessible depuis la barre de menus ou par clic droit sur la ligne dans la fonction de gestion des requêtes.