FST
/* 2011/2015 MCSERRA */
/* ----------------------------------------------------------------- */
/* NAO ALTERAR POR FAVOR */
/* FST
TSO/ISPF COMMAND - DESCRICAO SUMARIA DE FILE STATUS CODES
SINTAX:
TSO FST <FILE_SATAUS_CODE>
EXEMPLO: TSO FST 39
*/
/* ----------------------------------------------------------------- */
PARSE ARG FILESTA
"ISPEXEC CONTROL ERRORS RETURN"
FILESTA = STRIP(FILESTA)
IF FILESTA = "" THEN
DO
"ISPEXEC VIEW DATASET('DES.CCS.EXEC(Z#FILEST)')"
EXIT
END
IF LENGTH(FILESTA) = 1 THEN
FILESTA = STRIP(FILESTA)' '
IF DATATYPE(SUBSTR(FILESTA, 1, ), NUMBER) <> 1 THEN
DO
ZEDSMSG = FILESTA ' INVALIDO'
ZEDLMSG = 'FILESTA ' FILESTA ' DEVE SER NUMERICO'
"ISPEXEC SETMSG MSG(ISRZ001)"
EXIT
END
FST.0 = 0
"ALLOC DA('DES.CCS.EXEC(Z#FILEST)') FI(DIN) SHR REU"
"EXECIO * DISKR DIN (STEM FST. OPEN FINIS"
IF RC > 4 THEN
DO
ZEDSMSG = 'ERRO FICH. FILESTAS'
ZEDLMSG = 'ERRO ABERTURA DO FICHEIRO FILESTAS: ' RC
"ISPEXEC SETMSG MSG(ISRZ001)"
EXIT
END
"FREE FI(DIN)"
TOTL = FST.0
IF TOTL = 0 THEN
DO
ZEDSMSG = 'FICH. FILESTAS VAZIO'
ZEDLMSG = 'FICHEIRO FILESTAS SEM DADOS'
"ISPEXEC SETMSG MSG(ISRZ001)"
EXIT
END
RESULT = ""
DO N = 1 TO TOTL
FSTCF = SUBSTR(FST.N, 1, 2)
IF FILESTA = FSTCF THEN
DO
/* SAY FST.N */
ZEDLMSG = STRIP(FST.N)
"ISPEXEC SETMSG MSG(ISRZ001)"
EXIT
END
END
ZEDSMSG = FILESTA ' INEXISTENTE'
ZEDLMSG = 'FILESTA ' FILESTA ' NAO ENCONTRADO NO FICHEIRO'
"ISPEXEC SETMSG MSG(ISRZ001)"
EXIT
/* */
/* 2011/2015 MCSERRA */
Comentários
Enviar um comentário