Règles Workflow > Catégorie TRA > Code UPDFLD (Modification des champs) 

Cet événement permet d’alerter des utilisateurs sur la modification de champs jugés sensibles dans la base. Ceci s’appuie sur l’onglet Audit défini dans le dictionnaire des tables. Celui-ci permet, sur des tables du dictionnaire, de tracer les modifications de champs jugés sensibles.

Contexte et mode de fonctionnement

Cette règle de workflow est de type manuel (le workflow est lancé soit en direct, soit en batch).

Elle déclenche un message.

La règle d'affectation UPDFLD (Maj champs dans la base) est utilisée par la règle de workflow UPDFLD.

L'exécution de cette règle provoque alors le parcours de la table des lignes d’audit, pour retrouver les champs sensibles modifiés. Son déclenchement se faisant à la demande, il est conseillé de le lancer en batch avec une périodicité à définir (par exemple tous les mois).

La règle d’affectation utilisée associe, à chaque table concernée, un utilisateur destinataire fixe (on aurait bien entendu pu définir des règles plus sophistiquées). Le modèle de données part de la table AUDITL, que l’on lie à la table AUDITH par le champ SEQ (numéro de séquence unique). On parcourt (et on regroupe) les lignes par les champs table ([AUD]TBL) et champ ([AUL]COL), pour ne faire qu’un seul message pour toutes les modifications d'un champ donné dans une table donnée.

Les seules conditions données au déclenchement de cette règle sont :

  • que l’on cherche les événements pour lesquels STA=2 (éléments non encore notifiés à l’utilisateur : la règle va par ailleurs modifier cet indicateur pour le passer à 3).
  • que l’utilisateur [L]USER obtenu par l’utilisation de la règle d’affectation existe (on a défini un utilisateur par table dans la règle d’affectation).

Le message est composé d’un en-tête et d’une ligne répétée (formule |LIB|). La formule de la ligne fait appel à des fonctions dédiées définies dans le traitement AFNC, qui sont les suivantes :

  • La fonction F3C formate trois champs avec le format donné en tête. Elle permet ici de formater sur 20 caractères, avec le format "20X", les champs ID1 et ID2 concaténés identifiant la clé de la ligne modifiée, et les valeurs avant et après (champs OVAL et NVAL).
  • La fonction FDH formate une date et une heure (les paramètres étant les champs correspondants dans la table d’audit).

Enfin, l’onglet Suivi met à jour l’indicateur STA (dans la table d’audit, d’abréviation AUD) avec la valeur "3" (qui correspond au statut Traité et évitera de traiter à nouveau cette modification lors de la prochaine exécution de la règle de Workflow). On utilise pour ce faire l’action standard AWRKUPDFLG, dont les arguments sont précisément l’abréviation de la table, le nom de un à 4 champs, et les valeurs associées. Cette action est ici appelée sur chaque ligne de la table d’origine.

Critères de déclenchement

Les critères complémentaires de déclenchement sont les suivants :

  • le champ STA doit être égal à 2 dans la table AUDITH.
  • la règle d'affectation doit avoir renvoyé un code utilisateur non vide.

Destinataires

Le choix des destinataires est défini de la façon suivante :

  • un seul destinataire (celui renvoyé par la règle) est destinataire.

Actions déclenchées par l'événement

L'événement Workflow déclenche l'action suivante :

Code action

Déclenchement

AWRKUPDFLD : Mise à jour champs

VPSLAG

Ceci a pour effet de mettre le champ STA à 3.

Tables mises en oeuvre

Les tables suivantes sont concernées par la règle UPDFLD :

Table

Intitulé Table

ATABLE [ATB]

Dictionnaire des tables

ATABZON [ATZ]

Dictionnaire des champs

AUDITH [AUD]

Audit - En-tête

AUDITL [AUL]

Audit - Lignes