Aller au contenu

RTVMBRD

Extraire description de membre

En bref

La commande RTVMBRD (Extraire description de membre) est utilisée dans un programme CL ou dans une procédure REXX pour extraire (renvoyer) les informations au niveau des membres (des variables CL) à partir d'un fichier base de données.

RTVMBRD se lit RTV (Extraire (récupérer)) + MBRD. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

RTVMBRD FILE(…)

Paramètres

Astuce : dans une session 5250, tapez RTVMBRD 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 : Compiled CL program or interpreted REXX (*BPGM *IPGM *BREXX *IREXX)
Compatible multitâche : Non

La commande RTVMBRD (Extraire description de membre) est utilisée dans un programme CL ou dans une procédure REXX pour extraire (renvoyer) les informations au niveau des membres (des variables CL) à partir d'un fichier base de données.

Les valeurs sont renvoyées (copiées) dans les variables CL indiquées. Les types d'informations de membre suivants peuvent être extraits :

  • Le nom de la bibliothèque.
  • Le nom du membre.
  • L'attribut du fichier.
  • Le type de fichier.
  • Le type du source.
  • La date du source.
  • La date de création.
  • La date de péremption.
  • Le texte du membre.
  • Le nombre d'enregistrements non supprimés.
  • Le nombre d'enregistrements supprimés.
  • L'état du chemin d'ouverture (partagé ou non partagé).
  • La taille de l'espace mémoire.
  • La taille du chemin d'accès.
  • La date de modification.
  • La date de sauvegarde.
  • La date de restauration.
  • Le nombre de membres de données.
  • La date de dernière utilisation.
  • Le nombre de jours d'utilisation.
  • La date et le nombre de jours de restauration.

Paramètres

Mot-clé Description Valeurs possibles Remarques
FILE Fichier Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Fichier Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
MBR Membre Valeurs uniques: *FIRST, *LAST
Autres valeurs: Liste d'éléments
Facultatif
Élément 1: Membre de référence Nom générique, nom, *FIRSTMBR, *LASTMBR
Élément 2: Relation *SAME, *NEXT, *PRV
RTNSYSTEM Variable pour RTNSYSTEM (4) Valeur caractère Facultatif
RTNLIB Variable pour RTNLIB (10) Valeur caractère Facultatif
RTNMBR Variable pour RTNMBR (10) Valeur caractère Facultatif
FILEATR Variable pour FILEATR (3) Valeur caractère Facultatif
FILETYPE Variable pour FILETYPE (5) Valeur caractère Facultatif
SRCTYPE Variable pour SRCTYPE (10) Valeur caractère Facultatif
SRCCHGDATE Variable pour SRCCHGDATE (13) Valeur caractère Facultatif
CRTDATE Variable pour CRTDATE (13) Valeur caractère Facultatif
EXPDATE Variable pour EXPDATE (7) Valeur caractère Facultatif
TEXT Variable pour TEXT (50) Valeur caractère Facultatif
NBRCURRCD Variable pour NBRCURRCD (10 0) Nombre décimal Facultatif
NBRDLTRCD Variable pour NBRDLTRCD (10 0) Nombre décimal Facultatif
SHARE Variable pour SHARE (4) Valeur caractère Facultatif
DTASPCSIZ Variable pour DTASPCSIZ (15 0) Sans restriction Facultatif
ACCPTHSIZ Variable pour ACCPTHSIZ (12 0) Sans restriction Facultatif
CHGDATE Variable pour CHGDATE (13) Valeur caractère Facultatif
SAVDATE Variable pour SAVDATE (13) Valeur caractère Facultatif
RSTDATE Variable pour RSTDATE (13) Valeur caractère Facultatif
NBRDTAMBRS Variable pour NBRDTAMBRS (2 0) Nombre décimal Facultatif
USEDATE Variable pour USEDATE (7) Valeur caractère Facultatif
USECOUNT Variable pour USECOUNT (5 0) Nombre décimal Facultatif
RESETDATE Variable pour RESETDATE (7) Valeur caractère Facultatif

Fichier (FILE)

Indique le fichier qui contient la description de membre à extraire.

Ce paramètre est obligatoire.

Remarque :Pour pouvoir extraire une description de membre, vous devez disposer du droit d'utilisation (*USE) sur le fichier et du droit d'exécution (*EXECUTE) sur la bibliothèque.

Qualificatif 1 : Fichier

nom
Indiquez le nom du fichier contenant le membre fichier.

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 s'effectue dans la bibliothèque en cours du travail. Si celle-ci n'est pas définie dans la liste des bibliothèques, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque dans laquelle s'effectuera la recherche.

