REXX (REstructured eXtended eXecutor) e uma lingua de programacao interpretada criada por r Mike Cowlishaw . Nas palavras de seu criador, REXX é uma linguagem de programação que foi desenvolvida para os usuários e não para a conveniência dos implementadores — aqueles que implementam compiladores e interpretadores.
É uma linguagem estruturada de alto nível para ambiente de multi-plataforma, implementada através de versões comerciais ou livres desde desktops até em mainframes.
Para escrever teus codigos em Rexx, voce pode usar o ISPF edit ou o compilador do mesmo. Antes de comecar qualquer codigo em Rexx, use /* Rexx */ para indicar ao edit que voce esta programando em rexx.
DICA: Use hilite no edit do ISPF para colorir seu codigo (ajuda muuuito a identificar seu codigo)
Criando um Painel
Para aprender a fazer um painel ISPF de um início de um scanner interativo porta REXX/ISPF foi criado o 'The PiNGeRaToR';
Script Completo
Comigo funcionou somente assim, depois de logar no TSO saiu e em READ dou o nome do membro que criei dai consigo pesquisar o IP;
Fonte - Clique Aqui
Script - Clique Aqui
Para escrever teus codigos em Rexx, voce pode usar o ISPF edit ou o compilador do mesmo. Antes de comecar qualquer codigo em Rexx, use /* Rexx */ para indicar ao edit que voce esta programando em rexx.
DICA: Use hilite no edit do ISPF para colorir seu codigo (ajuda muuuito a identificar seu codigo)
Criando um Painel
Para aprender a fazer um painel ISPF de um início de um scanner interativo porta REXX/ISPF foi criado o 'The PiNGeRaToR';
Script Completo
/* RExX */
/* trace t */
file_name = create_pds()
DO While file_name = 1
file_name = create_pds()
END
ADDRESS ISPEXEC "LIBDEF ISPPLIB DATASET ID("file_name")"
ADDRESS ISPEXEC "DISPLAY PANEL(TEMP1)"
Do While RC = 0
tgt = ip
IF timeout = '' THEN tout = 10
ELSE tout = timeout
rc_out = OUTTRAP('ping.')
address tso 'ping' tgt '(timeout' tout
rc_out = OUTTRAP('OFF')
IF rc = 0 then hp = 'THiS HoST iS ALiVe!'
ELSE hp = 'THiS HoST iS DoWN, Yo :('
ADDRESS ISPEXEC "DISPLAY PANEL(TEMP1)"
END
ADDRESS ISPEXEC "LIBDEF ISPPLIB DATASET ID()"
SAY "DeLeTiNG TeMP DaTaSeT"
"DELETE "file_name
EXIT
/* Create PDS Function */
create_pds:
stem.0 = 26
stem.1 = ')ATTR DEFAULT(%+_)'
stem.2 = '% TYPE(TEXT) INTENS(HIGH) COLOR(RED) CAPS(OFF)'
stem.3 = '+ TYPE(TEXT) INTENS(LOW) CAPS(OFF)'
stem.4 = '_ TYPE(INPUT) INTENS(HIGH) CAPS(ON) JUST(LEFT)'
stem.5 = '$ TYPE(INPUT) INTENS(LOW) PAD(_)'
stem.6 = '! TYPE(OUTPUT) INTENS(LOW) COLOR(YELLOW)'
stem.7 = ')BODY'
stem.8 = '%-----------------------> ReXX PiNGeRaToR <---------------'
stem.9 = '%COMMAND ===>_ZCMD'
stem.10 = '%'
stem.11 = '+'
stem.12 = '+ iP/HoSTNaMe .......$ip +'
stem.13 = '+ PiNG TiMeouT .......$timeout+'
stem.14 = '+'
stem.15 = '+ TaRGeT : !tgt'
stem.16 = '+ TiMeouT : !tout'
stem.17 = '+'
stem.18 = '+'
stem.19 = '+ !hp'
stem.20 = '+'
stem.21 = '+'
stem.22 = ')INIT'
stem.23 = '.HELP = TUTORPAN'
stem.24 = ')REINIT'
stem.25 = ')PROC'
stem.26 = ')END'
F = RANDOM(100,999)||RANDOM(100,999)
FILE = "'"||USERID()||".T"||F
sysin = SYSDSN(FILE||"'")
IF (sysin^="OK") THEN
DO
"ALLOCATE DATASET("FILE"') CATALOG LRECL (80),
BLKSIZE(27920) RECFM(F B) DSORG(PO) TRACKS SPACE(1 5) DIR(30)"
"ALLOC FI(MYDD) DA("FILE"(TEMP1)') SHR REUSE"
"EXECIO * DISKW MYDD (STEM STEM. FINIS"
"FREE F(MYDD)"
RETURN FILE||"'"
END
RETURN 1
Comigo funcionou somente assim, depois de logar no TSO saiu e em READ dou o nome do membro que criei dai consigo pesquisar o IP;
READY
ping
Enter host name or address
127.0.0.1
CS V1R10: Pinging host 127.0.0.1
Ping #1 response took 0.001 seconds.
READY
ping
Enter host name or address
192.1.200.1
CS V1R10: Pinging host 192.1.200.1
Ping #1 timed out
READY
Fonte - Clique Aqui
Script - Clique Aqui
0 comentários:
Enviar um comentário