Fichier script : multilineupdate.py
Doit être insérée en dernière étape (en tout cas après l'insertion cold).
Paramètre | Valeur par défaut | Description |
---|---|---|
instance | $instance$ | Evalué avec le nom de l'instance EzGED |
jobqueueid | $jobqueueid$ | Evalué avec le numero de travail cold |
secusrid | $secusrid$ | Evalué avec l'id de l'utilisateur propriétaire du travail |
coldmdlid | Le modèle d'analyse texte COLD | |
qryid | L'ID de la requête sur laquelle apparaît la fiche APRES indexation | |
srcfld | Nom du champ source pour aller chercher la valeur qui sera mise-à-jour | |
srcfkeylist | Le champ qui liste les clés (= les ID) identifiant chaque ligne de destination qu'il faudra mettre à jour | |
dsttbl | Le nom de la table de destination | |
dstfld | Le nom du champ de destination | |
dstfkey | Aucun | Le nom du champ clé dans la table destination |
separator | Le caractère utilisé comme séparateur entre les clés |
*srcfkeylist : les valeurs possibles
Ce script COLD permet de mettre à jour la valeur d'un champ d'une table sur plusieurs lignes.
La valeur servant à la mise à jour est récupérée via la fiche descriptive en cours de traitement dans le travail COLD.
Afin de savoir si la ligne d'indexation (i.e la fiche descriptive) a bien été complétée, le script prend en entrée un ID de requête. Des que votre fiche apparaît dans cette vue elle est considérée comme complétée. Dès lors la mise-à-jour peut avoir lieu. Ceci veut donc dire que la MAJ est déclenchée par l'action consistant à remplir la fiche (via une requête d'indexation).
Le script détermine les lignes (dans la table de destination) à mettre à jour en allant lire une liste de clés enregistrées dans un champ de la table source.
Supposons l'existence des tables suivantes:
FACT_ID | FACT_LISTBL | FACT_NUM |
---|---|---|
13 | 54;68 | HAL9000 |
BL_ID | BL_NUMBL | BL_NUMFACT |
---|---|---|
3 | 54 | NULL |
4 | 74 | NULL |
5 | 68 | NULL |
Supposons par ailleurs qu'une requête “Factures fournisseur” existe et a pour ID 2.
Nous paramétrons l'étape de cold de la manière suivante:
Paramètre | Valeur par défaut |
---|---|
instance | $instance$ |
jobqueueid | $jobqueueid$ |
secusrid | $secusrid$ |
coldmdlid | 150 |
qryid | 2 |
srcfld | FACT_NUM |
srcfkeylist | FACT_LISTBL |
dsttbl | bl |
dstfld | BL_NUMFACT |
dstfkey | BL_NUMBL |
separator | ; |
Sous réserve que la fiche descriptive soit complétée (d'après les conditions établies par la requête 2) on obtiendra le résultat suivant :
BL_ID | BL_NUMBL | BL_NUMFACT |
---|---|---|
3 | 54 | HAL9000 |
4 | 74 | NULL |
5 | 68 | HAL9000 |