Membre (MBR)

Indique le membre dont la description est extraite. Une valeur simple (*FIRST ou *LAST), ou une valeur double (membre de référence et relation) peut être précisée.

Valeurs uniques

*FIRST
Désigne le premier membre d'une liste classée par dates.
*LAST
Désigne le dernier membre d'une liste classée par dates.

Elément 1 : Membre de référence

*FIRSTMBR
Désigne le premier membre d'une liste classée par noms. (La valeur de la relation doit être *SAME).
*LASTMBR
Désigne le dernier membre d'une liste classée par noms. (La valeur de la relation doit être *SAME).
nom
Indiquez le nom du membre de référence. La relation entre le membre extrait et le membre de référence est précisée par le second élément de ce paramètre (*SAME, *NEXT ou *PRV). Si une variable est indiquée, il devra s'agir d'une zone de 10 caractères contenant le nom du membre de référence.
nom-générique
Indiquez les premiers caractères du nom du membre recherché, suivis d'un astérisque. Ainsi, le premier membre commençant par ces caractères sera extrait de la liste classée par noms. (La valeur de la relation doit être *SAME).

Elément 2 : Relation

*SAME
Désigne le membre de référence.
*NEXT
Désigne le membre qui suit immédiatement le membre de référence dans une liste classée par noms.
*PRV
Désigne le membre qui précède immédiatement le membre de référence dans une liste classée par noms.

Variable pour RTNSYSTEM (4) (RTNSYSTEM)

Indique le nom d'une variable utilisée pour extraire le nom du système dont a été extrait le fichier. Dans les programmes CL, il devra s'agir d'une variable de 4 caractères.

