La diferencia entre estas 2 funciones se encuentra en los códigos de
retorno que devuelven.
FINDMEM solo devuelve un código y GETPDS devuelve el nombre de la
librería asignada donde se ha encontrado el miembro.
*** Sintaxis:
FINDMEM(ddname, miembro, fmtSalida)
GETPDS(ddname, miembro, fmtSalida)
ddname - A8 - Es el nombre lógico de la librería particionada. Ha de
ser obligatoriamente de 8 caracteres y debe ir entre comillas simples o
como variable.
miembro - A8 - Es el miembro que buscamos. Igualmente ha de ser de 8
caracteres, ni más ni menos.
fmtSalida - A44 - El campo en el que se devuelve el resultado o el
formato de salida entre comillas simples.
Los valores de salida son (dependiendo de la función usada):
*** FINDMEM - Valores de salida:
Is the field to which the result is returned, or the format of the
output value enclosed in single quotation marks. The result is one of
the following:
Y - El miembro existe en la librería particionada.
N - El miembro no existe en la librería..
E - Error en asignación o la librería no es particionada.
*** GETPDS - Valores de salida:
- El nombre físico de la librería si se encuentra el miembro.
- *D - si la asignación de la librería no es correcta.
- *M - Si el miembro no se encuentra o no existe.
- *E - En Caso de error. Probablemente porque se haya proporcionado un
fichero secuencial en vez de una librería particionada.
*** Ejemplos básicos:
-SET &EXISTE = FINDMEM('MASTER ', 'TBAPP001', 'A44');
-TYPE &EXISTE
-SET &PDS = GETPDS('MASTER ', 'TBAPP001', 'A44');
-TYPE &PDS
*** Ejemplo un poco más elaborado con la función GETPDS.
http://ikax.net?pfmikpds.fex
*** Referencia:
FINDMEM
http://documentation.informationbuilders.com/masterindex/html/html_s390_72/s390_func72/08func03.htm
GETPDS
http://documentation.informationbuilders.com/masterindex/html/html_s390_72/s390_func72/08func04.htm