Como: |
Sistemas Operacional Disponíveis: z/OS
Linguagens Disponíveis: Reporting, Maintain
A função FINDMEM, disponível apenas em z/OS, determina se um membro específico de um conjunto de dados particionado (PDS) existe. 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.
FINDMEM(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 você está procurando. 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.
A1
É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O resultado é um dos seguintes:
Y indica que o membro existe no PDS.
N indica que o membro não existe no PDS.
E indica a ocorrência de um erro. O conjunto de dados não está alocado para o ddname ou o conjunto alocado para o ddname não é um PDS (e pode ser um arquivo sequencial).
FINDMEM procura o Arquivo Master EMPLOYEE no PDS alocado para o ddname MASTER, e exibe o resultado para a variável &FINDCODE. O resultado possui o formato A1:
-SET &FINDCODE = FINDMEM('MASTER ', 'EMPLOYEE', 'A1');-IF &FINDCODE EQ 'N' GOTO NOMEM;
-IF &FINDCODE EQ 'E' GOTO NOPDS;
-TYPE MEMBER EXISTS, RETURN CODE = &FINDCODE
TABLE FILE EMPLOYEE
PRINT CURR_SAL BY LAST_NAME BY FIRST_NAME
WHERE RECORDLIMIT EQ 4;
END
-EXIT
-NOMEM
-TYPE EMPLOYEE NOT FOUND IN MASTER FILE PDS
-EXIT
-NOPDS
-TYPE ERROR OCCURRED IN SEARCH
-TYPE CHECK IF FILE IS A PDS ALLOCATED TO DDNAME MASTER
-EXIT
A saída é:
LAST_NAME | FIRST_NAME | CURR_SAL |
-------- | ---------- | -------- |
JONES SMITH STEVENS | DIANE MARY RICHARD ALFRED | $18,480.00 $13,200.00 $9,500.00 $11,000.00 |
Information Builders |