Je souhaite pouvoir récupérer les informations de paramétrage d'une DTAQ. J'ai vu qu'il fallait utiliser l'API QMHQRDQD.
l'OS est en V7R4.
J'ai créé un CLP avec 2 paramètres en entrée (nom de la bibliothèque et nom de la dtaq).
Voici mon PGM :
Code : Tout sélectionner
/* ----------------------------------------------------------------- */
/* Programme pour afficher les paramètres d'une DTAQ */
/* 2 paramètres à renseigner lors de l'exécution du PGM : */
/* -> &DTAQLIB : bibliothèque qui contient la DTAQ */
/* -> &DTAQNAME : Nom de la DTAQ à afficher */
/* ----------------------------------------------------------------- */
PGM PARM(&DTAQLIB &DTAQNAME)
/* ----------------------------------------------------------------- */
/* Déclaration des variables */
/* ----------------------------------------------------------------- */
DCL VAR(&DTAQNAME) TYPE(*CHAR) LEN(10)
DCL VAR(&DTAQLIB) TYPE(*CHAR) LEN(10)
/* ----------------------------------------------------------------- */
/* Déclaration des variables */
/* ----------------------------------------------------------------- */
DCL VAR(&DTAQNAME) TYPE(*CHAR) LEN(10)
DCL VAR(&DTAQLIB) TYPE(*CHAR) LEN(10)
/* &DTAQINFO = stock les infos de la DTAQ */
/* &ERRCODE = code erreur pour l'appel de l'API */
/* &FORMAT = Nom du format de l'API */
DCL VAR(&DTAQINFO) TYPE(*CHAR) LEN(1000)
DCL VAR(&ERRCODE) TYPE(*CHAR) LEN(8)
DCL VAR(&FORMAT) TYPE(*CHAR) LEN(8)
/* ----------------------------------------------------------------- */
/* Exécution du PGM */
/* ----------------------------------------------------------------- */
/* Initialiser &ERRCODE et &FORMAT pour gérer les erreurs */
CHGVAR VAR(&ERRCODE) VALUE(X'0000000000000000')
CHGVAR VAR(&FORMAT) VALUE('DTAQ0200')
/* Appel de l'API pour obtenir la description de la DTAQ */
CALL PGM(QSYS/QMHQRDQD) PARM(&DTAQNAME &DTAQLIB &DTAQINFO +
&FORMAT &ERRCODE)
/* Vérif des erreurs potentielles */
IF COND(%SST(&ERRCODE 1 4) *NE '0000') THEN(DO)
SNDPGMMSG MSG('Erreur lors de appel API.')
RETURN
ENDDO
/* Afficher les informations obtenues dans un fichier */
SNDPGMMSG MSG('Informations de la DTAQ récupérées.')
DSPPFM FILE(&DTAQINFO)
ENDPGM
J'ai cette erreur :
Code : Tout sélectionner
Message . . . . : Format name is not valid.
Cause . . . . . : The format name specified is not valid.
J'ai testé de changer la valeur de la variable &FORMAT en DTAQ0100 ou DTAQ0300 mais idem. Même message d'erreur.
D'ailleurs je trouve étrange de faire mon le CALL de l'API comme ceci :
Code : Tout sélectionner
CALL PGM(QSYS/QMHQRDQD) PARM(&DTAQNAME &DTAQLIB &DTAQINFO &FORMAT &ERRCODE)
en mettant &DTAQINFO dans le call mais sans l'avoir initialisée en amont ?
Auriez-vous des idées ?
Merci