Aller au contenu

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

  • OBJ Objet obligatoire
  • OBJTYPE Type d'objet obligatoire
  • MBR Membre, si fichier BD
  • AUT Droits

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.