Forum iSeries, hébergé par xdocs400.com

As400, iSeries, i5, System i, une machine qui évolue pour être de plus en plus puissante.

Vous n'êtes pas identifié(e).

Annonce

ATTENTION : Le système anti-spam est à nouveau opérationnel. Nous avons réactivé les inscriptions.

#1 2018-05-11 16:06:42

jévolue
Membre
Inscription : 2018-05-11
Messages : 2

Récupération du nom du trigger dans le programme trigger RPGLE

Bonjour,

J'ai écrit un programme trigger générique pour remplacer une gestion des modifications par journaux.
Ce programme est unique pour tous les évènements et tous les fichiers de tous les triggers sur lesquels ils s'applique.
Je récupère bien le fichier, l'évènement, etc... et même le programme qui a déclenché le trigger, mais pas le nom du trigger.
Or, je voulais utiliser le nom (non généré) du trigger pour passer l'information du nom de l'ancien journal auquel ce fichier était attaché.
Comme le paramètre TRG de la commande ADDPFTRG permet de lui donner un nom qui peut prendre jusqu'à 258 caractères encadrés de guillemets doubles, il y a matière à transmettre des informations... à condition de pouvoir le récupérer...
J'ai cherché un peu partout, ce qui m'as aidé pas mal pour les autres informations, mais pour le nom du trigger, là, je sèche.
Une idée ?

Hors ligne

#2 2018-05-15 14:25:16

larry57
Membre
Lieu : Luxembourg
Inscription : 2017-04-21
Messages : 82

Re : Récupération du nom du trigger dans le programme trigger RPGLE

Bonjour,

Il y a une requête SQL qui permet cela :

SELECT SUBSTR(TABSCHEMA, 1, 10) AS FILE_LIB,       
        SUBSTR(TABNAME, 1, 10) AS FILE,             
        TRIGTIME AS EXECUTED_WHEN,                 
        CREATE_DTS AS CREATED,                     
        SUBSTR(TRIGPGM, 1, 10) AS PGM,             
        SUBSTR(TRIGPGMLIB, 1, 10) AS PGM_LIB,       
        OPERATIVE,                                 
        ENABLED,                                   
        SUBSTR(DEFINER, 1, 10) AS CRT_USER,         
        EVENT_U AS ON_UPDATE,                       
        EVENT_I AS ON_INSERT,                       
        EVENT_D AS ON_DELETE,                       
        TRIGNAME AS TRIGGER_NAME                   
  FROM QSYS2/SYSTRIGGER                             
  WHERE TABSCHEMA = 'TA LIBRAIRIE'

Larry57

Hors ligne

#3 2018-05-30 08:18:29

jévolue
Membre
Inscription : 2018-05-11
Messages : 2

Re : Récupération du nom du trigger dans le programme trigger RPGLE

Bonjour,

Merci de cette réponse.
Effectivement, je cherchais à récupérer le nom du trigger dans le programme qu'il exécute dans des informations "environnementales" d'exécution, alors que j'ai tous les éléments pour aller le chercher à l'extérieur : fichier et bibliothèque d'affectation, type de déclenchement, évènement déclencheur...
Par contre, en cas de triggers multiple avec ces caractéristiques, pas de distinction possible...
Comme je n'en ai pas, ça résous mon problème, mais une récupération interne aurait été plus satisfaisante.
En tout cas, merci pour cette idée.

Hors ligne

Pied de page des forums