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
-
FILEFichier obligatoire -
MBRMembre -
RTNSYSTEMVariable pour RTNSYSTEM (4) -
RTNLIBVariable pour RTNLIB (10) -
RTNMBRVariable pour RTNMBR (10) -
FILEATRVariable pour FILEATR (3) -
FILETYPEVariable pour FILETYPE (5) -
SRCTYPEVariable pour SRCTYPE (10) -
SRCCHGDATEVariable pour SRCCHGDATE (13) -
CRTDATEVariable pour CRTDATE (13) -
EXPDATEVariable pour EXPDATE (7) -
TEXTVariable pour TEXT (50) -
NBRCURRCDVariable pour NBRCURRCD (10 0) -
NBRDLTRCDVariable pour NBRDLTRCD (10 0) -
SHAREVariable pour SHARE (4) -
DTASPCSIZVariable pour DTASPCSIZ (15 0) -
ACCPTHSIZVariable pour ACCPTHSIZ (12 0) -
CHGDATEVariable pour CHGDATE (13) -
SAVDATEVariable pour SAVDATE (13) -
RSTDATEVariable pour RSTDATE (13) -
NBRDTAMBRSVariable pour NBRDTAMBRS (2 0) -
USEDATEVariable pour USEDATE (7) -
USECOUNTVariable pour USECOUNT (5 0) -
RESETDATEVariable pour RESETDATE (7)
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.