Como: |
Sistemas Operacional Disponíveis: z/OS
Linguagens Disponíveis: Reporting, Maintain
A função GETPDS determina se um membro específico de um conjunto de dados particionados (PDS) existe e, se existir, exibe o nome do PDS. Esta função é utilizada principalmente em procedimentos do Gerenciador de Diálogos.
Para utilizar esta função, é necessário alocar o PDS em um ddname, pois o ddname é obrigatório para chamar a função. É possível pesquisar diversos PDSs com uma chamada de função caso eles estejam concatenados em um ddname.
GETPDS é quase idêntico ao FINDMEM, mas GETPDS fornece o nome do PDS ou exibe um conjunto diferente de códigos de status.
GETPDS(ddname, member, output)
onde:
A8
É o ddname no qual o PDS está alocado. Este valor deve ser um literal de oito caracteres entre aspas simples ou uma variável que contém o ddname. Se você fornecer um literal com menos de oito caracteres, preencha os espaços vazios com espaços à direita.
A8
É o membro pelo qual a função procura. Este valor deve possuir oito caracteres. Se você fornecer um literal com menos de oito caracteres, preencha os espaços vazios com espaços à direita.
A44
É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O comprimento máximo de um nome PDS é 44. O resultado é um dos seguintes:
Nome do PDS é o nome do PDS que contém o membro, caso exista.
*D indica que o ddname não está alocado em um conjunto de dados.
*M indica que o membro não existe no PDS.
*E indica a ocorrência de um erro. Por exemplo, o conjunto de dados alocado no ddname não é um PDS (e pode ser um arquivo sequencial).
A função GETPDS procura pelo membro especificado pelo &MEMBER no PDS alocado em &DDNAME e exibe o resultado em &PNAME. O resultado possui o 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
A saída é parecida com o exemplo a seguir:
MEMBER EMPLOYEE IS FOUND IN THE PDS USER1.MASTER.DATA ALLOCATED TO MASTER
Para visualizar os atributos do PDS que contêm um membro específico, este procedimento do Dialogue Manager pode pesquisar o membro EMPLOYEE no PDS Alocado no ddname MASTER e, com base em sua existência, aloque o PDS no ddname TEMPMAST. As variáveis do sistema do Dialogue Manager são utilizadas para exibir os 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
A saída de exemplo é:
THE DATA SET ATTRIBUTES INCLUDE: DATA SET NAME IS: USER1.MASTER.DATA VOLUME IS: USERM0 DISPOSITION IS: SHR
Information Builders |