FLB
/* REXX */
/* NAO ALTERAR POR FAVOR */
/* FLB */
/* MACRO EDIT - BROWSE DE FICHEIROS COM BASE NA POSIçãO DO CURSOR */
/* DO CURSOR DENTRO DE JCL */
/* (OPTIMIZADO SE UTILIZADO EM TECLA DE FUNCAO) */
/* */
/* TECLA DE FUNCAO RECOMENDADA: PF18 */
/* */
/* */
/* ***************************************************************** */
/* browse de ficheiros com base na posição do cursor dentro de jcl */
/* ***************************************************************** */
address ispexec
"CONTROL ERRORS RETURN"
"ISREDIT MACRO"
"ISREDIT (DSLINE) = LINE .ZCSR"
"VGET ZSCREEN"
start = pos('DSN=',dsline)
if start = 0 then
exit
start = start + 4
len = pos(',',dsline,start)
if len = 0 then
len = pos(' ',dsline,start)
len = len - start
dsname = substr(dsline,start,len)
dsname = strip(dsname,B,"'")
dsname = "'"dsname"'"
x = msg('OFF')
address tso "ALLOC DDNAME(FLB"zscreen") DSNAME("dsname") SHR"
/* dsirc = listdsi(dsname) - not working due to unit error */
dsirc = listdsi('FLB'zscreen' FILE')
select
when dsirc > 4 then
do
say 'DATASET' dsname 'HAD A RETURN CODE OF' dsirc':'sysreason
end /* do */
when sysused = 0 then
do
say 'DATASET' dsname 'IS EMPTY'
end /* do */
when wordpos(sysdsorg,'PS PSU PO POU') > 0 & , /* valid orgs */
pos(sysrecfm,'S') = 0 then /* no spanned */
do
"ISPEXEC BROWSE DATASET("dsname")"
end /* do */
end /* select */
zz000:
address tso "FREE FILE(FLB"zscreen")"
x = msg('ON')
exit
Comentários
Enviar um comentário