Cómo: |
Sistemas operativos disponibles: z/OS
Idiomas disponibles: informes, Maintain
La función GETPDS determina si existe un miembro específico de un conjunto de datos con particiones (PDS) y, en caso afirmativo, devuelve el nombre del PDS. Esta función se utiliza, principalmente, en procedimientos de Dialogue Manager.
Para usar esta función, asigne el PDS a ddname, ya que ddname es obligatorio en la llamada de función. Puede buscar varios PDS con una llamada de función, si están concatenados a un ddname.
GETPDS es prácticamente idéntica a FINDMEM, con la excepción de que GETPDS, o proporciona el nombre del PDS o devuelve un conjunto de códigos de estado diferente.
GETPDS(ddname, member, output)
donde:
A8
Es el ddname al que se ha asignado el PDS. Este valor debe ser un literal de ocho caracteres, entre comillas simples, o una variable que contenga el ddname. Si introduce un literal de menos de ocho caracteres, rellénelo con espacios finales.
A8
Es el miembro que busca la función. Este valor debe tener ocho caracteres de longitud. Si introduce un literal de menos de ocho caracteres, rellénelo con espacios finales.
A44
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas. La longitud máxima del nombre de un PDS es de 44. El resultado es uno de los siguientes:
PDS name es el nombre del PDS que contiene el miembro, si existe.
*D indica que el ddname no está asignado a un conjunto de datos.
*M indica que el miembro no existe en el PDS.
*E indica que se ha producido un error. Por ejemplo, si el conjunto de datos asignado al ddname no es un PDS (puede que sea un archivo secuencial).
GETPDS busca el miembro especificado por &MEMBER, en el PDS asignado a &DDNAME, y devuelve el resultado a &PNAME. El resultado está en formato 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 salida es similar a ésta:
MEMBER EMPLOYEE IS FOUND IN THE PDS USER1.MASTER.DATA ALLOCATED TO MASTER
Para poder ver los atributos del PDS que contiene un miembro específico, este procedimiento de Dialogue Manager busca el miembro EMPLOYEE en el PDS asignado al ddname MASTER y, en función de su existencia, asigna el PDS al ddname TEMPMAST. Las variables del sistema de Dialogue Manager se usan para mostrar los atributos.
-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 salida de ejemplo es:
THE DATA SET ATTRIBUTES INCLUDE: DATA SET NAME IS: USER1.MASTER.DATA VOLUME IS: USERM0 DISPOSITION IS: SHR
WebFOCUS |