CHKOBJ
Vérifier existence d'un objet
En bref
La commande CHKOBJ (Vérifier l'existence d'un objet) permet de vérifier l'existence d'un objet et les droits de l'utilisateur sur cet objet avant toute tentative d'accès.
CHKOBJ se lit CHK
(Vérifier) + OBJ.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CHKOBJ OBJ(…) OBJTYPE(…)
Paramètres
Astuce : dans une session 5250, tapez CHKOBJ puis F4 pour
l'invite de saisie, et F1 sur un paramètre pour son aide.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSYS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Oui
La commande CHKOBJ (Vérifier l'existence d'un objet) permet de vérifier l'existence d'un objet et les droits de l'utilisateur sur cet objet avant toute tentative d'accès. Si cet objet existe et que l'utilisateur dispose des droits appropriés, aucun message d'erreur ne lui est envoyé. Cette commande permet de vérifier jusqu'à dix droits.
Ces vérifications sont particulièrement utiles avant que l'utilisateur tente d'accéder à plusieurs objets simultanément. Cette commande permet également de vérifier la validité des noms d'objet contenus dans les variables CL et les autorisations sur les objets sous contrôle de programme.
Lors de l'exécution de la commande, le système recherche l'objet indiqué. S'il est trouvé, le système vérifie que l'utilisateur dispose de droits sur l'objet, comme indiqué pour le paramètre Droits (AUT). Si l'objet est introuvable ou que l'utilisateur ne dispose pas des droits indiqués pour le paramètre AUT, un message d'erreur est envoyé à l'utilisateur.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| OBJ | Objet | Nom d'objet qualifié | Obligatoire, positionnel 1 |
| Qualificatif 1: Objet | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| OBJTYPE | Type d'objet | *ALRTBL, *AUTL, *BNDDIR, *CFGL, *CHTFMT, *CLD, *CLS, *CMD, *CNNL, *COSD, *CRG, *CRQD, *CSI, *CSPMAP, *CSPTBL, *CTLD, *DEVD, *DOC, *DTAARA, *DTADCT, *DTAQ, *EDTD, *EXITRG, *FCT, *FILE, *FLR, *FNTRSC, *FNTTBL, *FORMDF, *FTR, *GSS, *IGCDCT, *IGCSRT, *IGCTBL, *IMGCLG, *IPXD, *JOBD, *JOBQ, *JOBSCD, *JRN, *JRNRCV, *LIB, *LIND, *LOCALE, *MEDDFN, *MENU, *MGTCOL, *MODD, *MODULE, *MSGF, *MSGQ, *M36, *M36CFG, *NODGRP, *NODL, *NTBD, *NWID, *NWSCFG, *NWSD, *OUTQ, *OVL, *PAGDFN, *PAGSEG, *PDFMAP, *PDG, *PGM, *PNLGRP, *PRDDFN, *PRDLOD, *PSFCFG, *QMFORM, *QMQRY, *QRYDFN, *RCT, *SBSD, *SCHIDX, *SPADCT, *SQLPKG, *SQLUDT, *SQLXSR, *SRVPGM, *SSND, *SVRSTG, *S36, *TBL, *TIMZON, *USRIDX, *USRPRF, *USRQ, *USRSPC, *VLDL, *WSCST | Obligatoire, positionnel 2 |
| MBR | Membre, si fichier BD | Nom, *NONE, *FIRST | Facultatif, positionnel 3 |
| AUT | Droits | Valeurs uniques: *NONE, *ALL, *CHANGE, *USE, *EXCLUDE, *AUTLMGT Autres valeurs (jusqu'à 10 répétitions): *OBJALTER, *OBJEXIST, *OBJMGT, *OBJOPR, *OBJREF, *ADD, *DLT, *EXECUTE, *READ, *UPD |
Facultatif, positionnel 4 |
Objet (OBJ)
Indique l'objet à vérifier.
Ce paramètre est obligatoire.
Qualificatif 1 : Objet
- nom
- Indiquez le nom de l'objet à vérifier.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- La recherche porte sur la bibliothèque en cours de l'unité d'exécution. Si aucune bibliothèque n'est définie comme bibliothèque en cours pour l'unité d'exécution, la recherche porte sur la bibliothèque QGPL.
- nom
- Indiquez le nom de la bibliothèque dans laquelle doit s'effectuer la recherche.
Type d'objet (OBJTYPE)
Indique le type de l'objet à vérifier.
Pour obtenir la liste complète des types d'objet, placez le curseur dans la zone de ce paramètre et appuyez sur F4 (Invite). Pour obtenir une description des types d'objet, reportez-vous à "Types d'objet" dans Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Ce paramètre est obligatoire.
- type-objet
- Indiquez le type de l'objet à vérifier.
Membre, si fichier BD (MBR)
Indique le membre de fichier si un membre de fichier base de données doit être vérifié.
Remarque :Le membre de fichier logique et les membres de fichier physique sous-jacents sont vérifiés.
- *NONE
- Dans le cas d'un fichier base de données, ses membres ne sont pas vérifiés. En revanche, l'existence du fichier et, éventuellement, les droits sur ce fichier sont vérifiés. Pour tous les autres types d'objet (y compris les fichiers unité), *NONE est la seule valeur admise pour ce paramètre.
- *FIRST
- Le premier membre du fichier indiqué est utilisé.
- nom
- Indiquez un membre de fichier physique ou logique à vérifier. Les valeurs des paramètres Objet (OBJ) et Type d'objet (OBJTYPE) doivent identifier un fichier base de données et le membre indiqué doit appartenir au fichier base de données précisé pour le paramètre OBJ.
Droits (AUT)
Indique les droits devant être vérifiés ou la liste d'autorisation devant faire l'objet d'une vérification. Ce paramètre peut être indiqué sous la forme d'une valeur particulière ou d'une liste d'un ou plusieurs éléments.
Valeurs uniques
- *NONE
- Les droits ne sont pas vérifiés.
- *ALL
- Le droit *ALL permet d'effectuer toutes les opérations, sauf celles réservées au propriétaire ou qui requièrent le droit de gestion de liste d'autorisation (*AUTLMGT). Vous pouvez contrôler l'existence de l'objet, indiquer la sécurité associée à ce dernier, modifier l'objet et exécuter des fonctions de base sur celui-ci. Vous pouvez également modifier la propriété de l'objet.
- *CHANGE
- Le droit de modification (*CHANGE) permet d'effectuer toutes les opérations sur l'objet à l'exception de celles réservées au propriétaire ou gérées par le droit d'existence sur l'objet (*OBJEXIST) et le droit de gestion de l'objet (*OBJMGT). Vous pouvez modifier et effectuer des fonctions de base sur l'objet. Le droit *CHANGE fournit le droit d'opération sur l'objet (*OBJOPR) ainsi que les droits sur toutes les données. Si l'objet est une liste d'autorisation, vous ne pouvez pas ajouter, modifier ou supprimer des utilisateurs.
- *EXCLUDE
- Le droit d'exclusion interdit l'accès à l'objet.
- *AUTLMGT
- Le droit de gestion de liste d'autorisation (*AUTLMGT) permet d'ajouter des noms dans la liste d'autorisation, de modifier les droits des utilisateurs de la liste d'autorisation ou de supprimer des noms d'utilisateur de la liste d'autorisation, et de renommer ou de dupliquer une liste d'autorisation.
Remarque :Vous devez utiliser le type d'objet *AUTL lorsque vous indiquez le droit *AUTLMGT.
Autres valeurs (jusqu'à 10 répétitions)
- *OBJALTER
- Ce droit permet de modifier les attributs d'un objet. Si l'utilisateur possède ce droit sur un fichier base de données, il peut ajouter et enlever des déclencheurs ainsi que des contraintes référentielles et uniques ; il peut également modifier ses attributs. S'il détient ce droit sur un module SQL, il peut en modifier les attributs. Le droit de modification des attributs de l'objet est pour le moment réservé aux fichiers base de données et aux modules SQL.
- *OBJEXIST
- Ce droit permet de contrôler la propriété et l'existence d'un objet. Ce droit est nécessaire si l'utilisateur désire supprimer, sauvegarder ou restaurer un objet, transférer sa propriété, ou encore libérer la mémoire correspondante. Si vous disposez du droit spécial de sauvegarde du système (*SAVSYS), vous n'avez pas besoin du droit *OBJEXIST.
- *OBJMGT
- Ce droit permet de définir la sécurité de l'objet, de déplacer ou de renommer l'objet et d'ajouter des membres aux fichiers base de données.
- *OBJOPR
- Ce droit permet d'afficher la description d'un objet et d'utiliser l'objet, comme déterminé par le droit sur les données de l'utilisateur pour l'objet. Ce droit n'est associé à aucun droit sur les données.
- *OBJREF
- Le droit de référence sur l'objet (*OBJREF) permet de faire référence à un objet à partir d'un autre objet. Cet autre objet peut ainsi restreindre les opérations sur le premier. S'il détient ce droit sur un fichier physique, l'utilisateur peut ajouter une contrainte référentielle pour laquelle ce fichier physique est le parent. Ce droit est pour le moment réservé aux fichiers base de données.
- *ADD
- Le droit d'ajout (*ADD) permet d'ajouter des postes à un objet (par exemple, des travaux dans une file d'attente ou des enregistrements dans un fichier).
- *DLT
- Le droit de suppression (*DLT) permet de supprimer des postes d'un objet.
- *EXECUTE
- Le droit d'exécution (*EXECUTE) est nécessaire pour exécuter un programme ou localiser un objet dans une bibliothèque ou un répertoire.
- *READ
- Le droit de lecture (*READ) permet d'afficher le contenu d'un objet.
- *UPD
- Les droits de mise à jour (*UPD) permettent de modifier les postes figurant dans un objet.
Exemples
Exemple 1 : Vérification de l'existence d'un programme
CHKOBJ OBJ(LIB1/PROG1) OBJTYPE(*PGM)
Cette commande permet de vérifier l'existence d'un programme appelé PROG1 dans la bibliothèque LIB1. Vos droits sur PROG1 ne sont pas vérifiés.
Exemple 2 : Vérification de vos droits sur un fichier
CHKOBJ OBJ(SOURCE1) OBJTYPE(*FILE) MBR(MBR3) AUT(*CHANGE)
Cette commande permet de vérifier l'existence du fichier SOURCE1 et du membre MBR3 dans ce fichier. Il permet également de vérifier si vous disposez de droits de modification (*CHANGE) sur le fichier SOURCE1.
Exemple 3 : Vérification de vos droits sur un programme
CHKOBJ OBJ(LIB1/PROG1) OBJTYPE(*PGM) AUT(*CHANGE)
Cette commande permet de vérifier l'existence du programme PROG1 dans la bibliothèque LIB1. Il permet également de vérifier si vous disposez de droits de modification (*CHANGE) sur PROG1.
Exemple 4 : Vérification de vos droits sur un membre de fichier logique
CHKOBJ OBJ(FILEA) OBJTYPE(*FILE) MBR(MBR1) AUT(*USE)
Cette commande permet de vérifier vos droits d'utilisation sur le membre de fichier logique MBR1 et de chaque membre de fichier physique dont dépend MBR1.
Exemple 5 : Vérification de vos droits d'ajout et de suppression
CHKOBJ OBJ(FILEA) OBJTYPE(*FILE) MBR(MBR1) AUT(*ADD *DLT) MONMSG MSGID(CPF9802) EXEC(GOTO ERROR1)
Ces deux commandes (CHKOBJ et MONMSG) permettent de vérifier que vous disposez des droits d'ajout (*ADD) et de suppression (*DLT) sur le fichier logique FILEA et sur chacun des membres de fichier physique dont dépend le membre MBR1 du fichier logique FILEA. Si vous ne disposez pas de droits sur les données pour FILEA et pour chacun des membres de fichier physique dont dépend FILEA, le message d'arrêt programme CPF9802 est envoyé et le contrôle du programme est transmis à la commande dont le label est ERROR1.
Messages d'erreur
Messages *ESCAPE
- CPF9801
- Objet &2 non trouvé dans la bibliothèque &3.
- CPF9802
- Non autorisé à l'objet &2 de &3.
- CPF9810
- Bibliothèque &1 non trouvée.
- CPF9815
- Membre &5 du fichier &2 dans &3 non trouvé.
- CPF9820
- Non autorisé à utiliser la bibliothèque &1.
- CPF9830
- Allocation de la bibliothèque &1 impossible.
- CPF9899
- Erreur lors du traitement de la commande.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.