/* REXX */ /*EDIT DE FICHERO SEGUN POSICION DEL CURSOR DSN= */ ADDRESS ISPEXEC "ISREDIT MACRO" ADDRESS ISPEXEC "ISREDIT (LIN,COL) = CURSOR " ADDRESS ISPEXEC "ISREDIT (LINEA) = LINE " LIN X=BFILE() /* BUSCA NOMBRE */ X=VFILE() /* VALIDA FILE */ RETURN 0 BFILE: /* BUSCA NOMBRE FICHERO EN LA LINEA */ F = INDEX(LINEA,'DSN=') IF F = 0 THEN DO FILE = STRIP(SUBWORD(SUBSTR(LINEA,COL),1,1),T,',') FILE = STRIP(FILE,,"'") F = INDEX(FILE,"')") IF F = 0 THEN DO FILE = SUBSTR(FILE,1,F-1) END END ELSE DO FILE = SUBWORD(SUBSTR(LINEA,F+4),1,1) F = INDEX(FILE,',') IF F <> 0 THEN DO FILE = SUBSTR(FILE,1,F-1) END F = INDEX(FILE,'(') IF F <> 0 THEN DO /*-- EXTRACT GDG VERSION --*/ GDGVERS = SUBSTR(FILE, F+1, INDEX(FILE,')')-F-1) IF SUBSTR(GDGVERS, 1, 1) = '+' THEN IN = 0 ELSE DO IF SUBSTR(GDGVERS, 1, 1) = '-' THEN IN = SUBSTR(GDGVERS, 2, LENGTH(GDGVERS)-1) ELSE IN = 0 END FILE = SUBSTR(FILE,1,F-1) /*-- LIST ALL GDG ENTRIES FOR THIS DATASET. --*/ Q = OUTTRAP(DATA.) "LISTC ENT('"||FILE||"')" Q = OUTTRAP(OFF) /*-- DETERMINE THE CURRENT GDG DATASET NAME --*/ REC = DATA.0 -(2*IN+1) PARSE VAR DATA.REC . . FILE END END FILE = STRIP(FILE,,' ') RETURN 0 VFILE: IF FILE <> '' THEN DO IF SYSDSN(FILE) <> 'OK' THEN DO SAY FILE || ' NO ENCONTRADO.' END ELSE DO ISPEXEC "EDIT DATASET('"FILE"')" END END RETURN 0