MainframeSupports
tip uge 8/2011:

For nylig havde jeg et ISPF problem, som jeg søgte hjælp til på internettet. Undervejs faldt jeg over, at det er muligt at kode REXX direkte i ISPF paneler. Det er faktisk ret fikst, da den kode, man ellers kan skrive i ISPF paneler kan virke lidt klumpet. Jeg skal i øvrigt lige bemærke, at jeg ikke selv har prøvet eller haft behovet endnu.

Dette tip er udelukkende baseret på kilder fra internettet og ISPF manualer. Du skal kigge i ISPF Dialog Developer's Guide and Reference for yderligere information. Linket er til z/OS 1.9, men *REXX blev allerede opfundet i z/OS 1.6.

Her kommer et eksempel:

...
)PROC
...
*REXX(*)
/* put your REXX code here */
*ENDREXX
...

Specifikationen (*) efter *REXX betyder, at din REXX kode har adgang til alle de variable, som ISPF panel )BODY bruger, og de kan også opdateres. Der er i følge Peter Van Dyke fra ISPF laboratoriet et par detaljer, du skal være opmærksom på. Den første er, at z/OS 1.8 og tidligere ikke kan udvide størrelsen af en variabel. En anden er, at variable, der ikke er defineret i )BODY skal eksplicit angives i *REXX() specifikationen. Antag, at din inline REXX kode skal have adgang til variabel NOTINBDY, som ikke bruges i )BODY, så skal du angive *REXX(*,NOTINBDY). Du kan angive flere variable ved at angive dem i parentesen adskilt af kommaer.

Forrige danske tip        Last tip in english        Tip oversigten