Fonctionnement ( historisation - épuration )

Description

Ce modèle est appelé depuis le menu "Exploitation / Historisation -Epuration". Il permet d'exécuter une historisation et / ou une épurationde tous les paramétrages ou d'un seul. Le traitement est automatisé pour lestables principales et tables liées. Une table principale peut avoir jusqu'à 20tables liées. Une table peut être liée à une table principale lorsque saclé primaire commence par la clé primaire de la table principale.

Une trace est affichée en fin detraitement pour ouvrir indiquer le nombre d'enregistrements historisés et lenombre d'enregistrements épurés. 

L'historisation
Le dossier historisé doit être créé. 
L'historisation s'effectue si elle est prévue au niveau du paramétrage et sielle est demandée au lancement. 

Le filtre des enregistrements à traiter se fait avec la société, le site,la date, la formule. 

Le traitement superviseur crée la table dans le dossier historisé sinécessaire. Il la crée avec 2 champs supplémentaires CREHISDAT et CREHISUSR.Il crée les enregistrements dans les tables du dossier historisé puis supprimeles enregistrements dans celle du dossier courant. 

L'épuration
L'épuration s'effectue si elle est prévue au niveau du paramétrage et si elleest demandée au lancement.

Le filtre des enregistrements à traiter se fait avec la société, le site,la date, la formule, dans le cas d'une épuration simple. Si le paramétrageprévoit une épuration, le filtre porte sur la société, le site, la date enfonction du champ CREHISDAT ( pas de filtre par la formule, ni la variableFILTSUP). 

Le traitement superviseur supprime les enregistrements du dossier courant oudu dossier historisé si le paramétrage prévoit une historisation. 

Les traitements

Le modèle est un traitement superviseur qui fait appel à deux traitementsannexes : le traitement standard et le traitement spécifique, s'il sontrenseignés dans la formule d'historisation. Ces deux traitements Sontstructurés de la même façon, c'est à dire qu'ils commencent par une étiquette ACTION, qui traite lesdifférents évènements susceptibles d'arriver lors de l'exécution de lafonction.

Le traitement standard
Ce traitement, fourni par ADONIX, ne doit absolument pas être modifié par lespécifique. 

Le traitement spécifique
Ce traitement n'est pas fourni par Adonix, mais il peut être développé enspécifique (à la fois pour des fonctions standards pour lesquelles on désirefaire des ajouts et pour les fonctions spécifiques). 

Les Actions

Le traitement standard ou spécifique comment donc par cette étiquette$ACTION à écrire de la façon suivante ( ou XXXXXX est le code del'évènement ) : 

$ ACTION
Case ACTION
   When "XXXXXX" : Gosub XXXXXX
   When default
Endcase
Return

Chaqueévénement est identifié par un code alphanumérique, contenu dans la variable ACTION.S’il n’y a pas de traitement pour un événement, le fonctionnement dela fonctionn'en sera pas entravé. C'est dans le sous-programme $ACTION, que l'on faitl'aiguillage vers l'étiquette ajoutée. On précisera dans cette syntaxe"case ACTION", autant de lignes qu'il y a d'évènements àcompléter. Le $ACTION est appelé du traitement superviseur par GOSUB ; Celapermetdonc d'utiliser des variables locales au traitement superviseur. 

On trouvera ci-joint la liste des actions. Ontrouvera ensuite,  la description détaillée de ces actions. On y décritle contexte appelant et l'OBJectif de ces actions.

Ajout d'actions spécifiques sur le standard

Par défaut, pour un même évènement, l'action spécifique est appelée avant l'action standard. 

Elle peut annuler etremplacer l'action standard si elle positionne la variable GPE à lavaleur 1. 

Pour exécuter l'action standard avant l'action spécifique, dans ce cas, onduplique le traitement standard dans l'action spécifique, on y ajout letraitement spécifique puis on positionne la variable GPE à lavaleur 1. Exemple :

Traitement superviseur
GPE=0
Gosub  ACTION  From  trait_std             ( appel dustandard)
If GPE=0
   Gosub  ACTION  From  trait_spé.           ( appel du spécifique)
Endif

Traitement spécifique
$ ACTION
Case ACTION
   When "OUVRE" : Gosub OUVRE
   When default
Endcase
Return

$OUVRE
...                                                              ( action spécifique OUVRE)
GPE =1                                                    ( pas d’appel du standard suite au spécifique )
Return