Vous êtes sur la page 1sur 4

Gestion des Automates et Non déclenchement

d’un automate

Sommaire

I. Les différents Automates : ......................................................................................................... 2


II. Fonctionnement des tables concernant les Automates dans la Base Master : .................. 2
III. Une tâche planifiée ne se déclenche pas bien que la condition d'évènement soit
remplie : .......................................................................................................................................... 3

Les informations qui vous sont communiquées sont strictement confidentielles. Vous vous engagez à ne pas les publier, ni les utiliser directement ou indirectement à des fins personnelles ou à des fins
autres que celles nécessaires à l'exercice de votre activité.

Toutes les informations vous sont fournies à titre indicatif et ne sont pas exhaustives. Elles sont établies sur la base des éléments que vous nous avez communiqués et en l'état actuel des
connaissances techniques et des tests réalisés par Sage France. Elles ne peuvent en aucun cas engager la responsabilité de Sage France. Vous devez obligatoirement vérifier que les informations
transmises répondent aux spécificités matérielles et systèmes du client, nécessaires au bon fonctionnement de chacun des progiciels.

© Sage France SAS au capital de 500.000 euros - Siège social : 10 rue Fructidor 75017 Paris - RCS Paris B 313 966 129
INTRODUCTION :

Vous trouverez ci-dessous une explication sur le fonctionnement des Automates ainsi
qu’une procédure en cas de blocage de ces derniers.

I. Les différents Automates :

Les informations contenues dans ce document peuvent faire l’objet de modifications sans notification préalable.
Sage © - Tous droits réservés : toute reproduction, même partielle, est interdite sans notre autorisation.
 Automates planifiés : créés via le bouton « Planifié » ou « Créé une tâche
d’automate » et visibles dans l’écran de gestion des automates. Ils sont stockés de
manière permanente dans la table TDBMAUTOMATELINE

 Automates créés lors d’un traitement en client léger : lorsqu’un traitement est
lancé depuis le client léger (par exemple : une mise en historique des écritures
comptables), une tâche d’automate avec un évènement immédiat est créé et
supprimé dès la fin de son exécution.

II. Fonctionnement des tables concernant les


Automates dans la Base Master :
Deux tables sont particulièrement importantes pour comprendre le fonctionnement de la
gestion des automates et expliquer l’éventuel blocage qui peut y avoir.

 la table TDBMTASKQUEUE : qui est une file d'attente intermédiaire permettant


d'assurer qu'une tâche n'est déclenchée qu'une fois. Elle contient deux lignes par
tâche :
o une (queueState=1) et une (queueTopic=’xxxx-ready’ )
o une (queueState=0) et une (queueTopic=’xxx-running’)

 La table TDBMAUTOMATELINE : qui stock l’ensemble des automates paramétrés


sur les bases :
o Elle est liée à la table TDBMTASKQUEUE (oidAutomateline = oid de
TDBMAUTOMATELINE)
o La colonne inExecution = 1 indique quel automate est en cours de
traitement

2
MAJ. : sept.-14

Sage 1000 FRP - KB57474 - Gestion des Automates et Non déclenchement d’un automate
III. Une tâche planifiée ne se déclenche pas bien que la
condition d'évènement soit remplie :
 L’automate n’exécute qu’une tâche à la fois :

Si on exécute un traitement pendant toute la durée de celui-ci aucun autre


traitement (Automate planifié ou traitement lancé depuis le client léger) ne
s’exécute.
Le traitement planifié attendra la fin de celui en cours pour se déclencher.

Les informations contenues dans ce document peuvent faire l’objet de modifications sans notification préalable.
Sage © - Tous droits réservés : toute reproduction, même partielle, est interdite sans notre autorisation.
Dans une exécution correcte, la table TDBMTASKQUEUE est vidée dès que l’automate a
fini son exécution.
Cependant, si un blocage / un plantage / une coupure du service via le gestionnaire des
tâche a lieu il est possible que les tables TDBMAUTOMATELINE et TDBMTASKQUEUE
soient renseignées à tort.

Une fois que l’on s’est assuré qu’il n’y a aucune activité du ServiceL1000 on peut vérifier
les cas suivants :

Cas 1 :

Vérifier que la colonne InExecution de la table TDBMAUTOMATE n'est pas positionnée à


1:
En effet, l’automate n’exécutant qu’une ne tache à la fois, aucun autre traitement ne
pourra s’exécuter tant que cette zone sera à 1 :
Select * from TDBMAUTOMATLINE where InExecution = 1
Puis si la tâche est présente :
update TDBMAUTOMATLINE set InExecution=0 where oid= 'oid de la ligne
concernée'

Vérifier que la ligne d'automate n'est pas présente dans la file d'attente d'exécution de
l'automate :
select * from TDBMTASKQUEUE where oidAutomatLine='oid de la ligne
d’automate'

Si des lignes sont présentes supprimer ces lignes :


delete TDBMTASKQUEUE where oidAutomatLine='oid de la ligne d’automate'

3
MAJ. : sept.-14

Sage 1000 FRP - KB57474 - Gestion des Automates et Non déclenchement d’un automate
Cas 2 :

Dans la table TDBMAUTOMALINE, aucune ligne n’est à Inexecution = 1 mais des


enregistrements sont présents dans la table TDBMTASKQUEUE :

Cette situation peut s’expliquer par le fait qu’un automate a planté et que le service a été
redémarré.
En effet, dans ce cas lors du redémarrage du service on regarde si l’automate est expiré et
dans ce cas sa ligne est supprimée.

 Dans le cas d’un automate créé lors de l’exécution d’un traitement en client Web,
les lignes restantes dans TDBMTASKQUEUE ne sont pas bloquantes car elles ne

Les informations contenues dans ce document peuvent faire l’objet de modifications sans notification préalable.
sont pas uniques (mais on peut les supprimer via SQL au besoin)

Sage © - Tous droits réservés : toute reproduction, même partielle, est interdite sans notre autorisation.
 Dans le cas d’un automate planifié, les lignes restantes dans TDBMTASKQUEUE
peuvent bloquer la réexécution du même automate. (En effet une clé unique est
positionnée pour identifier un automate planifié dans cette table).
 Il faut donc faire un delete de ces lignes.

Remarque :
Le fait de couper le navigateur ou la mise en place d’un time out sur la session utilisateur,
ne va pas stopper l’exécution de la tâche lancée via le client Web.

Ci-dessous deux liens du Wiki Sage reprenant ces informations ainsi que celles du fichier
de configuration Server.

http://frp.sage.fr/wiki1000/index.php/Automate_%28FAQ%29
http://frp.sage.fr/wiki1000/index.php/Fichier_de_configuration_(server)#Automates

4
MAJ. : sept.-14

Sage 1000 FRP - KB57474 - Gestion des Automates et Non déclenchement d’un automate

Vous aimerez peut-être aussi