Page 1 sur 1

Récupération de variable

Posté : mar. 12 avr. 2011, 07:44:51
par RV2gre
Bonjour à tous,

Je suis un petit nouveau avec ce langage, et on m'a demandé un petit programme.
Le but étant de récupérer la valeur VOL d'un CHKTAP dans une variable, afin d'utiliser cette variable, pour savoir si la bande de sauvegarde du jour est bien insérée, et surtout si c'est bien la bonne ...

Je pense que c'est assez simple pour vous, mais moi je me prends un peu la tête.... :(

Dans mon programme je cherche à faire:
CHKTAP DEV(TAPVRT01) VOL(&VOL)

En déclarant au préalable ma variable évidemment.
S'il n'y a pas de cartouches dans le lecteur:
MONMSG MSGID(CPF6760) EXEC(CALL PGM(HL/ENVMAIL1))

S'il y en a une, je check que ce soit bien celle du jour:
IF COND((&JOUR *EQ '*MON') *AND (&VOL *EQ +
'SAVPLU')) THEN(GOTO CMDLBL(ENDPGM))
ELSE CMD(CALL PGM(HL/ENVMAIL))

S'il n'y a pas de cartouches je reçoit bien un mail.
Par contre je reçoit aussi le mail me disant que ce n'est pas la cartouche du jour.
S'il y a une cartouche avec un nom de volume qui n'a rien à voir, je ne reçoit pas le premier mail (pas de cartouches), mais je reçoit l'autre.
Si la bonne cartouche est insérée, c'est exactement la même chose.

Je pense que je ne récupère pas la valeur VOL de mon CHKTAP....

CHKTAP et paramètre VOL

Posté : mar. 12 avr. 2011, 10:06:46
par cmasse
Je pense qu'il y a confusion le paramètre VOL sur la commande CHKTAP ne permet PAS de retrouver le label actuel, mais de vérifier que la bande chargée dans le lecteur a bien CE label la !


pour retrouver le label actuel il faut envisager une API comme QTARTLBL
http://publib.boulder.ibm.com/infocente ... artlbl.htm

(sans texte)

Posté : mar. 12 avr. 2011, 10:27:35
par gmenu
Effectivement, Christian a raison ce paramètre sert à fournir une valeur pas à la récupérer.
Sans utiliser l'API, on peut déjà écrire ceci en inversant les commandes:

IF COND((&JOUR *EQ '*MON') THEN(CHGVAR &VOL 'SAVPLU')
...
CHKTAP DEV(TAPVRT01) VOL(&VOL)
MONMSG MSGID(CPF6720) EXEC(CALL PGM(HL/ENVMAIL1)

(A valider quand même pour le CPF6720)

(sans texte)

Posté : mar. 12 avr. 2011, 13:23:37
par RV2gre
Merci pour vos réponses, je vais utiliser la seconde méthode.
Elle est plus simple (même si surement plus lourde du fait de la répétition), en tous cas pour moi.