Les valeurs à recevoir sont *LCL (fichier du système local) et *RMT (fichier d'un système éloigné).

Variable pour RTNLIB (10) (RTNLIB)

Indique le nom d'une variable utilisée pour extraire le nom de la bibliothèque dans laquelle se trouve le fichier contenant le membre fichier indiqué. Dans les programmes CL, il devra s'agir d'une variable de 10 caractères.

Variable pour RTNMBR (10) (RTNMBR)

Indique le nom d'une variable utilisée pour extraire le nom du membre fichier dont la description est en cours d'extraction. Dans les programmes CL, il devra s'agir d'une variable de 10 caractères.

Variable pour FILEATR (3) (FILEATR)

Indique le nom d'une variable utilisée pour extraire l'attribut de fichier. Dans les programmes CL, il devra s'agir d'une variable de 3 caractères.

Les valeurs qui peuvent être reçues sont *PF (membre de fichier physique) et *LF (membre de fichier logique).

Variable pour FILETYPE (5) (FILETYPE)

Indique le nom d'une variable utilisée pour extraire le type de fichier. Dans les programmes CL, il devra s'agir d'une variable de 5 caractères.

Les valeurs reçues sont *DATA (membre de fichier données) et *SRC (membre de fichier source).

Variable pour SRCTYPE (10) (SRCTYPE)

Indique le nom d'une variable utilisée pour extraire le type de membre de fichier source s'il s'agit d'un membre de fichier source. Les caractères blancs sont renvoyés s'il ne s'agit pas d'un membre de fichier source. Dans les programmes CL, il devra s'agir d'une variable de 10 caractères.

Variable pour SRCCHGDATE (13) (SRCCHGDATE)

Indique le non d'une variable CL de 13 caractères, destinée à recevoir le siècle, la date et l'heure des dernières modifications effectuées sur le membre de fichier source. Le format correspondant est SAAMMJJHHMMSS où S = siècle (0 = 1940 à 1999 et 1 = 2000 à 2039), A = Année, M = Mois, J = Jour, H = Heure, M = Minutes et S = Secondes.

Si aucune date n'est disponible, des blancs sont envoyés en retour. Les fichiers éloignés non-IBM i et non-IBM 38 ou un fichier physique non-source renverront des blancs.

Variable pour CRTDATE (13) (CRTDATE)

Indique le nom d'une variable utilisée pour extraire le siècle, la date et le temps de création du membre de fichier. Dans les programmes CL, il devra s'agir d'une variable de 13 caractères. Le format correspondant est SAAMMJJHHMMSS où S = siècle (0 = 1940 à 1999 et 1 = 2000 à 2039), A = Année, M = Mois, J = Jour, H = Heure, M = Minutes et S = Secondes.

Variable pour EXPDATE (7) (EXPDATE)

Indique le nom d'une variable utilisée pour extraire la date et le siècle d'expiration du membre de fichier. Dans les programmes CL, il devra s'agir d'une variable de 7 caractères. Le format correspondant est SAAMMJJ où S = Siècle (0 = 1940 à 1999 et 1 = 2000 à 2039), A = Année, M = Mois et J = Jour.

*NONE est reçu si aucune date n'est disponible.

Variable pour TEXT (50) (TEXT)

Indique le nom d'une variable utilisée pour extraire le texte du membre de fichier. Dans les programmes CL, il devra s'agir d'une variable de 50 caractères.

Variable pour NBRCURRCD (10 0) (NBRCURRCD)

Indique le nom d'une variable utilisée pour extraire le nombre actuel d'enregistrements non supprimés de ce membre de fichier. Dans les programmes CL, il devra s'agir d'une variable décimale de 10 positions.

S'il s'agit d'un membre logique avec clé, le nombre de postes d'index est renvoyé. Pour les membres logiques sans clé, le nombre d'enregistrements non supprimés dans le membre de fichier physique sous-jacent est renvoyé.

Pour un fichier logique joint, le nombre d'enregistrements renvoyés est un total de tous les enregistrements non supprimés dans les fichiers joints. Ce nombre comprend les enregistrements existants dans le fichier secondaire qui ne correspondent à aucun enregistrements du fichier principal. Si des critères d'omission ou de sélection sont utilisés, le nombre d'enregistrements renvoyés est réduit ou augmenté par le nombre d'enregistrements correspondant aux critères de sélection dans les fichiers indiqués.

Variable pour NBRDLTRCD (10 0) (NBRDLTRCD)

Indique le nom d'une variable utilisée pour extraire le nombre actuel d'enregistrements supprimés du membre de fichier. Dans les programmes CL, il devra s'agir d'une variable décimale de 10 positions. La valeur zéro (0) est renvoyée pour les fichiers logiques avec clé. Les fichiers non-IBM i et non-IBM 38 renvoient la valeur 0. Pour les fichiers logiques sans clé, le nombre d'enregistrements supprimés dans le membre de fichier physique sous-jacent est renvoyé.

Variable pour SHARE (4) (SHARE)

Indique le nom d'une variable utilisée pour extraire une valeur indiquant si le chemin d'ouverture (ODP) permet ou non le partage avec d'autres programmes dans le même travail. Dans les programmes CL, il devra s'agir d'une variable de 4 caractères.

Les valeurs pour le partage du chemin d'ouverture (ODP) sont *YES (partage admis) et *NO (partage non admis).

Les fichiers éloignés non-IBM i et non-IBM 38 renvoient *NO.

Variable pour DTASPCSIZ (15 0) (DTASPCSIZ)

Indique le nom d'une variable utilisée pour extraire la taille de l'espace de données (en octets) de ce membre de fichier. Dans les programmes CL, il devra s'agir d'une variable décimale de 15 positions. S'il s'agit d'un membre de fichier logique, la valeur zéro (0) est renvoyée.

Variable pour ACCPTHSIZ (12 0) (ACCPTHSIZ)

Indique le nom d'une variable utilisée pour extraire la taille du chemin d'accès (en octets) pour ce membre de fichier. Dans les programmes CL, il devra s'agir d'une variable décimale de 12 positions. S'il s'agit d'un membre de fichier sans clé, la valeur zéro (0) est renvoyée. Les fichiers non-IBM i et non-IBM 38 renvoient la valeur 0.

Variable pour CHGDATE (13) (CHGDATE)

Indique le nom d'une variable utilisée pour extraire le siècle, la date et le temps de modification de fichier. Dans les programmes CL, il devra s'agir d'une variable de 13 caractères. Le format correspondant est SAAMMJJHHMMSS où S = siècle (0 = 1940 à 1999 et 1 = 2000 à 2039), A = Année, M = Mois, J = Jour, H = Heure, M = Minutes et S = Secondes.

Variable pour SAVDATE (13) (SAVDATE)

Indique le nom d'une variable utilisée pour extraire le membre de fichier et le siècle, la date et l'heure de sauvegarde. Dans les programmes CL, il devra s'agir d'une variable de 13 caractères. Le format correspondant est SAAMMJJHHMMSS où S = siècle (0 = 1940 à 1999 et 1 = 2000 à 2039), A = Année, M = Mois, J = Jour, H = Heure, M = Minutes et S = Secondes.

Si aucune date n'est disponible, des blancs sont envoyés en retour. Les fichiers éloignés non-IBM i et non-IBM 38 renvoient des blancs.

Variable pour RSTDATE (13) (RSTDATE)

Indique le nom d'une variable utilisée pour extraire le membre de fichier et le siècle, la date et l'heure de restauration. Dans les programmes CL, il devra s'agir d'une variable de 13 caractères. Le format correspondant est SAAMMJJHHMMSS où S = siècle (0 = 1940 à 1999 et 1 = 2000 à 2039), A = Année, M = Mois, J = Jour, H = Heure, M = Minutes et S = Secondes.

Si aucune date n'est disponible, des blancs sont envoyés en retour. Les fichiers éloignés non-IBM i et non-IBM 38 renvoient des blancs.

Variable pour NBRDTAMBRS (2 0) (NBRDTAMBRS)

Indique le nom d'une variable CL de 2 chiffres, destinée à recevoir le nombre de membres de données correspondant à ce membre logique. S'il s'agit d'un membre physique, la valeur 0 est envoyée en retour.

Variable pour USEDATE (7) (USEDATE)

Indique le nom d'une variable utilisée pour renvoyer la dernière date et le dernier siècle de membre utilisés. Dans les programmes CL, il devra s'agir d'une variable de 7 caractères. Le format correspondant est SAAMMJJ où S = Siècle (0 = 1940 à 1999 et 1 = 2000 à 2039), A = Année, M = Mois et J = Jour.

Variable pour USECOUNT (5 0) (USECOUNT)

Indique le nom d'une variable utilisée pour renvoyer le nombre de jours d'utilisation du membre. Dans les programmes CL, il devra s'agir d'une variable décimale de 5 positions. Si cette information n'existe pas, 0 est envoyé en retour.

Variable pour RESETDATE (7) (RESETDATE)

Indique le nom d'une variable CL de 7 caractères, destinée à recevoir le siècle et la date à laquelle le compteur de jours d'utilisation a été remis à 0 pour la dernière fois. Dans les programmes CL, il devra s'agir d'une variable de 7 caractères. Le format correspondant est SAAMMJJ où S = Siècle (0 = 1940 à 1999 et 1 = 2000 à 2039), A = Année, M = Mois et J = Jour. Si le compteur n'a pas été initialisé, des blancs seront envoyés en retour.

Exemples

Dans ces exemples, l'on suppose que l'utilisateur dispose d'un fichier nommé MYFILE dans la bibliothèque MYLIB (bibliothèque en cours) composé des membres QMEMBER, BMEMBER, ZMEMBER et JMEMBER (créés dans cet ordre).

L'on suppose également que les variables suivantes sont indiquées dans le programme CL :

DCL  &LIB        TYPE(*CHAR) LEN(10)
DCL  &MBR        TYPE(*CHAR) LEN(10)
DCL  &SYS        TYPE(*CHAR) LEN(4)
DCL  &MTYPE      TYPE(*CHAR) LEN(5)
DCL  &CRTDATE    TYPE(*CHAR) LEN(13)
DCL  &CHGDATE    TYPE(*CHAR) LEN(13)
DCL  &TEXT       TYPE(*CHAR) LEN(50)
DCL  &NBRRCD     TYPE(*DEC) LEN(10 0)
DCL  &SIZE       TYPE(*DEC) LEN(10 0)

Exemple 1 : Extraction de valeurs de description de membre

RTVMBRD   FILE(*CURLIB/MYFILE)  MBR(BMEMBER *SAME)  +
          RTNLIB(&LIB)  RTNSYSTEM(&SYS)  +
          RTNMBR(&MBR)  FILEATR(&MTYPE)  +
          CRTDATE(&CRTDATE)  TEXT(&TEXT)  +
          NBRCURRCD(&NBRRCD)  DTASPCSIZ(&SIZE)

Cette commande permet d'extraire la description du membre BMEMBER du fichier MYFILE localisé à partir de la liste des bibliothèques. Les informations demandées sont placées dans les variables CL comme suit :

  • Le nom de la bibliothèque en cours (MYLIB) est placé dans la variable CL nommée &LIB.
  • Le nom du système sur lequel le fichier MYFILE a été trouvé est placé dans la variable CL nommée &SYS. (*LCL indique que le fichier a été trouvé sur le système local, et *RMT indique que le fichier a été trouvé sur le système éloigné.)
  • Le nom de membre (BMEMBER) est placé dans la variable CL nommée &MBR.
  • L'attribut du fichier MYFILE est placé dans la variable CL nommée &MTYPE. (*DATA signifie que le membre est un membre de données, et *SRC signifie que le membre est un membre source.)
  • La date de création de BMEMBER est placée dans la variable CL nommée &CRTDATE.
  • Le texte associé à BMEMBER est placé dans la variable CL nommée &TEXT.
  • Le nombre d'enregistrements en cours de BMEMBER est placé dans la variable CL nommée &NBRRCD.
  • La taille de l'espace de données de BMEMBER (en octets) est placée dans la variable CL nommée &SIZE.

Exemple 1 : Extraction de la description de membre suivante

RTVMBRD   FILE(&LIB/MYFILE)  MBR(&MBR *NEXT)  +
          RTNMBR(&MBR)  CRTDATE(&CRTDATE)  +
          TEXT(&TEXT)  NBRCURRCD(&NBRRCD)  +
          DTASPCSIZ(&SIZE)

Cette commande permet d'extraire la description du membre de fichier "suivant" (par ordre de nom). Les informations demandées sont placées dans les variables CL comme suit :

  • Le nom du membre suivant BMEMBER (JMEMBER étant donné que la recherche s'effectue par ordre de nom) dans MYFILE est placé dans la variable CL nommée &MBR.
  • La date de création de JMEMBER est placée dans la variable CL nommée &CRTDATE.
  • Le texte associé à JMEMBER est placé dans la variable CL nommée &TEXT.
  • Le nombre d'enregistrements en cours de JMEMBER est placé dans la variable CL nommée &NBRRCD.
  • La taille de l'espace de données de JMEMBER (en octets) est placée dans la variable CL nommée &SIZE.

La recherche dans le fichier peut également être effectuée dans le sens inverse. Exemple :

RTVMBRD   FILE(*CURLIB/MYFILE)  MBR(ZMEMBER *PRV)  +
          RTNMBR(&MBR)  CHGDATE(&CHGDATE)  TEXT(&TEXT)

Les informations demandées sont placées dans les variables CL comme suit :

  • Le nom de membre (QMEMBER puisqu'il s'agit du membre juste avant le membre ZMEMBER dans une liste triée par nom) est placé dans la variable CL nommée &MBR.
  • La date à laquelle QMEMBER a été modifié pour la dernière fois est placée dans la variable CL nommée &CHGDATE.
  • Le texte associé à QMEMBER est placé dans la variable CL nommée &TEXT.

Si seule la première partie du nom de membre est connue, vous pouvez effectuer une recherche de nom générique (ou nom partiel) dans la liste de membres, comme suit :

RTVMBRD   FILE(*LIBL/MYFILE)  MBR(JM*)  RTNMBR(&MBR)  +
          CHGDATE(&CHGDATE)  TEXT(&TEXT)

Les informations demandées sont placées dans les variables CL comme suit :

  • Le nom de membre (JMEMBER puisqu'il s'agit du premier membre dont le nom commence par JM dans une liste triée par nom) est placé dans la variable CL nommée &MBR.
  • La date à laquelle JMEMBER a été modifié pour la dernière fois est placée dans la variable CL nommée &CHGDATE.
  • Le texte associé à JMEMBER est placé dans la variable CL nommée &TEXT.

Messages d'erreur

Messages *ESCAPE

CPF3018
Membre &3 pour fichier &1 de &2 non disponible.
CPF3019
Le fichier &1 de &2 ne contient pas de membre.
CPF3027
&1 de &2 n'est pas un fichier base de données.
CPF3038
Attributs incorrects pour la variable en retour &1.
CPF3039
Variable en retour &1 trop petite pour contenir les résultats.
CPF3049
Le membre *NEXT ou *PRV n'existe pas.
CPF3051
Fichier &1 dans bibliothèque &2 non disponible.
CPF325F
Echec de la conversion de texte.
CPF327B
Extraction des informations du fichier &1 impossible.
CPF8109
Dommage &8 sur fichier base de données physique &4.
CPF8110
Dommage &8 sur fichier logique &4 de &9. VLOG-&7.
CPF8111
Dommage &8 sur membre &9 du fichier &4.
CPF9803
Impossible d'allouer l'objet &2 de la bibliothèque &3.
CPF9806
Impossible d'exécuter fonction pour objet &2 de &3.
CPF9810
Bibliothèque &1 non trouvée.
CPF9812
Fichier &1 non trouvé dans la bibliothèque &2.
CPF9815
Membre &5 du fichier &2 dans &3 non trouvé.
CPF9820
Non autorisé à utiliser la bibliothèque &1.
CPF9822
Non autorisé au fichier &1 de &2.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.