Accueil du site > Les articles > Utiliser une « USER EXIT » pour contrôler les transferts (CA400 et Excel) ou (...)
Version à imprimer Enregistrer au format PDF

Utiliser une « USER EXIT » pour contrôler les transferts (CA400 et Excel) ou ODBC.

mercredi 15 septembre 2004, par Didier Encinas Visites  2591 Première mise en ligne le vendredi 9 janvier 2004.

Parfois certains utilisateurs, trop habitués à des interfaces micro, refusent d’utiliser vos beaux programmes 400.

Rien à faire, ils préfèrent Excel ou Access.

Vous pourriez les empêcher de modifier les fichiers de l’as/400 (droits, trigger...), mais votre expérience vous pousse à être magnanime.

S’ils veulent passer par leur Excel, soit !


Le problème, c’est que vos programmes AS/400, même s’ils ne sont pas très beau, ils contrôlent un certains nombre de règles de gestion.

A défaut de les empêcher, vous aimeriez au moins être au courrant.

C’est là qu’interviennent les User Exit.

Lancer la commande WRKREGINF et choisir l’option 8

Sur l’entrée

QIBM_QZDA_SQL1 ZDAQ0100 *YES serveur de base de données

ajouter le nom et la bibliothèque où est compilé le programme qui suit. :

programme userexit01

PGM PARM(&P1 &P2)
DCL VAR(&P1) TYPE(*CHAR) LEN(1)
DCL VAR(&P2) TYPE(*CHAR) LEN(512)
SNDUSRMSG MSG('P-1=' *CAT &P1 *CAT ' P-2=' *CAT &P2)
  MSGTYPE(*INFO) TOUSR(QSYSOPR)
ENDPGM

Cet exemple, possède 2 paramètres :

- le premier P1 : autorise (‘1’) ou interdit (‘0’) le transfert. On n’y touche pas, il reste donc par défaut à ‘1’
- Le second P2 contient une structure de données :

  • USERID
  • Ordre SQL : (SELECT * FROM LIB/FILE etc)

La USER EXIT est invoqué à chaque transfert depuis ou vers le PC, ainsi que pour chaque enregistrement ODBC.

P.-S.

Vous pouvez modifier cet exemple pour interdire les accès ODBC (P1 = ‘1’) pour créer une LOG ... c’est vous qui voyez !