Vérification de l'existence d'un objet
Avant de tenter d'utiliser un objet dans un programme, vérifiez si l'objet existe et si vous disposez des droits nécessaires pour l'utiliser.
Cela est utile lorsqu'une fonction utilise plusieurs objets à la fois.
Pour vérifier l'existence d'un objet, utilisez la commande Check Object (CHKOBJ) . Vous pouvez utiliser cette commande à n'importe quel endroit d'une procédure ou d'un programme. Le format de la commande Check Object (CHKOBJ) est le suivant:
CHKOBJ OBJ(library-name/object-name) OBJTYPE(object-type)
D'autres paramètres facultatifs permettent de vérifier l'autorisation des objets. Si vous recherchez une autorisation et que vous avez l'intention d'ouvrir un fichier, vous devez vérifier les droits opérationnels et les droits sur les données.
Lorsque cette commande est exécutée, le système envoie des messages au programme ou à la procédure pour signaler le résultat de la vérification d'objet. Vous pouvez surveiller ces messages et les gérer comme vous le souhaitez.
Dans l'exemple suivant, la commande Monitor Message (MONMSG) recherche uniquement le message d'arrêt programme object-not-found. Pour obtenir la liste de tous les messages que la commande Check Object (CHKOBJ) peut envoyer, consultez l'aide en ligne de la commande Check Object (CHKOBJ) .
La commande Check Object (CHKOBJ) n'alloue pas d'objet. Pour de nombreuses applications, la vérification de l'existence n'est pas une fonction adéquate, l'application doit allouer l'objet. La commande Allocate Object (ALCOBJ) fournit à la fois une vérification de l'existence et une allocation.
Utilisez la commande Check Tape (CHKTAP) ou Check Diskette (CHKDKT) pour vous assurer qu'une bande ou une disquette spécifique est placée sur l'unité et prête. Ces commandes fournissent également un message d'arrêt programme que vous pouvez surveiller dans votre programme CL.
CHKOBJ OBJ(OELIB/PGMA) OBJTYPE(*PGM)
MONMSG MSGID(CPF9801) EXEC(GOTO NOTFOUND)
CALL OELIB/PGMA
.
.
.
NOTFOUND: CALL FIX001 /*PGMA Not Found Routine*/
ENDPGM