MainframeSupports
tip uge 25/1999:

Interne tabeller i REXX kaldes for stems. Tabeller i traditionel forstand som de kendes fra CSP, COBOL, PL/I og C findes ikke. Til gengæld er stems langt mere fleksible og det vil vi vise et eksempel på i denne uges tip.

Følgende REXX udskriver lokalnummeret på den person, som man kalder REXX'en med:
 

/* REXX */
/* MIT NAVN ER: LOKALNR */

ARG PERSON

LOKALNR. = 'IKKE REGISTRERET'
LOKALNR.JENS = 213
LOKALNR.CHEFEN = 112
LOKALNR.OLE = 819
LOKALNR.HELPDESK = 766
LOKALNR.ANNE = 727

SAY 'LOKALNUMMERET TIL ' !! PERSON !! ' ER ' !! LOKALNR.PERSON

EXIT
 

REXX'en startes for eksempel ved at skrive TSO LOKALNR CHEFEN. Tabellen hedder LOKALNR og de enkelte elementer i tabellen har navne i stedet for numre. Man kan også bruge numre, men det ligner jo bare de andre programmeringssprog. Læg også mærke til, at man kan tildele alle ikke kendte elementer i tabellen en værdi, i eksemplet værdien 'IKKE REGISTRERET'.

Hvis REXX'en kaldes, så variablen PERSON får tildelt en værdi, som REXX ikke tillader at blive anvendt som indeks-værdi (eksempelvis JENS OLE), så fejler REXX'en. Man kan selvfølgelig undgå dette ved at validere om PERSON indeholder en tilladt indeks-værdi. Man kan læse mere om tilladte indeks-værdier i REXX-manualen, som er en del af TSO-manualsættet.

Sidste uges tip        Tip oversigten