GETPDS: Déterminer si un membre du jeu de données partitionné existe

Comment :

Systèmes d'exploitation disponibles : z/OS

Langages disponibles : reporting, Maintain

La fonction GETPDS détermine si un membre spécifique d'un jeu de données partitionné (PDS) existe, et si c'est le cas retourne le nom PDS. Cette fonction est utilisée principalement dans les procédures du gestionnaire de dialogue.

Pour utiliser cette fonction, allouez le PDS à un ddname parce que le ddname est requis dans l'appel de fonction. Vous pouvez rechercher plusieurs PDS avec un seul appel de fonction s'ils sont concaténés en un seul ddname.

GETPDS est quasiment identique à FINDMEM, la différence étant que GETPDS retourne soit le nom PDS, soit un autre jeu de code de statut.


Haut de page

x
Syntaxe : Déterminer si un membre PDS existe
GETPDS(ddname, member, output)

où :

ddname

A8

est le ddname auquel le PDS est alloué. Cette valeur doit obligatoirement être un littéral sur huit caractères entouré de guillemets simples, ou une variable contenant le ddname. Si vous fournissez un littéral de moins de huit caractères, complétez-le avec des espaces supplémentaires.

member

A8

est le membre sur lequel la fonction effectue la recherche. Cette valeur doit avoir une longueur de huit caractères. Si vous fournissez un littéral de moins de huit caractères, complétez-le avec des espaces supplémentaires.

output

A44

est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples. La longueur maximale d'un nom PDS est 44. Le résultat peut être l'un des éléments suivants :

Nom PDS est le nom du PDS contenant le membre, s'il existe.

*D indique que le ddname n'est pas alloué au jeu de données.

*M indique que le membre n'existe pas dans le PDS.

*E indique qu'une erreur est survenue. Par exemple, le jeu de données alloué au ddname n'est pas un PDS (peut être un fichier séquentiel).



Exemple : Déterminer si un membre PDS existe

GETPDS effectue une recherche sur le membre spécifié par &MEMBER dans le PDS alloué à &DDNAME, et retourne le résultat dans &PNAME. Le résultat a le format A44.

-SET &DDNAME = 'MASTER  ';
-SET &MEMBER = 'EMPLOYEE';
-SET &PNAME = '                                            ';
-SET &PNAME = GETPDS(&DDNAME, &MEMBER, 'A44');
-IF &PNAME EQ '*D' THEN GOTO DDNOAL;
-IF &PNAME EQ '*M' THEN GOTO MEMNOF;
-IF &PNAME EQ '*E' THEN GOTO DDERROR;
-*
-TYPE MEMBER &MEMBER IS FOUND IN
-TYPE THE PDS &PNAME
-TYPE ALLOCATED TO &DDNAME
-*
-EXIT
-DDNOAL
-*
-TYPE DDNAME &DDNAME NOT ALLOCATED
-*
-EXIT
-MEMNOF
-*
-TYPE MEMBER &MEMBER NOT FOUND UNDER DDNAME &DDNAME
-*
-EXIT
-DDERROR
-*
-TYPE ERROR IN GETPDS; DATA SET PROBABLY NOT A PDS.
-*
-EXIT

La sortie est similaire à la suivante :

MEMBER EMPLOYEE IS FOUND IN
THE PDS USER1.MASTER.DATA
ALLOCATED TO MASTER


Exemple : Affichage des attributs d'un PDS

Pour visualiser les attributs d'un PDS contenant un nombre spécifique, cette procédure de gestionnaire de dialogue peut effectuer une recherche sur le membre EMPLOYEE dans le PDS alloué au ddname MASTER et, en fonction de son existence, peut allouer le PDS au ddname TEMPMAST. Les variables système du gestionnaire de dialogue sont utilisée pour afficher les attributs.

-SET &DDNAME = 'MASTER  ';
-SET &MEMBER = 'EMPLOYEE';
-SET &PNAME = '                                            ';
-SET &PNAME = GETPDS(&DDNAME, &MEMBER, 'A44');
-IF &PNAME EQ '*D' OR '*M' OR '*E' THEN GOTO DDERROR;
-*
DYNAM ALLOC FILE TEMPMAST DA -
   &PNAME SHR
-RUN
-? MVS DDNAME TEMPMAST
-TYPE The data set attributes include:
-TYPE Data set name is: &DSNAME
-TYPE Volume is: &VOLSER
-TYPE Disposition is: &DISP
-EXIT
-*
-DDERROR
-TYPE Error in GETPDS; Check allocation for &DDNAME for
-TYPE proper allocation.
-*
-EXIT

La sortie Excel est :

THE DATA SET ATTRIBUTES INCLUDE:
DATA SET NAME IS: USER1.MASTER.DATA
VOLUME IS: USERM0
DISPOSITION IS: SHR

Information Builders