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.
GETPDS(ddname, member, output)
où :
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.
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.
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).
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
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 |