Come: |
Sistemi operativi disponibili: z/OS
Lingue disponibili: reporting, Maintain
La funzione FINDMEM, disponibile solo su z/OS, determina se un membro specifico di un ser dati partizionato (PDS) esiste. Questa funzione viene usata principalmente nelle procedure Dialogue Manager.
Per usare questa funzione, allocare PDS ad un ddname, poiché il ddname è richiesto nella chiamata della funzione. È possibile ricercare più PDS con una chiamata di funzione, se sono concatenati con un ddname.
FINDMEM(ddname, member, output)
dove:
A8
Il ddname per cui il PDS viene allocato. Questo valore deve essere un valore letterale lungo otto caratteri, racchiuso tra virgolette singole, o una variabile che contiene il ddname. Se si fornisce un valore letterale inferiore ad otto caratteri, inserire degli spazi finali.
A8
Il membro per cui si sta eseguendo la ricerca. Questo valore deve essere lungo otto caratteri. Se si fornisce un valore letterale inferiore ad otto caratteri, inserire degli spazi finali.
A1
Nome del campo che contiene il risultato o il formato del valore di emissione racchiuso tra virgolette singole. Il risultato è uno dei seguenti:
Y indica se il membro esiste in PDS.
N indica il membro non esistente in PDS.
E indica un errore avvenuto. O il set dati non è allocato al ddname, o il set dati allocato al ddname non è un PDS (e potrebbe essere un file sequenziale).
FINDMEM ricerca il file principale EMPLOYEE nel PDS allocato nel MASTER ddname e restituisce il risultato alla variabile &FINDCODE. Il risultato ha il 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
L'emissione è:
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 |
WebFOCUS |