home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
suite.zip
/
pct.zip
/
tsoispf.ext
< prev
next >
Wrap
Text File
|
1999-12-20
|
132KB
|
7,837 lines
@RACF Commands Short
%Connect
$
"*CONNECT" USERI
D "GROUP("GROUP"
) OWNER("SUPGRP"
)"
@RACF Commands Short
%RDefine
$
/*-------------(
RDEFINE: VERIFY
PLEASE)---------
----*/..RDEFINE
CLASS-NAME,..
(PROFILE-NAM
E-1 /* ... */),.
. ADDMEM(M
EMBER /* ... */)
,.. APPLDA
TA('APPLICATION-
DATA'),..
DATA('INSTALLATI
ON-DEFINED-DATA'
),.. NOTIF
Y(USERID),..
OWNER (USERID
OR GROUP-NAME),
.. UACC(AC
CESS-AUTHORITY),
.. WARNING
..
@RACF Commands Short
%Search
$
/*--------------
(SEARCH: VERIFY
PLEASE)---------
----*/.."SEARCH
ALL CLASS("CLASS
_NAME") MASK("MA
SK")"..
@Rexx Extras
%Binary search
$
/*--------------
----(BINARY SEAR
CH)-------------
----*/..SEARCH =
?..FOUND = 0
/* INDEX OF THE
FOUND ITEM */..
BOTTOM = 1..TOP
= STEM.0..DO
WHILE FOUND = 0
& TOP >= BOTTOM.
. MEAN = (BOTTO
M + TOP) .
IF SEARCH = STEM
.MEAN THEN..
FOUND = MEAN..
ELSE IF SEARCH <
STEM.MEAN THEN.
. TOP = MEAN
- 1.. ELSE..
BOTTOM = MEAN +
1..END /* DO WH
ILE ... */..
@Rexx Extras
%Bubble sort
$
/*------------(B
UBBLE SORT FOR T
HE STEM)--------
----*/..DO I = S
TEM.0 TO 1 BY -1
UNTIL FLIP_FLOP
= 1.. FLIP_FLO
P = 1.. DO J =
2 TO I.. M =
J - 1.. IF ST
EM.M > STEM.J TH
EN DO.. XCH
G = STEM.M..
STEM.M = STE
M.J.. STEM.
J = XCHG..
FLIP_FLOP = 0..
END /* IF STE
M.M ... */.. EN
D /* DO J = 2 ..
. */..END /* DO
I = STEM.0 ... *
/..
@Rexx Extras
%Insertion sort
$
/*------------(I
NSERTION SORT FO
R STEM)---------
----*/..DO X = 2
TO STEM.0.. XC
HG = STEM.X.. D
O Y = X - 1 BY -
1 TO 1 WHILE STE
M.Y > HFELD..
XCHG = STEM.X
.. STEM.X = S
TEM.Y.. STEM.
Y = XCHG.. X
= Y.. END /* DO
Y = X... */..
STEM.X = XCHG..E
ND /* DO X = 2 .
.. */..
@Rexx Extras
%Shell sort
$
/*--------------
-(SHELL SORT FOR
STEM)----------
----*/..PARTS =
3 /* COR
RECT!!! ( >1 ) *
/..DO N = 1 TO P
ARTS.. INCR = 2
**N - 1.. DO J
= INCR + 1 TO ST
EM.0.. I = J
- INCR.. XCHG
= STEM.J.. D
O WHILE XCHG < S
TEM.I & I > 0..
M = I + INC
R.. STEM.M
= STEM.I..
I = I - INCR..
END /* DO WHIL
E XCHG ... */..
M = I + INCR.
. STEM.M = XC
HG.. END /* DO
J = INCR ... */.
.END /* DO N = 1
... */..
@Rexx Extras
%Square root
$
/*--------------
(SQUARE ROOT EVO
LUTION)---------
----*/..NUMBER =
?..SQRT = 1..PR
ECISION = 0.0000
1..DO UNTIL ABS(
SQRT_OLD - SQRT)
< PRECISION..
SQRT_OLD = SQRT.
. SQRT = (SQRT_
OLD * SQRT_OLD +
NUMBER) / (2 *
SQRT_OLD)..END /
* DO UNTIL ... *
/..
@Rexx Extras
%To Lower
$
/*-----------(LO
WER CASE ENTIRED
STRING)--------
----*/..PARSE AR
G UPPER_STRING..
..LOWERS='ABCDEF
GHIJKLMNOPQRSTUV
WXYZäöü'..UPPERS
='ABCDEFGHIJKLMN
OPQRSTUVWXYZÄÖÜ'
....RETURN TRANS
LATE(UPPER_STRIN
G,LOWERS,UPPERS)
..
@Rexx Extras
%To Upper
$
/*-----------(UP
PER CASE ENTIRED
STRING)--------
----*/..PARSE AR
G UPPER_STRING..
..LOWERS='ABCDEF
GHIJKLMNOPQRSTUV
WXYZäöü'..UPPERS
='ABCDEFGHIJKLMN
OPQRSTUVWXYZÄÖÜ'
....RETURN TRANS
LATE(UPPER_STRIN
G,UPPERS,LOWERS)
..
@Rexx Extras
%Quick sort
$
/*--------------
(QUICK SORT FOR
STEM)-----------
----*/..QSORT: P
ROCEDURE EXPOSE
STEM...ARG LEFT,
RIGHT....IF LEF
T = '' THEN LEF
T = 1..IF RIGHT
= '' THEN RIGHT
= STEM.0..IF RI
GHT > LEFT THEN
DO.. I = LEFT..
J = RIGHT.. K
= (LEFT+RIGHT)
2.. X = STEM.K.
. DO UNTIL I >
J.. DO WHILE
STEM.I < X; I =
I + 1; END..
DO WHILE STEM.J
> X; J = J - 1;
END.. IF I <=
J THEN DO..
XCHG = STEM.I.
. STEM.I =
STEM.J.. ST
EM.J = XCHG..
I = I + 1..
J = J - 1..
END.. END..
Y = QSORT(LEFT,
J).. Y = QSORT(
I,RIGHT)..END...
.RETURN RIGHT -
LEFT ..
@TSO Rexx
%OutTrap
$
X = OUTTRAP('EIN
.').. ..X = OUT
TRAP(OFF)
@TSO Rexx
%ExecIO DiskR Stem
$
/*---------(PERF
ORM FUNCTIONS FO
R EXECIO)-------
----*/.."EXECIO
* DISKR" DDN "(S
TEM EIN. FINIS"
..
@TSO Rexx
%ExecIO DiskW Stem
$
/*---------(PERF
ORM FUNCTIONS FO
R EXECIO)-------
----*/.."EXECIO
* DISKW" DDN "(S
TEM EIN. FINIS".
.
@TSO Rexx
%ExecIO DiskR Queue
$
/*---------(PERF
ORM FUNCTIONS FO
R EXECIO)-------
----*/.."EXECIO
* DISKR" DDN "(F
IFO FINIS"....
@TSO Rexx
%ExecIO DiskW Queue
$
/*---------(PERF
ORM FUNCTIONS FO
R EXECIO)-------
----*/.."EXECIO"
QUEUED() "DISKW
" DDN "(FINIS"..
@TSO Rexx
%ExecIO Read File / Write Queue
$
"NEWSTACK"../*--
-------(PERFORM
FUNCTIONS FOR EX
ECIO)-----------
*/..DDN = 'DINPU
T'..IF DSN = ''
THEN DSN = USERI
D()'.????????.??
??????'.."ALLOC
DATASET('"DSN"')
DDNAME("DDN") S
HR REUSE"..IF RC
= 0 THEN DO..
"EXECIO * DISKR"
DDN "(STEM EIN.
FINIS".. "FREE
FI("DDN")".. D
O I = 1 TO EIN.0
.. /* ... YOU
R CODE ... */..
END.... /*----
-----(PERFORM FU
NCTIONS FOR EXEC
IO)-----------*/
.. IF QUEUED()
> 0 THEN DO..
DDN = 'DOUTPUT'
.. DSN = USER
ID()'.PRIVAT.DAT
A(RESOWNER)'..
"ALLOC DATASET
('"DSN"') DDNAME
("DDN") SHR REUS
E".. IF RC =
0 THEN DO..
/*---------(PER
FORM FUNCTIONS F
OR EXECIO)------
-----*/.. "
EXECIO" QUEUED()
"DISKW" DDN "(F
INIS".. "FR
EE FI("DDN")"..
END.. ELSE
SAY 'OUTPUT FIL
E' DSN 'NOT ALLO
CATED'.. END..E
ND..ELSE.. SAY
'INPUT FILE' DSN
'NOT ALLOCATED'
.."DELSTACK"..
@TSO Rexx
%ListDSI
$
/*-----------(LI
ST DATA SET INFO
RMATION)--------
----*/..Y = OUTT
RAP(DUMMY.).. R
C = LISTDSI(DSN
DIRECTORY RECALL
)..Y = OUTTRAP(O
FF)..IF RC < 16
THEN DO.. SAY '
VOLUME SERIAL ID
................
:' SYSVOLUME..
SAY 'DEVICE UNIT
OF VOLUME......
.....:' SYSUNIT.
. SAY 'DATA SET
ORGANIZATION...
........:' SYSDS
ORG.. SAY 'RECO
RD FORMAT.......
............:' S
YSRECFM.. SAY '
LOGICAL RECORD L
ENGTH...........
:' SYSLRECL.. S
AY 'BLOK SIZE...
................
....:' SYSBLKSIZ
E.. SAY 'KEY LE
NGTH............
..........:' SYS
KEYLEN.. SAY 'A
LLOCATIN, IN SPA
CE UNITS.......:
' SYSALLOC.. SA
Y 'ALLOCATION US
ED (IN UNITS)...
...:' SYSUSED..
SAY 'PRIMARY AL
LOCATION (UNITS)
......:' SYSPRIM
ARY.. SAY 'SECO
NDARY ALLOCATION
(UNITS)....:' S
YSSECONDS.. SAY
'SPACE UNITS...
................
..:' SYSUNITS..
SAY 'NUMBER OF
EXTENTS ALLOCATE
D.....:' SYSEXTE
NTS.. SAY 'CREA
TION DATE (YYYY/
DDD)........:' S
YSCREATE.. SAY
'LAST REFERENCED
DATE (YYYY/DDD).
.:' SYSREFDATE..
SAY 'EXPIRATIO
N DATE (YYYY/DDD
)......:' SYSEXD
ATE.. SAY 'PASS
WORD INDICATION.
............:' S
YSPASSWORD.. SA
Y 'RACF INDICATI
ON..............
...:' SYSRACFA..
SAY 'CHANGE IN
DICATOR.........
.......:' SYSUPD
ATED.. SAY 'TRA
CKS PER CYLINDER
FOR THE UNIT:'
SYSTRKSCYL.. SA
Y 'BLOCKS PER TR
ACK FOR THE UNIT
...:' SYSBLKSTRK
.. SAY 'DIRECTO
RY BLOCKS ALLOCA
TED......:' SYSA
DIRBLK.. SAY 'D
IRECTORY BLOCKS
USED...........:
' SYSUDIRBLK..
SAY 'NUMBER OF M
EMBERS FOR PDS..
.....:' SYSMEMBE
RS.. SAY 'LISTD
SI REASON CODE..
...........:' SY
SREASON.. SAY '
FIRST LEVEL MESS
AGE IF ERROR....
:' SYSMSGLVL1..
SAY 'SECOND LEV
EL MESSAGE IF ER
ROR...:' SYSMSGL
VL2..END..ELSE D
O.. /*---(ERROR
HANDLING)---*/.
.END..
@TSO Rexx
%ListDSI Reason Codes
$
/*--------------
(LISTDSI REASON
CODES)----------
----*/..LDSIRESC
: PROCEDURE..ARG
SYSREASON....SE
LECT.. WHEN SYS
REASON = 0 THEN
.. MSG = 'NOR
MAL COMPLETION'
.. WHEN SYSREAS
ON = 1 THEN..
MSG = 'ERROR P
ARSING THE FUNCT
ION' .. WHEN SY
SREASON = 2 THE
N.. MSG = 'DY
NAMIC ALLOCATION
PROCESSING ERRO
R' .. WHEN SYSR
EASON = 3 THEN.
. MSG = 'THIS
DATA SET TYPE C
ANNOT BE PROCESS
ED' .. WHEN SYS
REASON = 4 THEN
.. MSG = 'ERR
OR DETERMININING
UNIT NAME'.. W
HEN SYSREASON =
5 THEN.. MSG
= 'DATA SET NOT
CATALOGED' ..
WHEN SYSREASON =
6 THEN.. MS
G = 'ERROR OBTAI
NING THE DATA SE
T NAME' .. WHEN
SYSREASON = 7
THEN.. MSG =
'ERROR FINDING D
EVICE TYPE' ..
WHEN SYSREASON =
8 THEN.. MS
G = 'THE DATA SE
T DOES NOT RESID
E ON A DASD' ..
WHEN SYSREASON
= 9 THEN.. M
SG = 'DFHSM MIGR
ATED THE DATA SE
T. NORECALL PREV
ENTS RETRIEVAL.'
.. WHEN SYSREAS
ON = 11 THEN..
MSG = 'AUTHORI
TY FAILED TO GET
DIRECTORY INFOR
MATION'.. WHEN
SYSREASON = 12 T
HEN.. MSG = '
VSAM DATA SETS A
RE NOT SUPPORTED
'.. WHEN SYSREA
SON = 13 THEN..
MSG = 'THE DA
TA SET COULD NOT
BE OPENED'.. W
HEN SYSREASON =
14 THEN.. MSG
= 'DEVICE TYPE
NOT FOUND IN UCB
TABLES'.. WHEN
SYSREASON = 17
THEN.. MSG =
'SYSTEM OR USER
ABEND OCCURED'..
WHEN SYSREASON
= 18 THEN..
MSG = 'PARTIAL D
ATA SET INFORMAT
ION WAS OBTAINED
'.. WHEN SYSREA
SON = 19 THEN..
MSG = 'DATA S
ET RESIDES ON MU
LTIPLE VOLUME'..
WHEN SYSREASON
= 20 THEN..
MSG = 'DEVICE TY
PE NOT FOUND IN
ELIGIBLE DEVICE
TABLE (EDT)'..
WHEN SYSREASON =
21 THEN.. MS
G = 'CATALOG ERR
OR TRYING TO LOC
ATE THE DATA SET
'.. WHEN SYSREA
SON = 22 THEN..
MSG = 'VOLUME
NOT MOUNTED'..
WHEN SYSREASON
= 23 THEN.. M
SG = 'PERMANENT
I/O ERROR ON VOL
UME'.. WHEN SYS
REASON = 24 THEN
.. MSG = 'DAT
A SET NOT FOUND'
.. WHEN SYSREAS
ON = 25 THEN..
MSG = 'DATA SE
T MIGRATED TO NO
N-DASD DEVICE'..
WHEN SYSREASON
= 27 THEN..
MSG = 'NO VOLUME
SERIAL IS ALLOC
ATED TO THE DATA
SET'.. WHEN SY
SREASON = 28 THE
N.. MSG = 'TH
E DD-NAME MUST B
E ONE TO EIGHT C
HARACTERS'.. WH
EN SYSREASON = 2
9 THEN.. MSG
= 'DATA SET NAME
OR DD-NAME MUST
BE SPECIFIED'..
OTHERWISE..
MSG = 'UNKNOWN
REASON CODE RETU
RNED:' SYSREASON
..END....RETURN
MSG..
@TSO Rexx
%ExecIO Universal
$
/*---------(PERF
ORM FUNCTIONS FO
R EXECIO)-------
----*/..DDN = 'I
NPUTDD'
..DSN = ''
..Y =
ALLOCOLD(DSN,DDN
)
.."EXECIO *
DISKR" DDN "(STE
M EIN. FINIS" ..
"FREE F("DDN")"
..
..DDN = 'OUTPU
TDD'
..DS
N = ''
..Y = ALLO
CNEW(DSN,DDN)
.."EXECIO" QUEUE
D() "DISKW" DDN
"(FINIS" .."FRE
E F("DDN")"
.."EXECIO *
DISKW" DDN "(STE
M EIN. FINIS"..
@DM Tables
%Create a Permanent Table
$
/*----------(CRE
ATE A PERMANENT
TABLE)----------
----*/..ADDRESS
ISPEXEC "TBCREAT
E" TABLENAME "KE
YS("KEYLIST") NA
MES("NAMELIST").
.
REPLACE LIBRAR
Y("LIBNAME") SHA
RE WRITE"..IF RC
^= 0 THEN DO
/* RE
TURN CODES
*/..
/* 4 - DUPL
ICATE TABLE EXIS
TS BUT */..END
/*
"REPLACE" S
PECIFIED
*/..ELSE DO
/* 8 - TA
BLE ALREADY EXIS
TS; */..
/
* "REPLACE"
NOT SPECIFIED
*/..END
/* 12 -
TABLE IN USE; EN
Q FAILED */.
.
/* 16 - TABLE I
NPUT LIBRARY NOT
*/..
/*
ALLOCATED WITH
"WRITE" *
/..
/* 20 - SEVER
E ERROR
*/..
@DM Tables
%Create a Temporary Table
$
/*----------(CRE
ATE A TEMPORARY
TABLE)----------
----*/..ADDRESS
ISPEXEC "TBCREAT
E" TABLENAME "KE
YS("KEYLIST") NA
MES("NAMELIST").
.
REPLACE LIBRAR
Y("LIBNAME") SHA
RE WRITE"..IF RC
^= 0 THEN DO
/* RE
TURN CODES
*/..
/* 4 - DUPL
ICATE TABLE EXIS
TS BUT */..END
/*
"REPLACE" S
PECIFIED
*/..ELSE DO
/* 8 - TA
BLE ALREADY EXIS
TS; */..
/
* "REPLACE"
NOT SPECIFIED
*/..END
/* 12 -
TABLE IN USE; EN
Q FAILED */.
.
/* 16 - TABLE I
NPUT LIBRARY NOT
*/..
/*
ALLOCATED WITH
"WRITE" *
/..
/* 20 - SEVER
E ERROR
*/..
@DM Tables
%Open a Permanent Table
$
/*-----------(OP
EN A PERMANENT T
ABLE)-----------
----*/..ADDRESS
ISPEXEC "TBOPEN"
TABLENAME "WRIT
E LIBRARY("LIBNA
ME") SHARE"..IF
RC ^= 0 THEN DO
/*
RETURN CODES
*/..
/* 8 - TAB
LE DOES NOT EXIS
T */..END
/*
12 - TABLE IN US
E; ENQ FAILED
*/..ELSE DO
/* 16 - INP
UT LIBRARY NOT A
LLOCATED */..
/*
20 - SEVERE ERRO
R
*/..END..
@DM Tables
%Open a Temporary Table
$
/*-----------(OP
EN A TEMPORARY T
ABLE)-----------
----*/..ADDRESS
ISPEXEC "TBOPEN"
TABLENAME "NOWR
ITE SHARE"..IF R
C ^= 0 THEN DO
/* R
ETURN CODES
*/..
/* 8 - TABL
E DOES NOT EXIST
*/..END
/* 1
2 - TABLE IN USE
; ENQ FAILED
*/..ELSE DO
/* 16 - INPU
T LIBRARY NOT AL
LOCATED */..
/* 2
0 - SEVERE ERROR
*/..END..
@DM Tables
%Obtain Table Information
$
/*----------(OBT
AIN TABLE INFORM
ATION)----------
----*/..ADDRESS
ISPEXEC "TBQUERY
" TABLENAME "KEY
S("KEYNAME") NAM
ES("VARNAME"),..
ROWNUM("ROWNUM"
) KEYNUM("KEYNUM
") NAMENUM("NAME
NUM"),..
POSITIO
N("CRPNAME")"..I
F RC ^= 0 THEN D
O /
* RETURN CODES
*/..
/* 12
- TABLE IS NOT O
PEN */.
.END
/* 16 - DATA
TRUNCATION
*/..ELSE D
O
/* 2
0 - SEVERE ERROR
*
/....END..
@DM Tables
%Save a Table
$
/*--------------
--(SAVE A TABLE)
----------------
----*/..ADDRESS
ISPEXEC "TBSAVE"
TABLENAME "REPL
COPY NAME("ALTNA
ME"),..
PAD("PER
CENT") LIBRARY("
LIBNAME")"..IF R
C ^= 0 THEN DO
/* R
ETURN CODES
*/..
/* 12 - TAB
LE IS NOT OPEN
*/..EN
D
/*
16 - OUTPUT LIB
RARY NOT ALLOCAT
ED */..ELSE DO
/* 20 - S
EVERE ERROR
*/..
..END..
@DM Tables
%Close and Save a Table
$
/*------------(C
LOSE AND SAVE A
TABLE)----------
-----*/..ADDRESS
ISPEXEC "TBCLOS
E" TABLENAME "RE
PLCOPY NAME("ALT
NAME"),..
PAD("P
ERCENT") LIBRARY
("LIBNAME")"..IF
RC ^= 0 THEN DO
/*
RETURN CODES
*/..
/* 12 - T
ABLE IS NOT OPEN
*/..
END
/* 16 - OUTPUT L
IBRARY NOT ALLOC
ATED */..ELSE DO
/* 20 -
SEVERE ERROR
*/
....END..
@DM Tables
%Close a Table without Saving
$
/*--------(CLOSE
A TABLE WITHOUT
SAVING)--------
----*/..ADDRESS
ISPEXEC "TBEND"
TABLENAME..IF RC
^= 0 THEN DO
/*
RETURN CODES
*/..
/* 12 - TA
BLE IS NOT OPEN
*/..END
/
* 20 - SEVERE ER
ROR
*/..ELSE DO...
.END..
@DM Tables
%Erase a Table
$
/*--------------
--(ERASE A TABLE
)---------------
----*/..ADDRESS
ISPEXEC "TBERASE
" TABLENAME "LIB
RARY("LIBNAME")"
..IF RC ^= 0 THE
N DO
/* RETURN CODE
S
*/..
/* 8
- TABLE NOT IN
OUTPUT LIBRARY
*/..END
/* 12 - TABL
E IN USE; ENQ FA
ILED */..ELS
E DO
/*
16 - TABLE OUTPU
T LIBRARY NOT
*/..
/* AL
LOCATED
*/..E
ND
/
* 20 - SEVERE ER
ROR
*/..
@DM Tables
%Retrieve Table Statistics
$
/*----------(RET
RIEVE TABLE STAT
ISTICS)---------
----*/..ADDRESS
ISPEXEC "TBSTATS
" TABLENAME " US
ER("USERID"),..
CTIME("CTIMNAME"
) CDATE("CDATNAM
E"),..
UDATE("UD
ATNAME") UTIME("
UTIMNAME")..
ROW
CREAT("RCRTNAME"
) ROWCURR("RCURN
AME"),..
ROWUPD(
"RUPDNAME") TABL
EUPD("TUPDNAME")
,..
SERVICE("SER
VNAME") RETCODE(
"RETCNAME"),..
S
TATUS1("STA1NAME
") STATUS2("STA2
NAME"),..
STATUS
3("STA3NAME") LI
BRARY("LIBNAME")
"..IF RC ^= 0 TH
EN DO
/* RETURN CO
DES
*/..
/*
0 - NORMAL RETU
RN EVEN IF TABLE
*/..END
/* DO
ES NOT EXIST
*/..EL
SE DO
/*
16 - VARIABLE
VALUE TRUNCATED
*/..
/* 20 -
SEVERE ERROR
*/..
END..
@DM Tables
%Add a Row to a Table
$
/*------------(A
DD A ROW TO A TA
BLE)------------
----*/..ADDRESS
ISPEXEC "TBADD"
TABLENAME "SAVE(
"NAMELIST") ORDE
R MULT("NROWS")"
..IF RC ^= 0 THE
N DO
/* RETURN CO
DES
*/..
/*
4 - NUMBER OF R
OWS PARAMETER
*/..END
/* WA
S SPECIFIED BUT
STORAGE */..ELS
E DO
/
* WAS ONLY
OBTAINED FOR A
*/..
/*
SINGLE ROW
*/..E
ND
/* 8 - KEY TAB
LES: A ROW WITH
THE */..
/*
SAME KEY ALREA
DY EXISTS; */.
.
/* CRP S
ET TO TOP
*/..
/* 1
2 - TABLE IS NOT
OPEN *
/..
/* 20 - SEV
ERE ERROR
*/..
@DM Tables
%Delete a Row from a Table
$
/*----------(DEL
ETE A ROW FROM A
TABLE)---------
------*/..ADDRES
S ISPEXEC "TBDEL
ETE" TABLENAME..
IF RC ^= 0 THEN
DO
/* RETURN CODES
*/..
/* 8 -
KEY TABLES: ROW
DOES NOT */
..END
/* EXIST;
CRP SET TO TOP
*/..ELSE
DO
/*
- NON-KEY TABLE
S: CRP REMAINS
*/..
/* AT T
HE TOP
*/..END
/*
12 - TABLE IS NO
T OPEN
*/..
/* 20 - SE
VERE ERROR
*/..
@DM Tables
%Retrieve a Row from a Table
$
/*---------(RETR
IEVE A ROW FROM
A TABLE)--------
-------*/..ADDRE
SS ISPEXEC "TBGE
T" TABLENAME "SA
VENAME("VARNAME"
),..
ROWID("ROWI
DNAME") NOREAD P
OSITION("CRPNAME
")"..IF RC ^= 0
THEN DO
/* RETURN CO
DES
*/..
/*
8 - KEYED TABL
ES: ROW DOES NOT
*/..END
/* E
XIST, CRP SET TO
TOP */..
ELSE DO
/
* - NON-KEY
TABLES: CRP REMA
INS */..
/*
AT THE TOP
*/
..END
/* 12 - TABLE
IS NOT OPEN
*/..
/* 16
- DATA TRUNCATI
ON OR
*/..
/* INSU
FFICIENT SPACE P
ROVIDED */..
/*
FOR ALL EXT
ENSION VARIABLE
*/..
/* NA
MES
*/..
/*
20 - SEVERE ER
ROR
*/..
@DM Tables
%Update a Row in a Table
$
/*-----------(UP
DATE A ROW IN A
TABLE)----------
-------*/..ADDRE
SS ISPEXEC "TBPU
T" TABLENAME "SA
VE("NAMELIST") O
RDER"..IF RC ^=
0 THEN DO
/* RETURN
CODES
*/..
/
* 8 - KEY TABLE
S: KEYS DID NOT
*/..END
/* M
ATCH; CRP SET TO
TOP */..E
LSE DO
/
* - NON-KEY T
ABLES; CRP REMAI
NS */..
/* A
T THE TOP
*/..E
ND
/
* 12 - TABLE IS
NOT OPEN
*/..
/* 16 - N
UMERIC CONVERT E
RROR */..
/
* 20 - SEVERE ER
ROR
*/..
@DM Tables
%Modify a Row in a Table
$
/*-----------(MO
DIFY A ROW IN A
TABLE)----------
-------*/..ADDRE
SS ISPEXEC "TBMO
D" TABLENAME "SA
VE("NAMELIST") O
RDER"..IF RC ^=
0 THEN DO
/* RETURN
CODES
*/..
/* 8 - KEY TABL
ES: KEYS DID NOT
*/..END
/*
MATCH; NEW ROW
ADDED TO */
..ELSE DO
/* TABLE
*/..
/* 12
- TABLE IS NOT
OPEN
*/..END
/* 16 - NUME
RIC CONVERT ERRO
R */..
/*
20 - SEVERE ERRO
R
*/..
@DM Tables
%Row Exist Test
$
/*--------------
-(ROW EXIST TEST
)---------------
-------*/..ADDRE
SS ISPEXEC "TBEX
IST" TABLENAME..
IF RC ^= 0 THEN
DO
/* RETURN CODES
*/..
/* 8 -
KEY TABLES: ROW
DOES NOT */
..END
/* EXIST;
CRP SET TO TOP
*/..ELSE
DO
/*
- NON-KEY TABLE
S: SERVICE NOT
*/..
/* POSS
IBLE; CRP SET TO
TOP */..END
/*
12 - TABLE IS NO
T OPEN
*/..
/* 20 - SE
VERE ERROR
*/...
.
@DM Tables
%Define a Search Argument
$
/*----------(DEF
INE A SEARCH ARG
UMENT)----------
-------*/..ADDRE
SS ISPEXEC "TBSA
RG" TABLENAME "A
RGLIST("NAMELIST
"),..
NEXT NAMEC
OND("NAMEPAIR")"
..IF RC ^= 0 THE
N DO..
/* RETUR
N CODES
*/..E
ND
/* 8 - NO ARGU
MENT ESTABLISHED
*/..ELSE DO
/* 12
- TABLE IS NOT O
PEN */.
.
/* 20 - SEVER
E ERROR
*/..END..
@DM Tables
%Search a Table
$
/*--------------
-(SEARCH A TABLE
)---------------
-------*/..ADDRE
SS ISPEXEC "TBSC
AN" TABLENAME "A
RGLIST("NAMELIST
"),..
SAVENAME("
VARNAME") ROWID(
"ROWIDNAME") NEX
T,..
NOREAD POSI
TION("CRPNAME")
CONDLIST("VALLIS
T")"..IF RC ^= 0
THEN DO
/* RETURN
CODES
*/..
/
* 8 - ROW DOES
NOT EXIST, NO MA
TCH */..END
/*
FOUND; CRP SET T
O TOP */.
.ELSE DO
/* 12 - TABLE I
S NOT OPEN
*/..
/* 16
- DATA TRUNCATIO
N, OR *
/..END
/* INSUF
FICIENT SPACE PR
OVIDED */..
/*
FOR ALL EXTE
NSION VARIABLE
*/..
/* NAM
ES
*/..
/*
20 - SEVERE ERR
OR
*/..
@DM Tables
%Set The Row Pointer to Top
$
/*--------(SET T
HE ROW POINTER T
O THE TOP)------
-------*/..ADDRE
SS ISPEXEC "TBTO
P" TABLENAME..IF
RC ^= 0 THEN DO
/* RETURN CODES
*/..
/* 12 -
TABLE IS NOT OP
EN */..
END
/* 20 - SEVERE
ERROR
*/..ELSE DO
....END..
@DM Tables
%Set The Row Pointer to Bottom
$
/*---------(SET
THE ROW POINTER
TO BOTTOM)------
-------*/..ADDRE
SS ISPEXEC "TBBO
TTOM" TABLENAME
"SAVENAME("VARNA
ME"),..
ROWID("R
OWIDNAME") NOREA
D POSITION("CRPN
AME")"..IF RC ^=
0 THEN DO..
/* R
ETURN CODES
*/..END
/* 8 - TA
BLE IS EMPTY, CR
P SET TO TOP*/..
ELSE DO
/* 12 - TABLE IS
NOT OPEN
*/..
/* 16
- DATA TRUNCATIO
N OR
*/..END
/* INSU
FFICIENT SPACE P
ROVIDED */..
/*
FOR ALL EX
TENSION VARIABLE
*/..
/*
NAMES
*/
..
/* 20 - SEVERE
ERROR
*/..
@DM Tables
%Move the Row Pointer
$
/*--------------
-(MOVE THE ROW P
OINTER)---------
-------*/..ADDRE
SS ISPEXEC "TBSK
IP" TABLENAME "N
UMBER("NUM") SAV
ENAME("VARNAME")
,.. ROW
ID("ROWIDNAME")
ROW("ROWID") NOR
EAD POSITION("CR
PNAME")"..IF RC
^= 0 THEN DO..
/*
RETURN CODES
*/..END
/* 8 - C
RP WOULD HAVE GO
NE BEYOND */
..ELSE DO
/* LIMIT O
F TABLE, CRP SET
TO TOP */..
/* 12
- TABLE IS NOT
OPEN
*/..END
/* 16 - DAT
A TRUNCATION OR
*/..
/
* INSUFFICI
ENT SPACE PROVID
ED */..
/*
FOR ALL EXTENSI
ON VARIABLE
*/..
/* NAMES
*/..
/*
20 - SEVERE ERRO
R
*/..
@DM Tables
%Clear Table Variables
$
/*-------------(
CLEAR TABLE VARI
ABLES)----------
-------*/..ADDRE
SS ISPEXEC "TBVC
LEAR" TABLENAME.
.IF RC ^= 0 THEN
DO
/* RETURN COD
ES
*/..
/* 12
- TABLE IS NOT O
PEN */..E
ND
/* 20 - SEVERE
ERROR
*/..ELSE DO...
.END....
@DM Tables
%Sort a Table
$
/*--------------
---(SORT A TABLE
)---------------
-------*/..ADDRE
SS ISPEXEC "TBSO
RT" TABLENAME "F
IELDS("SORTLIST"
)"..IF RC ^= 0 T
HEN DO
/* RETURN
CODES
*/..
/* 1
2 - TABLE IS NOT
OPEN */..
END
/* 16 - NUMERI
C CONVERT ERROR
*/..ELSE DO
/* 20 -
SEVERE ERROR
*/....EN
D..
@DM File Tailoring
%Begin File Tailoring
$
/*-------------(
BEGIN FILE TAILO
RING)-----------
----*/..ADDRESS
ISPEXEC "FTOPEN
TEMP"..IF RC ^=
0 THEN DO
/* RETUR
N CODES
*/.
.
/* 8 - FILE T
AILORING ALREADY
IN */..END
/*
PROGRESS
*/..ELSE DO
/* 12 - OU
TPUT FILE IN USE
; */..
/* ENQ FAIL
ED
*/..END
/* 16
- SKELETON LIBRA
RY AND/OR *
/..
/* OUTP
UT FILE ARE NOT
*/..
/*
ALLOCATED
*/..
/* 20 -
SEVERE ERROR
*/.
.
@DM File Tailoring
%Include a Skeleton
$
/*--------------
(INCLUDE A SKELE
TON)------------
----*/..ADDRESS
ISPEXEC "FTINCL"
SKELNAME "NOFT"
..IF RC ^= 0 THE
N DO
/* RETURN CODE
S
*/..
/*
8 - SKELETON DOE
S NOT EXIST
*/..END
/* 12 - SK
ELETON OR TABLE
IN USE; */..
ELSE DO
/* ENQ FAIL
ED
*/..
/* 16
- DATA TRUNCATIO
N OCCURRED; OR
*/..END
/* SKEL
ETON LIBRARY AND
/OR OUTPUT*/..
/*
FILE NOT A
LLOCATED
*/..
/* 20 -
SEVERE ERROR
*/
..
@DM File Tailoring
%End File Tailoring
$
/*--------------
(END FILE TAILOR
ING)------------
----*/..ADDRESS
ISPEXEC "FTCLOSE
NAME("MEMBNAME"
) LIBRARY("LIBNA
ME") NOREPL"..IF
RC ^= 0 THEN DO
/*
RETURN CODES
*/..
/* 4 -
MEMBER EXISTS I
N OUTPUT */
..END
/* LIBRA
RY AND NOREPL WA
S */..ELSE
DO
/*
SPECIFIED
*/..
/* 8 - F
ILE NOT OPEN
*/..
END
/* 12 - OUTPUT
FILE IN USE;
*/..
/*
ENQ FAILED
*/..
/* 20 - SEV
ERE ERROR
*/..
@DM File Tailoring
%Erase File Tailoring Output
$
/*---------(ERAS
E FILE TAILORING
OUTPUT)--------
----*/..ADDRESS
ISPEXEC "FTERASE
" MEMBNAME "LIBR
ARY("LIBNAME")".
.IF RC ^= 0 THEN
DO
/* RETURN CODES
*/..
/* 8
- MEMBER DOES N
OT EXIST *
/..END
/* 12 - OUTPU
T LIBRARY IN USE
; ENQ */..ELSE
DO
/*
FAILED
*/..
/* 16 - OUT
PUT LIBRARY NOT
ALLOCATED */..EN
D
/*
20 - SEVERE ERR
OR
*/....
@TSO
%Allocate New PDS
$
"ALLOC DATASET("
DSN") DDNAME("DD
N") NEW REUSE",.
. "SPACE("
PRIMSP","SECSP")
TRACKS DSORG(PD
)",.. "UNI
T(3390) LRECL("L
RECL") RECFM("RE
CFM")"..
@TSO
%Allocate Like
$
"ALLOC DATASET("
DSN") DDNAME("DD
N") LIKE("MODELD
SN")"....
@TSO
%Allocate Mod
$
"ALLOC DATASET("
DSN") DDNAME("DD
N") MOD REUSE"..
..
@TSO
%Allocate Old
$
"ALLOC DATASET("
DSN") DDNAME("DD
N") OLD REUSE"..
..
@TSO
%Free File
$
"FREE FI("DDN")"
@TSO
%Output File
$
DDN = 'AUSGABE'.
.DSN = USERID()'
.PRIVAT.DATA(CHG
OWNER)'..
@TSO
%Input File
$
DDN = 'EINGABE'.
.DSN = USERID()'
.PRIVAT.DATA(CHG
OWNER)'..
@TSO
%Allocate Shr
$
"ALLOC DATASET("
DSN") DDNAME("DD
N") SHR REUSE"..
@RACF Commands
%AddGroup
$
/*-------------(
ADDGROUP: VERIFY
PLEASE)--------
----*/..ADDGROUP
(GROUP-NAME ...
),.. DAT
A('INSTALLATION-
DEFINED-DATA'),.
. DFP(,.
. D
ATAAPPL(APPLICAT
ION-NAME),..
DATACL
AS(DATA-CLASS-NA
ME),..
MGMTCLAS(MAN
AGEMENT-CLASS-NA
ME),..
STORCLAS(STO
RAGE-CLASS-NAME)
,.. )
,.. MODE
L(DSNAME),..
OMVS(,..
GID(
GROUP-IDENTIFIER
),..
),.. OW
NER(USERID OR GR
OUP-NAME),..
SUPGROUP(GR
OUP-NAME),..
TERMUACC /*
TERMUACC | NOTE
RMUACC */....
@RACF Commands
%AdDSD
$
/*--------------
-(ADDSD: VERIFY
PLEASE)---------
----*/..ADDSD (P
ROFILE-NAME-1 /*
/PASSWORD ...*/
),.. ADDCAT
EGORY(CATEGORY-N
AME /* ... */),.
. AUDIT( AC
CESS-ATTEMPT /*(
AUDIT-ACCESS-LEV
EL)...*/),..
DATA('INSTALLA
TION-DEFINED-DAT
A'),.. DFP(
RESOWNER(USERID
OR GROUP-NAME)),
.. ERASE,..
FCLASS(PRO
FILE-NAME-2-CLAS
S),.. FGENE
RIC,.. FILE
SEQ(NUMBER),..
FROM(PROFILE
-NAME-2),..
FVOLUME(PROFILE
-NAME-2-SERIAL),
.. GENERIC
/* GENERIC | MOD
EL | TAPE */,..
LEVEL(NN),.
. NOSET /*
NOSET | SET | SE
TONLY */,..
NOTIFY /* (USER
ID) */,.. O
WNER(USERID OR G
ROUP-NAME),..
RETPD(NNNNN),
.. SECLABEL
(SECURITY-LABEL)
,.. SECLEVE
L(SECURITY-LEVEL
),.. UACC(A
CCESS-AUTHORITY)
,.. UNIT(TY
PE),.. VOLU
ME(VOLUME-SERIAL
/* ... */ ),..
WARNING....
@RACF Commands
%AddUser
$
/*-------------(
ADDUSER: VERIFY
PLEASE)---------
----*/..ADDUSER
(USERID /*...*/
),.. ADDC
ATEGORY(CATEGORY
-NAME /*...*/ ),
.. ADSP /
* ADSP | NOADSP
*/,.. AUD
ITOR /* AUDITOR
| NOAUDITOR */,.
. AUTHORI
TY(GROUP-AUTHORI
TY),.. CI
CS(,..
OPCLASS(OPER
ATOR-CLASS1,OPER
ATOR-CLASS2 /*,.
..*/ ),..
OPIDENT(O
PERATOR-ID),..
OPPR
TY(OPERATOR-PRIO
RITY),..
TIMEOUT(TI
MEOUT-VALUE),..
XRF
SOFF( FORCE /* F
ORCE | NOFORCE *
/),..
),.. CLA
UTH(CLASS-NAME /
*,...*/ ) /* | N
OCLAUTH */,..
DATA('INSTA
LLATION-DEFINED-
DATA'),..
DFLTGRP(GROUP-N
AME),.. D
FP(,..
DATAAPPL(APPL
ICATION-NAME),..
DAT
ACLAS(DATA-CLASS
-NAME),..
MGMTCLAS(M
ANAGEMENT-CLASS-
NAME),..
STORCLAS(ST
ORAGE-CLASS-NAME
),.. )
,.. GRPAC
C /* GRPACC | NO
GRPACC */,..
LANGUAGE(,..
PRIMARY(LANGUA
GE),..
SECONDAR
Y(LANGUAGE),..
),
.. MODEL(
DSNAME),..
NAME('USER-NAM
E'),.. OI
DCARD /* OIDCARD
| NOOIDCARD */,
.. OMVS(,
..
HOME(INITIAL-DIR
ECTORY-NAME),..
PRO
GRAM(PROGRAM-NAM
E),..
UID(USER-IDEN
TIFIER),..
),..
OPERATIONS /*
OPERATIONS | NOO
PERATIONS */,..
OPERPARM(
,..
ALTGRP(ALTE
RNATE-CONSOLE-GR
OUP),..
AUTH(OP
ERATOR-AUTHORITY
),..
AUTO( YES
/*| NO*/ ),..
C
MDSYS(SYSTEM-NAM
E),..
DOM( NORM
AL /* NORMAL | A
LL | NONE */ ),.
.
KEY(SEARCHING
-KEY),..
LEVEL(
MESSAGE-LEVEL),.
.
LOGCMDRESP( S
YSTEM /*| NO */
),..
MFORM(MESS
AGE-FORMAT),..
MIGID( YES /* |
NO */ ),..
MONI
TOR(EVENT),..
M
SCOPE( SYSTEM-NA
MES /* | * | *AL
L */),..
ROUTCO
DE( ALL /* | NON
E | ROUTING-CODE
S */ ),..
STORA
GE(AMOUNT),..
U
D( YES /*| NO */
),..
),..
OWNER(USERID OR
GROUP-NAME),..
PASSWORD(
PASSWORD) /* | N
OPASSWORD */,..
SECLABEL(
SECLABEL-NAME),.
. SECLEVE
L(SECLEVEL-NAME)
,.. SPECI
AL /* SPECIAL |
NOSPECIAL */,..
TSO(,..
ACCTN
UM(ACCOUNT-NUMBE
R),..
DEST(DESTINATI
ON-ID),..
HOLDCLASS(
HOLD-CLASS),..
JOBCL
ASS(JOB-CLASS),.
. MA
XSIZE(MAXIMUM-RE
GION-SIZE),..
MSGCLA
SS(MESSAGE-CLASS
),..
PROC(LOGON-PROC
EDURE-NAME),..
SECLA
BEL(SECURITY-LAB
EL),..
SIZE(DEFAULT-
REGION-SIZE),..
SYSO
UTCLASS(SYSOUT-C
LASS),..
UNIT(UNIT-N
AME),..
USERDATA(USE
R-DATA),..
),..
UACC(ACCESS-AUT
HORITY),..
WHEN( DAYS(DAY
-INFO) TIME(TIME
-INFO) ),..
WORKATTR(,..
WAACCNT(ACCOUNT
-NUMBER),..
WAA
DDR1(ADDRESS-LIN
E-1),..
WAADDR2
(ADDRESS-LINE-2)
,..
WAADDR3(ADD
RESS-LINE-3),..
WAADDR4(ADDRESS
-LINE-4),..
WAB
LDG(BUILDING),..
WADEPT(DEPARTM
ENT),..
WANAME(
NAME),..
WAROOM
(ROOM),..
)....
@RACF Commands
%AltDSD
$
/*-------------(
ALTDSD: VERIFY P
LEASE)----------
----*/..ALTDSD
(PROFILE-NAME /*
/PASSWORD ...*/
),.. ADDC
ATEGORY(CATEGORY
-NAME /*...*/ ),
.. DELCAT
EGORY /* ({CATEG
ORY-NAME ...|*}
) */,.. A
DDVOL(VOLUME-SER
IAL) /* | DELVOL
(VOLUME-SERIAL)
*/,.. ALT
VOL(OLD-VOLUME-S
ERIAL NEW-VOLUME
-SERIAL),..
AUDIT( ACCESS
-ATTEMPT /* (AUD
IT-ACCESS-LEVEL)
...*/ ),..
DFP(RESOWNER(
USERID OR GROUP-
NAME)) /* | NODF
P */, ..
DATA('INSTALLATI
ON-DEFINED-DATA'
) /* | NODATA */
,.. ERAS
E /* | NOERASE *
/,.. GENE
RIC /* | NOSET |
SET */,..
GLOBALAUDIT( A
CCESS-ATTEMPT /*
(AUDIT-ACCESS-L
EVEL) ...) */,..
LEVEL(NN
),.. NOTI
FY(USERID) /* |
NONOTIFY */ ..
OWNER(USER
ID OR GROUP-NAME
),.. RETP
D(NNNNN),..
SECLABEL(SECL
ABEL-NAME) /* |
NOSECLABEL */,
.. SECLEV
EL(SECLEVEL-NAME
) /* | NOSECLEVE
L */,.. U
ACC(ACCESS-AUTHO
RITY),..
UNIT(TYPE),..
VOLUME(VOLU
ME-SERIAL),..
WARNING /*
| NOWARNING */ .
...
@RACF Commands
%AltGroup
$
/*-------------(
ALTGROUP: VERIFY
PLEASE)--------
----*/..ALTGROUP
(GROUP-NAME /*
... */ ),
..
DATA('INS
TALLATION-DEFINE
D-DATA') /* |
NODATA */,
.. DFP(,
..
DATAAPPL(APPLICA
TION-NAME)
/* | NODATAAPPL
*/,..
DATACLAS(DATA
-CLASS-NAME)
/* | NODATACL
AS */, ..
MGMTCLAS(
MANAGEMENT-CLASS
-NAME) /* | NOMG
MTCLAS */,..
STORCL
AS(STORAGE-CLASS
-NAME) /* | N
OSTORCLAS */, ..
),..
NODFP,.
. MODEL(
DSNAME) | NOMODE
L,.. OMV
S(,..
GID(GROUP-ID
ENTIFIER) /* | N
OGID */,..
),..
/* | NOOMVS
*/, .. O
WNER(USERID OR G
ROUP-NAME),..
SUPGROUP(G
ROUP-NAME),..
TERMUACC /
* | NOTERMUACC *
/ ....
@RACF Commands
%AltUser
$
/*-------------(
ALTUSER: VERIFY
PLEASE)---------
----*/..ALTUSER
(USERID /* ...
*/),.. AD
DCATEGORY(CATEGO
RY-NAME /* ... *
/),.. /*
| DELCATEGORY(CA
TEGORY-NAME ...|
*) */, ..
ADSP /* | NO
ADSP */,..
AUDITOR /*
| NOAUDITOR */,.
. AUTHORI
TY(GROUP-AUTHORI
TY),.. CI
CS(,..
OPCLASS(OPER
ATOR-CLASS1,OPER
ATOR-CLASS2,/* .
.. */),..
/* | ADDO
PCLASS(OPERATOR-
CLASS1,OPERATOR-
CLASS2,...) */,
..
/* | DELOPCLASS(
OPERATOR-CLASS1,
OPERATOR-CLASS2,
...) */,..
/* | NOO
PCLASS */,..
OPIDEN
T(OPERATOR-ID)
/* | NOOPIDE
NT */,..
OPPRTY(OPE
RATOR-PRIORITY)
/* | NOOPPRTY *
/,..
TIMEOUT(TIMEOU
T-VALUE) /* |
NOTIMEOUT */,..
XR
FSOFF(FORCE /*
| NOFORCE */ ) /
* | NOXRFSOFF */
,.. )
,.. /* |
NOCICS */,..
CLAUTH(CLASS
-NAME /* ... */
) /* | NOCLAUTH
(CLASS-NAME ...
) */,.. D
ATA('INSTALLATIO
N-DEFINED-DATA')
/* | NODATA */,
.. DFLTGR
P(GROUP-NAME),..
DFP(,..
DATA
APPL(APPLICATION
-NAME) /* |
NODATAAPPL */,.
. DA
TACLAS(DATA-CLAS
S-NAME) /*
| NODATACLAS */
,..
MGMTCLAS(MANAGEM
ENT-CLASS-NAME)
/* | NOMGMTCLAS
*/,..
STORCLAS(STORA
GE-CLASS-NAME)
/* | NOSTORCLA
S */,..
),.. /*
| NODFP */,..
GROUP(GROU
P-NAME),..
GRPACC /* | NO
GRPACC*/,..
LANGUAGE(,..
PRIMARY(LANGUAG
E) /* | NOPRIM
ARY */,..
SEC
ONDARY(LANGUAGE)
/* | NOSECONDAR
Y */,..
),
..
/* | NOLANGUAGE
*/,.. MO
DEL(DSNAME) /* |
NOMODEL */,..
NAME('USER
-NAME'),..
OIDCARD /* | N
OOIDCARD */,..
OMVS(,..
HOME
(INITIAL-DIRECTO
RY-NAME) /* | NO
HOME */,..
PROGR
AM(PROGRAM-NAME)
/* | NOP
ROGRAM */,..
UID(US
ER-IDENTIFIER)
/* | NOUI
D */,..
),..
/* | NOOMVS *
/,.. OPER
ATIONS /* | NOOP
ERATIONS */,..
OPERPARM(,
..
ALTGRP(ALTER
NATE-CONSOLE-GRO
UP) /* | NOALTG
ROUP */,..
AU
TH(OPERATOR-AUTH
ORITY) /
* | NOAUTH
*/,..
AUTO( YE
S /* | NO */ )
/* | NO
AUTO */,..
CMDSYS(SYSTEM-
NAME)
/* | NOCMDSYS
*/,..
DOM(
NORMAL /* | ALL
| NONE */ ) /*
| NODOM *
/,..
KEY(SEARCH
ING-KEY)
/* | NOKE
Y */,..
LEVEL(MESSAGE-LE
VEL)
/* | NOLEVEL
*/,..
LOGCMD
RESP( SYSTEM /*
| NO */ ) /* |
NOLOGCMDRESP */,
..
MFORM(MESSAG
E-FORMAT)
/* | NOMFOR
M */,..
MI
GID( YES | NO )
/
* | NOMIGID
*/,..
MONITOR(
EVENT)
/* | NO
MONITOR */,..
MSCOPE( SYSTEM
-NAMES /* | * |
*ALL */),..
/*
| ADDMSCOPE(SYS
TEM-NAMES)
*/,..
/* | DEL
MSCOPE(SYSTEM-NA
MES) | NOMSCOPE
*/,..
ROUTCODE( ALL
/* | NONE | ROUT
ING-CODES */ ),.
.
/* | NOROUTCO
DE
*/,..
STO
RAGE(AMOUNT)
/*
| NOSTORAGE
*/,..
UD( YES /
* | NO */ )
/* | NOU
D */,..
)
,.. /* |
NOOPERPARM */,..
OWNER(US
ERID OR GROUP-NA
ME),.. PA
SSWORD (PASSWORD
) /* | N
OPASSWORD */,..
RESUME /*
(DATE) */,..
REVOKE /* (
DATE) */,..
SECLABEL(SECL
ABEL-NAME) /
* | NOSECLABEL *
/,.. SECL
EVEL(SECLEVEL-NA
ME) /* | NOS
ECLEVEL */,..
SPECIAL
/* | NOSPECIAL
*/,.. TS
O (,..
ACCTNUM(ACCO
UNT-NUMBER)
/* | NOACCTNUM
*/,..
DEST(DEST
INATION-ID)
/* | NODEST
*/,..
HOLDCL
ASS(HOLD-CLASS)
/* | NOHO
LDCLASS */,..
JOB
CLASS(JOB-CLASS)
/* | N
OJOBCLASS */,
..
MAXSIZE(MAXIMUM-
REGION-SIZE) /*
| NOMAXSIZE
*/,..
MSGCLASS(MESS
AGE-CLASS)
/* | NOMSGCLASS
*/,..
PROC(LOGON
-PROCEDURE-NAME)
/* | NOPROC
*/,..
SECLABE
L(SECLABEL-NAME)
/* | NOSEC
LABEL */,..
SIZE
(DEFAULT-REGION-
SIZE) /* | NO
SIZE */,.
. S
YSOUTCLASS(SYSOU
T-CLASS) /* |
NOSYSOUTCLASS *
/,..
UNIT(UNIT-NAME
) /
* | NOUNIT
*/,..
USERDATA(US
ER-DATA)
/* | NOUSERDAT
A */,..
),..
/* | NOTSO */,
.. UACC(A
CCESS-AUTHORITY)
,.. UAUDI
T /* | NOUAUDIT
*/,.. WHE
N( DAYS(DAY-INFO
) TIME(TIME-INFO
) ),.. WO
RKATTR(,..
WAAC
CNT(ACCOUNT-NUMB
ER) /* | NOWAACC
NT */,..
WAADDR
1(ADDRESS-LINE-1
) /* | NOWADDR1
*/,..
WAADDR2(
ADDRESS-LINE-2)
/* | NOWADDR2 *
/,..
WAADDR3(AD
DRESS-LINE-3) /*
| NOWADDR3 */,
..
WAADDR4(ADDR
ESS-LINE-4) /* |
NOWADDR4 */,..
WABLDG(BUILDIN
G) /* | N
OWABLDG */,..
WADEPT(DEPARTMEN
T) /* | NOW
ADEPT */,..
WA
NAME(NAME)
/* | NOWAN
AME */,..
WARO
OM(ROOM)
/* | NOWAROO
M */,..
)..
/* | NOWORKAT
TR */....
@RACF Commands
%Connect
$
/*-------------(
CONNECT: VERIFY
PLEASE)---------
----*/..CONNECT
(USERID /* ... *
/),.. GRO
UP(GROUP-NAME),.
. OWNER(U
SERID OR GROUP-N
AME),.. U
ACC (ACCESS-AUTH
ORITY),..
RESUME (DATE),.
. REVOKE
(DATE),..
AUTHORITY(GROUP
-AUTHORITY),..
ADSP
/* | NOADSP
*/,..
AUDITOR /* |
NOAUDITO */,
.. GRPACC
/* | NOGRPA
CC */,..
OPERATIONS /
* | NOOPERATIONS
*/, .. S
PECIAL /* | N
OSPECIAL */..
..
@RACF Commands
%DelDSD
$
/*--------------
(DELDSD: VERIFY
PLEASE)---------
----*/..DELDSD (
PROFILE-NAME /*
... */),..
GENERIC /* | NO
SET | SET */, ..
VOLUME(VO
LUME-SERIAL) ...
.
@RACF Commands
%DelGroup
$
/*-------------(
DELGROUP: VERIFY
PLEASE)--------
----*/..DELGROUP
(GROUP-NAME /*
... */) ....
@RACF Commands
%DelUser
$
/*-------------(
DELUSER: VERIFY
PLEASE)---------
----*/..DELUSER
(USERID /* ... *
/) ....
@RACF Commands
%Help
$
/*--------------
-(HELP: VERIFY P
LEASE)----------
----*/..HELP COM
MAND-NAME,..
ALL,.. FUNC
TION,.. OPER
ANDS (OPERAND /*
... */),..
SYNTAX....
@RACF Commands
%ListDSD
$
/*-------------(
LISTDSD: VERIFY
PLEASE)---------
----*/..LISTDSD
ALL, .. A
UTHUSER..
DATASET(PROFILE
-NAME /* ... */)
,.. /* |
ID(NAME) */,
.. /* | P
REFIX(CHAR) */,.
. DFP,..
DSNS,..
GENERIC /*
| NOGENERIC */,
.. HISTOR
Y,.. NORA
CF,.. STA
TISTICS,..
VOLUME(VOLUME-
SERIAL /* ... */
)....
@RACF Commands
%ListGrp
$
/*-------------(
LISTGRP: VERIFY
PLEASE)---------
----*/..LISTGRP
(GROUP-NAME /* .
.. */) /* | * */
,.. DFP,.
. NORACF,
.. OMVS..
..
@RACF Commands
%ListUser
$
/*-------------(
LISTUSER: VERIFY
PLEASE)--------
----*/..LISTUSER
(USERID /* ...
*/) /* | * */,..
CICS,..
DFP,..
LANGUAGE
,.. NORA
CF,.. OM
VS,.. OP
ERPARM,..
TSO,..
WORKATTR....
@RACF Commands
%Password
$
/*-------------(
PASSWORD: VERIFY
PLEASE)--------
----*/..PASSWORD
INTERVAL(CHANGE
-INTERVAL) /*
| NOINTERVAL */,
.. PASSW
ORD(CURRENT-PASS
WORD NEW-PASSWOR
D),.. US
ER(USERID /* ...
*/)....
@RACF Commands
%Permit
$
/*-------------(
PERMIT: VERIFY P
LEASE)----------
----*/..PERMIT P
ROFILE-NAME-1,..
ACCESS(AC
CESS-AUTHORITY)
/* | DELETE */,.
. CLASS(PR
OFILE-NAME-1-CLA
SS),.. FCL
ASS(PROFILE-NAME
-2-CLASS),..
FGENERIC,..
FROM(PROFIL
E-NAME-2),..
FVOLUME(VOLUM
E-SERIAL),..
GENERIC,..
ID( NAME /*
... | * */ ),..
RESET /* (
ALL | STANDARD |
WHEN) */,..
VOLUME(VOLUME
-SERIAL),..
WHEN(,..
APPCPORT(
PARTNER-LU-NAME
/* ... */),..
CONSOL
E(CONSOLE-ID /*
... */),..
JESINPUT(
JES-INPUT-DEVICE
-NAME /* ... */)
,..
PROGRAM( PROGRAM
-NAME /* ... | *
*/ ),..
),.. TE
RMINAL(TERMINAL-
ID /* ... */)...
.
@RACF Commands
%RAlter
$
/*-------------(
RALTER: VERIFY P
LEASE)----------
----*/..RALTER C
LASS-NAME,..
(PROFILE-NAME
/* ... */),..
ADDCATEGORY
( CATEGORY-NAME
/* ... */ ),..
/* | DELCAT
EGORY ( CATEGORY
-NAME ... | * )
*/,.. ADD
MEM (MEMBER /* .
.. */) /* | DEL
MEM (MEMBER ...)
*/,.. ADD
VOL (VOLUME-SERI
AL /* ... */) /*
| DELVOL (VOLUM
E-SERIAL ...) */
,.. APPLDA
TA('APPLICATION-
DATA') /* | NOAP
PLDATA */,..
AUDIT( ACCESS
-ATTEMPT (AUDIT-
ACCESS-LEVEL) /*
... */),..
DATA('INSTALLA
TION-DEFINED-DAT
A') /* | NODATA
*/,.. DLFD
ATA(,..
RETAIN( Y
ES /* | NO */ ),
..
JOBNAMES(JOBNA
ME1 /* ... */),.
.
/* | ADDJOBNAME
S(JOBNAME1 ...)
*/,..
/* | DELJOB
NAMES(JOBNAME1 .
..) */,..
),..
/* | NODLFDATA
*/, .. GL
OBALAUDIT(ACCESS
-ATTEMPT (AUDIT-
ACCESS-LEVEL) /*
... */),..
LEVEL(NN),..
NOTIFY (USE
RID) /* | NONOTI
FY */,.. O
WNER(USERID OR G
ROUP-NAME),..
SECLABEL(SEC
LABEL-NAME /* ..
. */) /* | NOSEC
LABEL */,..
SECLEVEL(SECLE
VEL-NAME /* ...
*/) /* | NOSECLE
VEL */,..
SESSION(,..
CONVS
EC( NONE /* | CO
NV | ALREADYV |
PERSISTV | AVPV
*/ ),..
/* | NOCO
NVSEC */,..
INTER
VAL(N)
/* | NOINTERVAL
*/,..
LOCK
/* | N
OLOCK */,..
S
ESSKEY(SESSION-K
EY) /* | NOSESSK
EY */,..
),..
/* | NOSESSION
*/,.. SIN
GLEDSN /* | NOSI
NGLEDSN */,..
SSIGNON(,..
KEYMASKED(KEY-VA
LUE),..
| KEYENC
RYPTED(KEY-VALUE
),..
),.. STD
ATA(,..
USER(USERI
D /* | =MEM
BER */) /* | NOU
SER */,..
GR
OUP(GROUP-NAME /
* | =MEMBER */)
/* | NOGROUP
*/,..
PRIVILEGED
( NO /* | YES
*/) /* | NOP
RIVILEGED */,..
TR
ACE( NO /
* | YES */)
/* | NOTRACE
*/,..
TRUSTED( N
O /* | YES
*/) /* | NOT
RUSTED */,..
),..
/* | NOST
DATA */,..
TIMEZONE( E HH
.MM ) /
* | ( W HH.MM )
| NOTIMEZONE */,
.. TVTOC
/* | NOTVTOC
*/,.. UACC
(ACCESS AUTHORIT
Y),.. WARN
ING /* | NOWARNI
NG */,.. W
HEN( DAYS(DAY-IN
FO) TIME(TIME-IN
FO) )....
@RACF Commands
%RDelete
$
/*-------------(
RDELETE: VERIFY
PLEASE)---------
----*/..RDELETE
CLASS-NAME,..
(PROFILE-NA
ME /* ... */)...
.
@RACF Commands
%Remove
$
/*-------------(
REMOVE: VERIFY P
LEASE)----------
----*/..REMOVE (
USERID /* ... */
),.. GROUP
(GROUP-NAME),..
OWNER(USER
ID OR GROUP-NAME
)....
@RACF Commands
%RList
$
/*--------------
(RLIST: VERIFY P
LEASE)----------
----*/..RLIST CL
ASS-NAME, ..
(PROFILE-NAME
/* ... */)
/* | * */, ..
ALL,.. A
UTHUSER,..
DLFDATA,..
GENERIC /* | NO
GENERIC */,..
HISTORY,..
NORACF,..
NOYOURACC,..
RESGROUP,..
SESSION,..
SSIGNON,..
STATISTICS,
.. STDATA,.
. TVTOC....
@RACF Commands
%RVary
$
/*--------------
(RVARY: VERIFY P
LEASE)----------
----*/..RVARY AC
TIVE /* | IN
ACTIVE */,..
NOCLASSACT(
CLASS-NAMELIST
/* | * */ ),..
NOTAPE,..
DATASHARE /
* | NODATASHARE
*/,.. SWITC
H,.. DATASE
T(DATABASE-NAMEL
IST /* | * */
),.. LIST
/* | NOLIST
*/....
@RACF Commands
%Search
$
/*--------------
(SEARCH: VERIFY
PLEASE)---------
----*/..SEARCH A
GE(NUMBER-OF-DAY
S),.. ALL
/* | GENERIC | N
OGENERIC | MODEL
| TAPE | VSAM |
NONVSAM */,..
CATEGORY (C
ATEGORY-NAME),..
| EXPIRES
(NUMBER-OF-DAYS
),.. | LEV
EL (LEVEL-NUMBER
),.. | SEC
LABEL (SECLABEL-
NAME),.. |
SECLEVEL (SECLE
VEL-NAME),..
| WARNING,..
CLASS( DAT
ASET /* | CLASS-
NAME */ ),..
CLIST ('STRIN
G-1' 'STRING-2'
),.. FILTE
R(FILTER-STRING)
,.. LIST /
* | NOLIST */,..
MASK( CHA
R-1 /* | * */,CH
AR-2 ) /* | NOMA
SK */,.. U
SER(USERID),..
VOLUME,..
VOLUME(VOLU
ME-SERIAL)....
@RACF Commands
%SetROpts
$
/*-------------(
SETROPTS: VERIFY
PLEASE)--------
-----*/..SETROPT
S ADSP /* | NOAD
SP */,..
AUDIT(CLASS-NAM
E /* ... |* */),
.. /* |
NOAUDIT(CLASS-NA
ME ... |* ) */,.
. APPLAU
DIT /* | NOAPPLA
UDIT */,..
CATDSNS ( FAI
LURES /* | WARNI
NG */ ) /* | NOC
ATDSNS */,..
CLASSACT (
CLASS-NAME /* .
.. | * */ ),..
/* | NOCL
ASSACT ( CLASS-
NAME... | * ) */
,.. CMDV
IOL /* | NOCMDVI
OL */,..
COMPATMODE /* |
NOCOMPATMODE */
,.. EGN
/* | NOEGN */,..
ERASE (
,..
ALL /* | SEC
LEVEL(SECLEVEL-N
AME) | NOSECLEV
EL */,..
),..
/* | NOERASE
*/,.. G
ENCMD ( CLASS-NA
ME /* ... | * */
),.. /*
| NOGENCMD ( CL
ASS-NAME ... | *
) */,..
GENERIC ( CLAS
S-NAME /* ... |
* */),..
/* | NOGENERIC
( CLASS-NAME ...
| * ) */,..
GENERICOWNE
R /* | NOGENERIC
OWNER */,..
GENLIST (CLA
SS-NAME /* ... *
/),.. /*
| NOGENLIST (CL
ASS-NAME ...) */
,.. GLOB
AL ( CLASS-NAME
/* ... | * */),
.. /* |
NOGLOBAL ( CLASS
-NAME ... | * )
*/,.. GR
PLIST /* | NOGRP
LIST */,..
JES (,..
BATCHA
LLRACF /* | NOBA
TCHALLRACF */, .
.
EARLYVERIFY /*
| NOBATCHALLRACF
*/,..
XBMALLRACF
| NOXBMALLRACF,.
.
NJEUSERID(USERID
),..
UNDEFINEDUSER
(USERID),..
),..
INACTIVE(UN
USED-USERID-INTE
RVAL) /* | NOINA
CTIVE */,..
INITSTATS /*
| NOINITSTATS *
/,.. LAN
GUAGE(,..
PRIM
ARY(LANGUAGE),..
SECONDARY(LAN
GUAGE),..
),..
LIST,..
LOGOPTION
S(,..
ALWAYS
(CLASS-NAME, /*
... */),, ..
| NEVER(CLASS-N
AME, /* ...), ..
. */,..
| SU
CCESSES(CLASS-NA
ME, /* ...), ...
*/,
| FAILU
RES(CLASS-NAME,
/* ...), ... */.
.
| DEFAULT(
CLASS-NAME, /*
... | * */ ),..
),.. M
LACTIVE ( FAILUR
ES /* | WARNING
*/ ),..
/* | NOMLACTIVE
*/,.. ML
QUIET | NOMLQUIE
T,.. MLS
( FAILURES /* |
WARNING */ ) /*
| NOMLS */,..
MLSTABLE
/* | NOMLSTABLE
*/,.. MO
DEL(,..
GDG /*
| NOGDG */,..
G
ROUP /* | NOGROU
P */,..
USER /*
| NOUSER */,..
),.
. /* | N
OMODEL */,..
OPERAUDIT /
* | NOOPERAUDIT
*/,.. PA
SSWORD(,..
HIS
TORY(NUMBER-PREV
IOUS-PASSWORDS),
..
/* | NOHIST
ORY */,..
INTE
RVAL(PASSWORD-CH
ANGE-INTERVAL),.
.
REVOKE(NUMBE
R-INVALID-PASSWO
RDS) /* | NOREVO
KE */, ..
RULE
N(LENGTH(M1:M2)
CONTENT-KEYWORD
(POSITION)), ..
/* | NORULEN
*/,..
/* | NO
RULES */,..
WARNING(DAYS-BEF
ORE-PASSWORD-EXP
IRES),..
/* |
NOWARNING */,..
),.. PRE
FIX(PREFIX) /* |
NOPREFIX */,..
PROTECTA
LL ( FAILURES /*
| WARNING */ )
/* | NOPROTECTAL
L */,..
RACLIST (CLASS-N
AME /* ... */),.
. /* | N
ORACLIST} (CLASS
-NAME ...) */,..
REALDSN
/* | NOREALDSN
*/,.. RE
FRESH,..
RETPD(NNNNN),..
RVARYPW
( SWITCH(SWITCH-
PW) STATUS(STATU
S-PW) ),..
SAUDIT /* | N
OSAUDIT */,..
SECLABELAU
DIT /* | NOSECLA
BELAUDIT */,..
SECLABELC
ONTROL /* | NOSE
CLABELCONTROL */
,.. SECL
EVELAUDIT (SECUR
ITY-LEVEL),..
/* | NOSEC
LEVELAUDIT */,..
SESSION
INTERVAL(N) /* |
NOSESSIONINTERV
AL */,..
STATISTICS (CLA
SS-NAME /* ... |
* */),..
/* | NOSTATIST
ICS (CLASS-NAME.
.. | *) */,..
TAPEDSN |
NOTAPEDSN,..
TERMINAL( N
ONE /* | READ */
),.. WH
EN (PROGRAM) /*
| NOWHEN (PROGRA
M) */..
@RACF Commands
%RDefine
$
/*-------------(
RDEFINE: VERIFY
PLEASE)---------
----*/..RDEFINE
CLASS-NAME,..
(PROFILE-NAM
E-1 /* ... */),.
. ADDCATEG
ORY(CATEGORY-NAM
E /* ... */),..
ADDMEM(MEM
BER /* ... */),.
. APPLDATA
('APPLICATION-DA
TA'),.. AU
DIT( ACCESS-ATTE
MPT (AUDIT-ACCES
S-LEVEL) /* ...
*/),.. DAT
A('INSTALLATION-
DEFINED-DATA'),.
. DLFDATA(
,..
RETAIN( YES /
* | NO */),..
JO
BNAMES(JOBNAME-1
/* ... */),..
),..
FCLASS(PR
OFILE-NAME-2-CLA
SS),.. FGE
NERIC,.. F
ROM(PROFILE-NAME
-2),.. FVO
LUME(PROFILE-NAM
E-2-SERIAL),..
LEVEL(NN),.
. NOTIFY(U
SERID),..
OWNER (USERID OR
GROUP-NAME),..
SECLABEL(S
ECLABEL-NAME),..
SECLEVEL(
SECLEVEL-NAME),.
. SESSION(
,..
CONVSEC( NONE
/* | CONV | PER
SISTV | ALREADYV
| AVPV */ ),..
I
NTERVAL(N),..
LOC
K,..
SESSKEY(SESS
ION-KEY),..
),..
SINGLEDSN,..
SSIGNON(,
..
KEYMASKED(KEY-
VALUE),..
KEYENCR
YPTED(KEY-VALUE)
,..
),.. STDA
TA(,..
USER(USERID
/* | =MEMBER */
),..
GROUP(GROUP-N
AME /* | =MEMBER
*/),..
PRIVILEGED
( NO | YES),..
TRA
CE( NO | YES),..
T
RUSTED( NO | YES
),..
),.. TIME
ZONE( E HH.MM )
/* | ( W HH.MM )
*/,.. TVT
OC,.. UACC
(ACCESS-AUTHORIT
Y),.. WARN
ING,.. WHE
N( DAYS(DAY-INFO
) TIME(TIME-INFO
) )..
@DM Display
%Display Panel
$
/*----------(DIS
PLAY PANELS AND
MESSAGES)-------
----*/..ADDRESS
ISPEXEC "DISPLAY
PANEL ("PANELNA
ME") MSG("MSGID"
),..
CURSOR("FIE
LDNAME") CSRPOS(
"POSNR"),..
COMM
AND("COMMANDS")
MSGLOC("MSGFIELD
")",..
RETBUFFR(
"BUFNAME") RETLG
TH("LNGNAME")..I
F RC ^= 0 THEN D
O /* RE
TURN CODES
*/..
/* 4 - COMMAND
NOT FOUND
*/..END
/* 8 - E
ND OR RETURN COM
MAND ENTERED */.
.ELSE DO
/*
- PANEL WAS G
ENERATED FROM TA
GS */..
/* AND E
XIT COMMAND ENTE
RED */..END
/* 12 -
PANEL, MESSAGE,
OR CURSOR *
/..
/
* FIELD COU
LD NOT BE FOUND
*/..
/* 16 - DAT
A TRUNCATION OR
TRANSLATION*/..
/*
ERROR
*/..
/* 20 - SEVERE
ERROR
*/..
@DM Display
%Display Table
$
/*-----------(DI
SPLAY TABLE INFO
RMATION)--------
----*/..ADDRESS
ISPEXEC "TBDISPL
" TABLENAME "PAN
EL("PANELNAME")
MSG("MSGID"),..
CURSOR("FIELDNAM
E") CSRROW("ROWN
R") CSRPOS("POSN
R"),..
AUTOSEL(Y
ES) MSGLOC("MSG
FIELD")",..
POSI
TION("CRPNAME")
ROWID("ROWIDNAME
")..IF RC ^= 0 T
HEN DO
/* RETURN CODES
*/..
/* 4 - T
HE ENTER KEY OR
SCROLL */..
END
/*
COMMAND USE
D; ADDITIONAL DA
TA*/..ELSE DO
/* REMAI
NS TO BE STORED
*/..
/* 8 -
THE END OR RETU
RN COMMAND WAS*/
..END
/
* ENTERED.
IF CRP AT TOP,
NO */..
/* LIN
ES MODIFIED
*/..
/*
- PANEL WAS GEN
ERATED FROM TAGS
*/..
/* AND THE
EXIT COMMAND WA
S */..
/* E
NTERED
*/..
/*
12 - PANEL OR ME
SSAGE NOT FOUND
OR*/..
/* TABLE
NOT OPEN
*/..
/* 20 -
SEVERE ERROR
*/
..
@DM Display
%Panel Query
$
/*--------------
-(SET NEXT MESSA
GE)-------------
----*/..ADDRESS
ISPEXEC "PQUERY
PANEL("PANELNAM
E") AREANAME("AR
EANAME"),..
AREA
TYPE("ATYPNAME")
,..
WIDTH("AWIDN
AME") DEPTH("ADE
PNAME"),..
ROW("
AROWNAME") COLUM
N("ACOLNAME")"..
IF RC ^= 0 THEN
DO /* R
ETURN CODES
*/..
/* 8 - THE PA
NEL DOES NOT CON
TAIN THE*/..END
/*
SPECIFIED AREA
*/
..ELSE DO
/*
12 - THE SPECIF
IED PANEL CANNOT
*/..
/* BE F
OUND
*/..EN
D
/* 16
- NOT ALL VALUES
ARE RETURNED
*/..
/* BECAUSE
OF INSUFFICIENT
SPACE */..
/* 20 - SE
VERE ERROR
*/..
@DM Display
%Remove a Pop-Up Window
$
/*------------(R
EMOVE A POP-UP W
INDOW)----------
----*/..ADDRESS
ISPEXEC "REMPOP
ALL"..IF RC ^= 0
THEN DO
/* 16 - A POP-
UP WINDOW DOES N
OT */..
/*
EXIST AT THIS SE
LECT LEVEL */
..END
/*
20 - SEVERE ERR
OR
*/..ELSE DO.
...END..
@DM Display
%Set Message
$
/*--------------
-(SET NEXT MESSA
GE)-------------
----*/..ADDRESS
ISPEXEC "SETMSG
MSG("MSGID") CON
D MSGLOC("MSGFIE
LD")"..IF RC ^=
0 THEN DO
/* RETURN C
ODES
*/..
/* 4
- SETMSG REQUES
T PENDING, WHEN*
/..END
/* COND SP
ECIFIED
*/..ELSE DO
/* 12 - M
ESSAGE COULD NOT
BE FOUND */..
/*
20 - SEVERE ERRO
R
*/..END..
@DM Display
%Start Pop-Up Window Mode
$
/*-----------(ST
ART POP-UP WINDO
W MODE)---------
----*/..ADDRESS
ISPEXEC "ADDPOP
POPLOC("FIELDNA
ME")..
ROW("ROWN
R") COLUMN("COLN
R")"..IF RC ^= 0
THEN DO
/* 4- PARAME
TER IS INVALID
*/..
/* 12 -
AN ADDPOP SERVIC
E CALL WAS */
..END
/*
ISSUED BEF
ORE A PRIMARY
*/..ELSE DO
/* WIND
OW WAS DISPLAYED
, OR */..
/*
- ANOTHER ADDPOP
SERVICE WAS
*/..END
/* ISSUED B
EFORE A PANEL WA
S */..
/* DI
SPLAYED FOR THE
PREVIOUS */..
/*
ADDPOP CALL
*/..
/* 20 - SEVERE
ERROR
*/..
@DM Library access
%LmClose
$
/*--------------
-(CLOSE A DATA S
ET)-------------
-------*/..ADDRE
SS ISPEXEC "LMCL
OSE DATAID("DAT
AID")"..IF RC ^=
0 THEN DO
/* RETUR
N CODES
*/..
/* 8 - DATA SE
T IS NOT OPEN
*/..END
/* 10 -
NO DATA SET ASS
OCIATED */..
ELSE DO
/* WITH TH
E GIVEN DATA ID
*/..
/* 20 -
SEVERE ERROR
*/..
END
/* 20 - SEVERE
ERROR
*/..
/* 20 -
SEVERE ERROR
*/..
@DM Library access
%LmErase
$
/*------(DELETE
AN ISPF LIBRARY
OR MVS DATA SET)
-------*/..ADDRE
SS ISPEXEC "LMER
ASE PROJECT("PRO
JECT") GROUP("GR
OUP"),..
TYPE("T
YPE") PURGE(NO)"
..IF RC ^= 0 THE
N DO
/* RETURN CODE
S
*/..
/* 4
- DATA SET EXPI
RATION DATE HAS
*/..END
/* EXPI
RED AND PURGE WA
S NOT */..ELS
E DO
/*
SPECIFIED
*/..
/* 8 - SP
ECIFIED DATA SET
OR FILE */..E
ND
/
* DOES NOT
EXIST
*/..
/* -
ERASE DATA SET O
R FILE FAILED*/.
.
/* 12 - INVALID
PARAMETER VALUE
*/..
/* 20
- SEVERE ERROR
*
/..
@DM Library access
%LmFree
$
/*-------------(
RELEASE THE DATA
SET)-----------
-------*/..ADDRE
SS ISPEXEC "LMFR
EE DATAID("DATA
ID")"..IF RC ^=
0 THEN DO
/* RETUR
N CODES
*/..
/*
8 - FREE DATA
SET OR FILE
*/..END
/* FA
ILED
*/..ELSE
DO
/*
10 - NO DATA SET
OR FILE *
/..
/* ASSO
CIATED WITH DATA
ID */..END
/* 20
- SEVERE ERROR
*/.
.
@DM Library access
%LmGet
$
/*----------(REA
D ONE RECORD OF
A DATA SET)-----
-------*/..ADDRE
SS ISPEXEC "LMGE
T DATAID("DATAID
") MODE(INVAR),.
.
DATALOC("LOCVA
R") DATALEN("LEN
VAR") MAXLEN("MX
L")"..IF RC ^= 0
THEN DO
/* RETURN
CODES
*/..
/*
8 - END-OF-FIL
E CONDITION
*/..END
/* 10 - NO
DATA SET OR FIL
E */..EL
SE DO
/*
ASSOCIATED
WITH THE DATAID
*/..
/* 12 - DA
TA FILE NOT OPEN
*/..EN
D
/*
- DATA FILE
NOT OPEN FOR
*/..
/* IN
PUT
*/..
/*
- LMMFIND WA
S NOT DONE FOR A
*/..
/* PA
RTITIONED DATA S
ET */..
/*
- INVALID PA
RAMETER VALUE
*/..
/* 16 - TR
UNCATION OR TRAN
SLATION */..
/*
ERROR IN A
CCESSING DIALOG
*/..
/* VA
RIABLES
*/..
/*
20 - SEVERE ERR
OR
*/..
@DM Library access
%LmInit Project
$
/*---------(ASSO
CIATE DATA SET W
ITH A DATA ID)--
-------*/..ADDRE
SS ISPEXEC "LMIN
IT DATAID("DATAI
DVAR") PROJECT("
PROJECT")..
GROU
P1("GROUP1") GRO
UP2("GROUP2") GR
OUP3("GROUP3"),.
.
GROUP4("GROUP4
") TYPE("TYPE")
PASSWORD("PASSWR
D"),..
ENQ(SHR)
ORG("ORGVAR")"..
IF RC ^= 0 THEN
DO
/* RETURN CODES
*/..
/* 8 -
DATA SET OR FILE
NOT */..
END
/* ALLOCATE
D
*/..ELSE DO
/* -
DATA SET OR FILE
*/..
/* ORGANIZA
TION NOT SUPPORT
ED */..END
/* 12 -
INVALID PARAMETE
R VALUE */..
/* 16 - TRUNCATI
ON OR TRANSLATIO
N */..
/*
ERROR IN ACCESSI
NG DIALOG */..
/* VARIABLE
S
*/..
/* 20 -
SEVERE ERROR
*/..
@DM Library access
%LmInit Dataset
$
/*---------(ASSO
CIATE DATA SET W
ITH A DATA ID)--
-------*/..ADDRE
SS ISPEXEC "LMIN
IT DATAID("DATAI
DVAR") DATASET("
DSNAME"),..
VOLU
ME("SERIAL") PAS
SWORD("PASSWRD")
ENQ(SHR),..
ORG
("ORGVAR")"..IF
RC ^= 0 THEN DO
/*
RETURN CODES
*/..
/* 8 - DAT
A SET OR FILE NO
T */..END
/*
ALLOCATED
*/..ELSE DO
/* - DAT
A SET OR FILE
*/..
/*
ORGANIZATIO
N NOT SUPPORTED
*/..END
/* 12 - INV
ALID PARAMETER V
ALUE */..
/*
16 - TRUNCATION
OR TRANSLATION
*/..
/* ERR
OR IN ACCESSING
DIALOG */..
/*
VARIABLES
*/..
/* 20 - SEV
ERE ERROR
*/..
@DM Library access
%LmInit File
$
/*---------(ASSO
CIATE DATA SET W
ITH A DATA ID)--
-------*/..ADDRE
SS ISPEXEC "LMIN
IT DATAID("DATAI
DVAR") DDNAME"DD
NAME"),..
PASSWO
RD("PASSWRD") EN
Q(SHR) ORG("ORGV
AR")"..IF RC ^=
0 THEN DO
/* RETURN
CODES
*/..
/
* 8 - DATA SET
OR FILE NOT
*/..END
/* A
LLOCATED
*/..E
LSE DO
/
* - DDNAME NO
T FOUND
*/..
/* - D
ATA SET OR FILE
*/..E
ND
/
* ORGANIZAT
ION NOT SUPPORTE
D */..
/* 12 - I
NVALID PARAMETER
VALUE */..
/
* 16 - TRUNCATIO
N OR TRANSLATION
*/..
/* E
RROR IN ACCESSIN
G DIALOG */..
/
* VARIABLES
*/..
/* 20 - S
EVERE ERROR
*/..
@DM Library access
%LmMAdd
$
/*-----(ADD MEMB
ERS TO AN ISPF L
IBRARY OR PDS)--
-------*/..ADDRE
SS ISPEXEC "LMMA
DD DATAID("DATA
ID") MEMBER("MEM
BERNAME"),..
STA
TS(NO) NOENQ"..I
F RC ^= 0 THEN D
O /*
RETURN CODES
*/..
/* 4 - DIR
ECTORY ALREADY C
ONTAINS */..E
ND
/*
SPECIFIED M
EMBER NAME
*/..ELSE DO
/* 10 - NO
FILE ASSOCIATED
WITH GIVEN */..
/*
DATAID
*/..END
/* 12 - DAT
A SET NOT OPEN
*/..
/*
- DATA SET NO
T OPEN FOR OUTPU
T */..
/* - INV
ALID PARAMETER V
ALUE */..
/*
- INVALID DAT
A SET ORGANIZATI
ON */..
/* - INV
ALID VALUES FOR
SOME */..
/*
MEMBER STAT
ISTICS
*/..
/* 14 - NO
RECORD HAS BEEN
WRITTEN */..
/*
FOR THE MEM
BER TO BE ADDED
*/..
/* 16 - TRU
NCATION OR TRANS
LATION */..
/*
ERROR IN AC
CESSING DIALOG
*/..
/* VAR
IABLES
*/..
/*
20 - SEVERE ERRO
R
*/..
@DM Library access
%LmMDel
$
/*----(DELETE A
MEMBER OF AN ISP
F LIBRARY OR A P
DS)----*/..ADDRE
SS ISPEXEC "LMMD
EL DATAID("DATA
ID"),..
MEMBER("
MEMBERNAME") NOE
NQ"..IF RC ^= 0
THEN DO
/* RETURN CO
DES
*/..
/*
4 - MEMBER DELE
TED, MACLIB/TXTL
IB */..END
/* ER
ASED IF IT IS EM
PTY AFTER */..
ELSE DO
/
* THE DELET
ION (CMS ONLY)
*/..
/* 8 -
MEMBER NOT FOUND
*/
..END
/* 10 - NO DATA
SET OR DATA FIL
E */..
/*
ASSOCIATED WIT
H THE GIVEN
*/..
/* DATAI
D
*/..
/* 1
2 - DATA SET OR
DATA FILE NOT
*/..
/* OPE
N OR NOT OPEN FO
R OUTPUT */..
/*
- INVALID PA
RAMETER VALUE
*/..
/* - I
NVALID DATA SET
OR DATA FILE */.
.
/* ORGANIZA
TION
*/..
/* 20 -
SEVERE ERROR
*
/..
@DM Library access
%LmMFind
$
/*-----(FIND A M
EMBER OF AN ISPF
LIBRARY OR A PD
S)-----*/..ADDRE
SS ISPEXEC "LMMF
IND DATAID("DATA
ID") MEMBER("MEM
BERNAME"),..
LOC
K LRECL("LRECLVA
R") RECFM("RECFM
VAR"),..
GROUP("
GROUPVAR") STATS
(NO)"..IF RC ^=
0 THEN DO
/* RETURN CODES
*/..
/* 4 -
MEMBER IS IN AN
LMF-CONTROLLED
*/..END
/
* LIBRARY A
ND IS CURRENTLY
OWNED */..ELSE
DO
/* BY
ANOTHER USER
*
/..
/*
- MEMBER IS I
N AN SCLM-CONTRO
LLED */..END
/* LIBR
ARY AND USER IS
NOT A VALID */.
.
/*
USER AS SPECI
FIED BY MEMBER
*/..
/* ACCESS
ID
*/..
/* -
TRIED TO LOCK A
MEMBER IN AN
*/..
/* SCLM-CON
TROLLED LIBRARY
*/..
/* 8 - M
EMBER NOT FOUND
*/..
/*
10 - NO DATA SE
T OR FILE ASSOCI
ATED */..
/* WIT
H THE GIVEN DATA
ID */
..
/* 1
2 - DATA SET OR
FILE NOT OPEN OR
*/..
/* NOT O
PEN FOR INPUT
*/..
/*
- DATA SET IS NO
T AN ISPF LIBRAR
Y */..
/* OR MVS
PARTITIONED DATA
SET */..
/* -
CMS FILE IS NOT
A MACLIB, TXTLIB
,*/..
/
* OR ISPF L
IBRARY
*/..
/* - IN
VALID PARAMETER
VALUE *
/..
/*
16 - TRUNCATION
OR TRANSLATION
*/..
/* ERRO
R IN ACCESSING D
IALOG */.
.
/*
VARIABLES
*/..
/* 20 - SEVERE
ERROR
*/..
@DM Library access
%LmMList
$
/*-------(MEMBER
LIST OF A ISPF
LIBRARY OR A PDS
)------*/..ADDRE
SS ISPEXEC "LMML
IST DATAID("DATA
ID") OPTION(LIST
),..
MEMBER(MEMB
ERVAR) STATS(NO)
GROUP("GROUP-NA
ME")"..IF RC ^=
0 THEN DO
/* RETURN CODES
*/..
/* 4
- EMPTY MEMBER L
IST
*/..END
/* 8 - "LIST
" OPTION, END OF
MEMBER LIST */
..ELSE DO
/*
- "FREE" OPTIO
N, MEMBER LIST D
OES */..
/* NOT
EXIST
*/..END
/*
- "SAVE" OPT
ION, MEMBER LIST
EXISTS */..
/* A
ND MUST FIRST BE
FREED
*/..
/* 10 - NO DATA
SET OR FILE ASSO
CIATED */..
/*
WITH THE GIVEN
DATAID
*/..
/* 12 - DATA S
ET OR FILE NOT O
PEN OR NOT */.
.
/*
PARTITIONED
*/..
/* - INVA
LID PARAMETER VA
LUE *
/..
/*
16 - TRUNCATION
OR TRANSLATION E
RROR IN */..
/* AC
CESSING DIALOG V
ARIABLES
*/..
/
* 20 - SEVERE ER
ROR
*/..
@DM Library access
%LmMRen
$
/*--------------
-(RENAME A MEMBE
R)--------------
-------*/..ADDRE
SS ISPEXEC "LMMR
EN DATAID("DATAI
D") MEMBER("OLDM
EMBNAME"),..
NEW
NAME("NEWMEMBNAM
E") NOENQ"..IF R
C ^= 0 THEN DO
/* RETURN
CODES
*/..
/* 4 - NEW MEM
BER NAME ALREADY
EXISTS */..
END
/* 8
- MEMBER NOT FO
UND
*/..ELSE D
O
/* 10 - NO
DATA SET ASSOCIA
TED WITH THE
*/..
/
* GIVEN DAT
AID
*/..EN
D
/* 12 -
DATA SET NOT OP
EN OR NOT OPEN
*/..
/* FOR O
UTPUT
*/
..
/*
- INVALID PAR
AMETER VALUE
*/..
/* - I
NVALID DATA SET
ORGANIZATION
*/..
/* 20 - SEVERE
ERROR
*/..
@DM Library access
%LmMRep
$
/*--------------
(REPLICATE A MEM
BER)------------
-------*/..ADDRE
SS ISPEXEC "LMMR
EP DATAID("DATAI
D") MEMBER("MEMB
ERNAME"),..
STAT
S(NO) NOENQ"..IF
RC ^= 0 THEN DO
/*
RETURN CODES
*/..
/* 8 - M
EMBER ADDED, IT
DID NOT */..
END
/* PREVIOUS
LY EXIST
*/..ELSE DO
/* 10 -
NO DATA SET ASS
OCIATED WITH */
..
/* THE GI
VEN DATAID
*/..END
/* 12
- DATA FILE NOT
OPENED OR
*/..
/* NOT
OPENED FOR OUTPU
T */..
/*
- INVALID PAR
AMETER VALUE
*/..
/* - IN
VALID DATA SET O
RGANIZATION*/..
/
* - INVALID V
ALUE FOR MEMBER
*/..
/*
STATISTICS
*/.
.
/* 14 - NO RECO
RD HAS BEEN WRIT
TEN */..
/*
FOR THE MEMBER
TO BE REPLACED*
/..
/* 16 - TRUNC
ATION OR TRANSLA
TION */..
/*
ERROR IN ACC
ESSING DIALOG
*/..
/* VAR
IABLES
*/..
/*
20 - SEVERE ERR
OR
*/..
@DM Library access
%LmOpen
$
/*--------------
--(OPEN A DATA S
ET)-------------
-------*/..ADDRE
SS ISPEXEC "LMOP
EN DATAID("DATAI
D") OPTION(INPUT
),..
LRECL("LREC
LVAR") RECFM("RE
CFMVAR") ORG("OR
GVAR")"..IF RC ^
= 0 THEN DO
/* RETU
RN CODES
*/
..
/* 8 - OPEN F
AILED
*/..END
/*
- DATA SET RECO
RD FORMAT NOT
*/..ELSE DO
/* SUPP
ORTED BY ISPF
*/..
/*
10 - NO DATA SET
ASSOCIATED WITH
*/..END
/* TH
E DATAID
*/..
/
* 12 - INVALID P
ARAMETER VALUE
*/..
/* -
DATA SET IS ALRE
ADY OPEN */.
.
/* - CANNOT
OPEN DATA SET
*/..
/*
ALLOCATED "SHR
" FOR OUTPUT *
/..
/* 16 - TRUNC
ATION OR TRANSLA
TION */..
/*
ERROR IN STO
RING DEFINED
*/..
/* VAR
IABLES
*/..
/*
20 - SEVERE ERR
OR
*/..
@DM Library access
%LmProm Project
$
/*----(PROMOTE A
SEQUENTIAL DS T
O A ISPF LIBRARY
)------*/..ADDRE
SS ISPEXEC "LMPR
OM FRPROJ("FROMP
ROJECT") FRGROUP
("FROMGROUP"),..
FRTYPE("FROMTYP
E") FRMEMBER("FR
OMMEM"),..
PASSW
ORD("PASSWORD")
ACTION(MOVE),..
REASON("RESCODE"
) PACK(NO),..
TO
PROJ("TOPROJECT"
) TOGROUP("TOGRO
UP"),..
TOTYPE("
TOTYPE") TOMEMBE
R("TOMEM")"..IF
RC ^= 0 THEN DO
/*
RETURN CODES
*/..
/* 8 - PRO
MOTE FAILED
*/..END
/*
12 - INVALID PAR
AMETER VALUE
*/..ELSE DO
/* 20 - SEV
ERE ERROR
*/....E
ND..
@DM Library access
%LmProm Dataset
$
/*----(PROMOTE A
SEQUENTIAL DS T
O A ISPF LIBRARY
)------*/..ADDRE
SS ISPEXEC "LMPR
OM DATASET("DSNA
ME") VOLUME("SER
IAL"),..
PASSWOR
D("PASSWORD") AC
TION(MOVE),..
RE
ASON("RESCODE")
PACK(NO),..
TOPR
OJ("TOPROJECT")
TOGROUP("TOGROUP
"),..
TOTYPE("TO
TYPE") TOMEMBER(
"TOMEM")"..IF RC
^= 0 THEN DO
/* RE
TURN CODES
*
/..
/* 8 - PROMO
TE FAILED
*/..END
/* 12
- INVALID PARAM
ETER VALUE *
/..ELSE DO
/* 20 - SEVER
E ERROR
*/....END
..
@DM Library access
%LmPut
$
/*---------(WRIT
E ONE RECORD OF
A DATA SET)-----
-------*/..ADDRE
SS ISPEXEC "LMPU
T DATAID("DATAID
") MODE("INVAR")
,..
DATALOC("DAT
ALOCVAR") DATALE
N("DATALENGTH")
NOBSCAN"..IF RC
^= 0 THEN DO
/* RE
TURN CODES
*
/..
/* 4 - MEMBE
R ALREADY EXISTS
(VM) */..END
/* 1
0 - NO DATA FILE
ASSOCIATED WITH
*/..ELSE DO
/* THE
GIVEN DATAID
*/..
/*
12 - DATA SET O
R FILE
*/..END
/* N
OT OPENED FOR OU
TPUT */..
/* - INVALID
PARAMETER VALUE
*/..
/* -
FILE NOT ON A-D
ISK */
..
/* 16 - TRUNCA
TION OR TRANSLAT
ION */..
/*
ERROR IN ACCE
SSING DIALOG
*/..
/* VARI
ABLES
*/..
/*
20 - SEVERE ERRO
R
*/..
@DM Library access
%LmQuery Project
$
/*--------------
(GET DS INFORMAT
ION)------------
-------*/..ADDRE
SS ISPEXEC "LMQU
ERY DATAID("DATA
ID") PROJECT("PR
OJVAR"),..
GROUP
1("GRP1VAR") GRO
UP2("GRP2VAR") G
ROUP3("GRP3VAR")
,..
GROUP4("GRP4
VAR") TYPE("TYPE
VAR") ENQ("ENQVA
R")"..IF RC ^= 0
THEN DO
/* RETURN CO
DES
*/..
/*
4 - KEYWORD SPE
CIFIED FOR WHICH
NO */..END
/* IN
FORMATION WAS AV
AILABLE. */.
.ELSE DO
/
* - VARIABLES
CONTAIN BLANKS.
*/..
/* 10 -
NO DATA FILE ASS
OCIATED WITH *
/..END
/* THE GIV
EN DATAID
*/..
/* 16
- TRUNCATION OR
TRANSLATION ERRO
R*/..
/* IN AC
CESSING DIALOG V
ARIABLES */..
/* 2
0 - SEVERE ERROR
*/..
@DM Library access
%LmQuery Dataset
$
/*--------------
(GET DS INFORMAT
ION)------------
-------*/..ADDRE
SS ISPEXEC "LMQU
ERY DATAID("DATA
ID") DATASET("DS
NVAR"),..
VOLUME
("VOLVAR") ENQ("
ENQVAR")"..IF RC
^= 0 THEN DO
/* RETU
RN CODES
*/..
/* 4 - KEYWOR
D SPECIFIED FOR
WHICH NO */..END
/*
INFORMATION W
AS AVAILABLE.
*/..ELSE DO
/* - VARI
ABLES CONTAIN BL
ANKS. */..
/*
10 - NO DATA FIL
E ASSOCIATED WIT
H */..END
/* TH
E GIVEN DATAID
*/.
.
/
* 16 - TRUNCATIO
N OR TRANSLATION
ERROR*/..
/*
IN ACCESSING DIA
LOG VARIABLES *
/..
/* 20 - SEVERE
ERROR
*/..
@DM Library access
%LmQuery File
$
/*--------------
(GET DS INFORMAT
ION)------------
-------*/..ADDRE
SS ISPEXEC "LMQU
ERY DATAID("DATA
ID") DDNAME"DDNV
AR") ENQ("ENQVAR
")"..IF RC ^= 0
THEN DO
/* RETURN COD
ES
*/..
/*
4 - KEYWORD SPEC
IFIED FOR WHICH
NO */..END
/* INF
ORMATION WAS AVA
ILABLE. */..
ELSE DO
/*
- VARIABLES
CONTAIN BLANKS.
*/..
/* 10 - N
O DATA FILE ASSO
CIATED WITH */
..END
/* THE GIVE
N DATAID
*/..
/* 16 -
TRUNCATION OR T
RANSLATION ERROR
*/..
/* IN ACC
ESSING DIALOG VA
RIABLES */..
/* 20
- SEVERE ERROR
*/..
@DM Library access
%LmRename
$
/*------------(R
ENAME AN ISPF LI
BRARY)----------
-------*/..ADDRE
SS ISPEXEC "LMRE
NAME PROJECT("PR
OJECT") GROUP("G
ROUP")..
TYPE("T
YPE") NEWPROJ("N
EWPROJ") NEWGROU
P("NEWGROUP"),..
NEWTYPE("NEWTYP
E")"..IF RC ^= 0
THEN DO
/* RETURN
CODES
*/..
/
* 2 - FILE RENA
MED BUT NOT
*/..END
/*
STATISTICS FILE
(VM ONLY) */.
.ELSE DO
/* 4 - NEW NAM
E ALREADY EXISTS
*/..
/* 8
- DATA SET OR IS
PF LIBRARY *
/..END
/* DOES
NOT EXIST
*/..
/*
- RENAME OR CA
TALOG FAILED
*/..
/* (MV
S ONLY)
*/..
/*
- ALIAS DATA
SET NOT SUPPORT
ED */..
/* (
MVS ONLY)
*/..
/* 12 - INVALID
PARAMETER VALUE
*/..
/* 20 -
SEVERE ERROR
*/
..
@DM Library access
%LmHier
$
/*-----(SHOW STR
UCTURE OF THE LI
BRARY HIERARCHY)
-------*/..ADDRE
SS ISPEXEC "LMHI
ER PROJECT("PROJ
NAME") GROUP("GR
PNAME"),..
TABLE
("TABLNAME")"..I
F RC ^= 0 THEN D
O /* RETUR
N CODES
*/..
/* 4 - GROUP IS
NOT ACTIVATED
*/..E
ND
/* 8 -
PROJECT AND/OR G
ROUP NOT FOUND
*/..ELSE DO
/* 12 - INVALID
PARAMETER VALUE
*/..
/* 20 -
SEVERE ERROR
*/..END..
@DM Library access
%LmAct
$
/*-------(ACTIVA
TE HIERARCHY FRO
M A DIALOG)-----
-------*/..ADDRE
SS ISPEXEC "LMAC
T PROJECT("PROJN
AME") GROUP("GRP
NAME")"..IF RC ^
= 0 THEN DO
/* RETURN COD
ES
*/..
/* 4
- SUCCESSFULLY A
CTIVATED AN LMF
*/..END
/* HIERARC
HY CONTAINING AN
*/..EL
SE DO
/*
SCLM-CONTROLLED
LIBRARY
*/..
/
* 8 - ACTIVATE
FAILED
*/..END
/* 12 - IN
VALID PARAMETER
VALUE *
/..
/*
20 - SEVERE ERRO
R
*/..
@DM Library access
%LmDeact
$
/*--------(DEACT
IVATE HIERARCHY
FROM A DIALOG)--
-------*/..ADDRE
SS ISPEXEC "LMDE
ACT PROJECT("PRO
JNAME") GROUP("G
RPNAME")"..IF RC
^= 0 THEN DO
/* RETURN C
ODES
*/
..
/*
4 - SUCCESSFULLY
DEACTIVATED AN
LMF */..END
/* HIERA
RCHY CONTAINING
AN */..
ELSE DO
/*
SCLM-CONTROLLE
D LIBRARY
*/..
/* 8 - DEACTIV
ATE FAILED
*/..EN
D
/* 12 -
INVALID PARAMETE
R VALUE
*/..
/
* 20 - SEVERE ER
ROR
*/..
@DM Library access
%LmReview DataSet
$
/*---------(SHOW
CONTROLS SET FO
R A LIBRARY)----
-------*/..ADDRE
SS ISPEXEC "LMRE
VIEW CONTROLS(ME
MBER) DATASET("D
SNAME"),..
DATAM
EMB("DATAMEM") P
ROJECT("PROJNAME
"),..
GROUP("TOP
GROUP") TYPE("TY
PE") MEMBER("MEM
NAME")"..IF RC ^
= 0 THEN DO
/* RETURN COD
ES
*/..
/* 8
- LIBRARY ERROR.
MESSAGE SET IN
*/..END
/* MESSAGE
VARIABLES
*/..EL
SE DO
/* 12 -
INVALID PARAMETE
R VALUE
*/..
/
* 20 - SEVERE ER
ROR
*/..END.
.
@DM Library access
%LmReview DataId
$
/*---------(SHOW
CONTROLS SET FO
R A LIBRARY)----
-------*/..ADDRE
SS ISPEXEC "LMRE
VIEW CONTROLS(ME
MBER) DATAID("DA
TAID"),..
DATAME
MB("DATAMEM") PR
OJECT("PROJNAME"
),..
GROUP("TOPG
ROUP") TYPE("TYP
ENAME") MEMBER("
MEMNAME")"..IF R
C ^= 0 THEN DO
/* RETURN
CODES
*
/..
/*
8 - LIBRARY ERR
OR. MESSAGE SET
IN */..END
/* MESS
AGE VARIABLES
*/.
.ELSE DO
/* 12
- INVALID PARAM
ETER VALUE
*/..
/* 20 - SEVERE
ERROR
*/..E
ND..
@DM Library access
%LmMDisp Display Option
$
/*------------(L
MMDISP DISPLAY O
PTION)----------
-------*/..ADDRE
SS ISPEXEC "LMMD
ISP DATAID("DATA
VAR") OPTION(DIS
PLAY)..
MEMBER("
PATTERN") STATS(
NO) PANEL("PANEL
NAME"),..
CURSOR
("CURVAL") TOP("
TOPROW") COMMAND
S("CMD")..
FIELD
S("FLD")"..IF RC
^= 0 THEN DO
/* RETURN C
ODES
*/
..
/*
4 - REQUESTED DA
TA SET EMPTY OR
NO */..END
/* MEMBE
RS MATCHED THE S
PECIFIED */..
ELSE DO
/*
PATTERN
*/..
/* 8 - USER EN
TERED END OR RET
URN */..EN
D
/* 10 -
NO DATA SET IS A
SSOCIATED WITH
*/..
/
* THE GIVEN
DATAID
*/..
/* 12 - DA
TA SET IS NOT OP
EN OR IS NOT *
/..
/*
OPEN FOR IN
PUT
*/..
/* - DATA
SET IS NOT PART
ITIONED */.
.
/*
- INVALID PARAM
ETER VALUE
*/..
/* - INVALI
D DATA SET ORGAN
IZATION */..
/* -
INVALID INVOCAT
ION SYNTAX
*/..
/* - MEMBER L
IST DOES NOT EXI
ST */..
/* 16 - T
RUNCATION OR TRA
NSLATION ERROR
*/..
/*
IN ACCESSI
NG DIALOG VARIAB
LES */..
/* 20 - SEV
ERE ERROR
*/
..
@DM Library access
%LmMDisp Get Option
$
/*--------------
(LMMDISP GET OPT
ION)------------
-------*/..ADDRE
SS ISPEXEC "LMMD
ISP DATAID("DATA
VAR") OPTION(GET
) STATS(NO)"..IF
RC ^= 0 THEN DO
/* RETUR
N CODES
*/..
/
* 8 - NO MORE S
ELECTED MEMBERS
*/..END
/* 10 - NO
DATA SET IS ASS
OCIATED WITH *
/..ELSE DO
/*
THE GIVEN D
ATAID
*/..
/* 12 - DATA
SET IS NOT OPEN
OR IS NOT */.
.END
/*
OPEN FOR INPU
T
*/..
/* - DATA S
ET IS NOT PARTIT
IONED */..
/* -
INVALID PARAMET
ER VALUE
*/..
/* - INVALID
DATA SET ORGANIZ
ATION */..
/* - I
NVALID INVOCATIO
N SYNTAX
*/..
/*
- MEMBER LIS
T DOES NOT EXIST
*/..
/* 16 - TRU
NCATION OR TRANS
LATION ERROR */
..
/*
IN ACCESSING
DIALOG VARIABLE
S */..
/* 20 - SEVER
E ERROR
*/..
@DM Library access
%LmMDisp Put Option
$
/*--------------
(LMMDISP PUT OPT
ION)------------
-------*/..ADDRE
SS ISPEXEC "LMMD
ISP DATAID("DATA
VAR") OPTION(PUT
),..
MEMBER("PAT
TERN") ZLLCMD("L
CMD") ZLUDATA("U
DATA")"..IF RC ^
= 0 THEN DO
/* RETURN COD
ES
*/..
/* 8
- SPECIFIED MEMB
ER DOES NOT EXIS
T */..
/* 10 - NO DATA
SET IS ASSOCIAT
ED WITH */..
/*
THE GIVEN DATAID
*/..
/
* 12 - DATA SET
IS NOT OPEN OR I
S NOT */..
/* OP
EN FOR INPUT
*
/..
/*
- DATA SET IS
NOT PARTITIONED
*/..
/* - INVA
LID PARAMETER VA
LUE */.
.
/*
- INVALID DATA
SET ORGANIZATION
*/..
/* - INVALI
D INVOCATION SYN
TAX */..
/* -
MEMBER LIST DOE
S NOT EXIST
*/..
/* 16 - TRUNCATI
ON OR TRANSLATIO
N ERROR */..
/* I
N ACCESSING DIAL
OG VARIABLES
*/..
/*
20 - SEVERE ERR
OR
*/..
@DM Library access
%LmMDisp Add Option
$
/*--------------
(LMMDISP ADD OPT
ION)------------
-------*/..ADDRE
SS ISPEXEC "LMMD
ISP DATAID("DATA
VAR") OPTION(ADD
),..
MEMBER("PAT
TERN") ZLLCMD("L
CMD") ZLUDATA("U
DATA")"..IF RC ^
= 0 THEN DO
/* RETURN COD
ES
*/..
/* 8
- MEMBER ALREADY
EXISTS IN MEMBE
R */..
/* LIST
*/..
/* 10 -
NO DATA SET IS A
SSOCIATED WITH
*/..
/
* THE GIVEN
DATAID
*/..
/* 12 - DA
TA SET IS NOT OP
EN OR IS NOT *
/..
/*
OPEN FOR IN
PUT
*/..
/* - DATA
SET IS NOT PART
ITIONED */.
.
/*
- INVALID PARAM
ETER VALUE
*/..
/* - INVALI
D DATA SET ORGAN
IZATION */..
/* -
INVALID INVOCAT
ION SYNTAX
*/..
/* - MEMBER L
IST DOES NOT EXI
ST */..
/* 16 - T
RUNCATION OR TRA
NSLATION ERROR
*/..
/*
IN ACCESSI
NG DIALOG VARIAB
LES */..
/* 20 - SEV
ERE ERROR
*/
..
@DM Library access
%LmMDisp Free Option
$
/*--------------
(LMMDISP FREE OP
TION)-----------
-------*/..ADDRE
SS ISPEXEC "LMMD
ISP DATAID("DATA
VAR") OPTION(FR
EE)"..IF RC ^= 0
THEN DO
/* RETURN CODES
*/..
/* 8 - N
O MEMBER LIST IS
ASSOCIATED WITH
*/..
/*
THE GIVEN
DATAID
*/..
/* 10 - NO
DATA SET IS ASSO
CIATED WITH */
..
/*
THE GIVEN DA
TAID
*/..
/* 12 - DATA
SET IS NOT OPEN
OR IS NOT */..
/*
OPEN FOR INPUT
*/..
/* - DATA SE
T IS NOT PARTITI
ONED */..
/* -
INVALID PARAMETE
R VALUE
*/..
/
* - INVALID D
ATA SET ORGANIZA
TION */..
/* - IN
VALID INVOCATION
SYNTAX *
/..
/*
16 - TRUNCATION
OR TRANSLATION E
RROR */..
/* IN A
CCESSING DIALOG
VARIABLES */.
.
/* 20
- SEVERE ERROR
*/..
@DM Library access
%LmMove
$
/*--------------
-(MOVE MEMBERS O
R PS)-----------
-------*/..ADDRE
SS ISPEXEC "LMMO
VE FROMID("FROMD
ATAID") FROMMEM(
"FROMMEM"),..
TO
DATAID("TODATAID
") TOMEM("TOMEMB
ER"),..
REPLACE
PACK TRUNC"..IF
RC ^= 0 THEN DO
/* RETURN
CODES -
*/..
/*
4 - "FROM" DAT
A SET IS EMPTY
*/..END
/* - NO
MEMBERS MATCH PA
TTERN. */
..ELSE DO
/*
8 - "FROM" MEMBE
R NOT FOUND
*/..
/* - "FROM
" DATA SET IS EM
PTY */..
END
/* 10
- NO DATA SET AS
SOCIATED WITH TH
E */..
/* GIVEN D
ATAID
*/..
/* 12 -
INVALID DATA SET
ORGANIZATION
*/..
/
* - DATA SET
ATTRIBUTE INVALI
D FOR */..
/* PA
CKED DATA
*
/..
/*
- MEMBER ALRE
ADY EXISTS IN "T
O" */..
/* DATA
SET AND "REPLAC
E" WAS */.
.
/*
NOT SPECIFIED
*/..
/* - OPEN E
RROR
*/..
/* 16 -
TRUNCATION ERRO
R
*/..
/* 20 - SEVERE E
RROR
*/..
@DM Library access
%LmCopy
$
/*--------------
-(COPY MEMBERS O
R PS)-----------
-------*/..ADDRE
SS ISPEXEC "LMCO
PY FROMID("FROMD
ATAID") FROMMEM(
"FROMMEM"),..
TO
DATAID("TODATAID
") TOMEM("TOMEMB
ER"),..
REPLACE
PACK TRUNC LOCK"
..IF RC ^= 0 THE
N DO /* R
ETURN CODES -
*/..
/* 4 - MEMBE
R NOT AVAILABLE:
IN AN LMF */..
END
/*
CONTROLLED ISP
F LIBRARY AND
*/..ELSE DO
/* CURRENT
LY OWNED BY ANOT
HER USER */..
/* -
MEMBER NOT AVAIL
ABLE: IN AN LMF
*/..END
/
* CONTROLLE
D ISPF LIBRARY A
ND USER */..
/* IS
NOT A VALID USE
R AS SPECIFIED *
/..
/*
BY MEMBER A
CCESS ID
*/..
/* - "FRO
M" DATA SET IS E
MPTY */.
.
/*
- NO MEMBERS MA
TCH PATTERN
*/..
/* - TRIED
TO LOCK A MEMBER
IN AN */..
/*
SCLM-CONTROLLED
LIBRARY
*/..
/* 8 - "FROM" M
EMBER NOT FOUND
*/..
/* 10 - N
O DATA SET ASSOC
IATED WITH THE
*/..
/*
GIVEN DATA
ID
*/..
/* 12 - INV
ALID DATA SET OR
GANIZATION */
..
/*
- DATA SET ATT
RIBUTE INVALID F
OR */..
/* PACKE
D DATA
*/..
/*
- MEMBER ALREADY
EXISTS IN "TO"
*/..
/* DATA SE
T AND "REPLACE"
WAS */..
/*
NOT SPECIFIED
*/..
/
* - OPEN ERRO
R
*/..
/* 16 - TR
UNCATION ERROR
*
/..
/*
20 - SEVERE ERRO
R
*/..
@DM Library access
%LmComp
$
/*--------------
---(COMPRESS A P
DS)-------------
-------*/..ADDRE
SS ISPEXEC "LMCO
MP DATAID("DATAI
D")"..IF RC ^= 0
THEN DO
/* RETURN CODES
-
*/..
/* 8 - L
IBRARY IS A PDSE
AND CANNOT BE
*/..END
/*
COMPRESSED
*/..ELSE
DO
/* 10 - NO
DATA SET ASSOCIA
TED WITH GIVEN*/
..
/*
DATAID
*/..END
/* 12 - DATA
SET NOT PARTITIO
NED */..
/*
- DATA SET NOT A
LLOCATED OR OPEN
ED */..
/* 20 - SEVERE
ERROR
*/..
@DM Library access
%LmMStats
$
/*------------(S
ET AND STORES ST
ATISTICS)-------
-------*/..ADDRE
SS ISPEXEC "LMMS
TATS DATAID("DAT
AID") MEMBER("MB
RNAME")..
VERSIO
N("VER1") MODLEV
EL("MOD1") CREAT
ED("CDATE"),..
M
ODDATE("MDATE")
MODTIME("MTIME")
CURSIZE("CSIZE"
),..
INITSIZE("I
SIZE") MODRECS("
MRECS") USER("US
ERID"),..
DELETE
..IF RC ^= 0 THE
N DO /* R
ETURN CODES -
*/..
/* 4 - NO ME
MBERS MATCH PATT
ERN */..
END
/*
- NO MEMBER IN D
ATA SET
*/..ELSE DO
/* 8 - MEMBER
NOT FOUND
*/..
/* 10 -
NO DATA SET ASSO
CIATED WITH THE
*/..END
/
* GIVEN DAT
AID
*/..
/* 12 - IN
VALID PARAMETER
VALUE *
/..
/*
- DATA SET IS
NOT OPEN OR IS
NOT */..
/* PART
ITIONED
*/.
.
/* 20
- SEVERE ERROR
*/..
@DM Library access
%LmPrint
$
/*-----------(PR
INT TO THE LIST
DATA SET)-------
-------*/..ADDRE
SS ISPEXEC "LMPR
INT DATAID("DATA
ID") MEMBER("MBR
NAME"),..
INDEX
FORMAT(YES)"..IF
RC ^= 0 THEN DO
/* RETUR
N CODES -
*/..
/
* 4 - NO MEMBER
S MATCH PATTERN
*/..END
/* - NO
MEMBERS EXIST I
N LIBRARY *
/..ELSE DO
/*
8 - MEMBER NOT
FOUND
*/..
/* 10 - NO D
ATA SET ASSOCIAT
ED WITH GIVEN*/.
.END
/*
DATAID
*/..
/* 12 - INVALI
D DATA SET ORGAN
IZATION */..
/* -
INVALID PARAMET
ER
*/..
/* 20 - SEVERE E
RROR
*/..
@DM Library access
%LmDInit
$
/*--(ASSOCIATE D
SNAME LEVEL AND
VOLUME WITH DSLI
ST ID)-*/..ADDRE
SS ISPEXEC "LMDI
NIT LISTID(LISTI
DV) LEVEL("DSLEV
"),..
VOLUME("VO
LSER")"..IF RC ^
= 0 THEN DO
/* RETU
RN CODES
*/.
.
/* 8 - LISTID
NOT CREATED
*/..END
/* 12 -
INVALID PARAMET
ER VALUE */.
.ELSE DO
/* 16 - TRUNCAT
ION OR TRANSLATI
ON */..
/*
ERROR IN ACCESS
ING DIALOG */.
.END
/* VARIABL
ES
*/..
/* 20 -
SEVERE ERROR
*/.
.
@DM Library access
%LmDList
$
/*-------(CREATE
A DATA SET LIST
FOR DSLIST ID)-
-------*/..ADDRE
SS ISPEXEC "LMDL
IST LISTID("LIST
ID") OPTION("DSL
OPT"),..
DATASET
(DSVAR) STATS("
STATSOPT") GROUP
("GROUP")"..IF R
C ^= 0 THEN DO
/* RETURN
CODES
*/..
/* 4 - NOT ALL
DATA SET NAMES P
UT IN LIST*/..EN
D
/* 8 -
NO MORE DATA SE
TS NAMES IN LIST
*/..ELSE DO
/* (OPTIO
N LIST)
*/..
/*
- NO DATA SET L
IST EXISTS FOR T
HIS */..END
/* DSLI
ST-ID (OPTION FR
EE) */
..
/*
- DATA SET LI
STS ALREADY EXIS
TS AND */..
/* MU
ST BE FREED BEFO
RE USING SAVE
*/..
/
* OPTION (O
PTION SAVE)
*/..
/* 10 -
DATA SET LISTID
NOT CREATED BY
*/..
/* LMDINIT
*/..
/* 12
- INVALID PARAME
TER VALUE
*/..
/* 16 - TRUNC
ATION OR TRANSLA
TION ERROR */.
.
/*
IN ACCESSING
DIALOG VARIABLE
S */..
/* 20 - SEV
ERE ERROR
*
/..
@DM Library access
%LmDFree
$
/*(REMOVE THE LI
NK BETWEEN DSN L
VL, VOLUME AND D
SLIST ID)*/..ADD
RESS ISPEXEC "LM
DFREE LISTID("LI
STID")"..IF RC ^
= 0 THEN DO
/* RETURN CO
DES
*/
..
/*
8 - LMDFREE FAI
LED
*/..END
/* 10 - DA
TA SET LISTID NO
T CREATED BY
*/..ELSE DO
/
* LMDINIT
*/..
/* 20 -
SEVERE ERROR
*/..END..
@DM Library access
%LmDDisp
$
/*---------(DISP
LAY A DATA SET L
IST FOR ID)-----
-------*/..ADDRE
SS ISPEXEC "LMDD
ISP LISTID("LIST
ID") VIEW(VOLUME
),..
CONFIRM(YES
) PANEL(PANELNAM
E)"..IF RC ^= 0
THEN DO
/* RETURN CODES
*/..
/* 10 -
DATA SET LISTID
NOT CREATED BY
*/..END
/* LMDINI
T
*/..
ELSE DO
/* 12
- INVALID PARAM
ETER VALUE
*/..
/* 20 - SEVE
RE ERROR
*/
..END..
@Rexx Built-in Functions
%BitAnd
$
/*-----------(LO
GICAL AND FOR 2
STRINGS)--------
----*/..STRING1
= '???????'..STR
ING2 = '?????'..
FILLER = ' ' /
* OPTIONAL */..A
ND_STRING = BITA
ND( STRING1, STR
ING2, FILLER )..
@Rexx Built-in Functions
%Queued
$
/*--------------
----(STACK CONTE
NTS)------------
----*/..STACK_CO
UNT = QUEUED()..
@Rexx Built-in Functions
%SubWord
$
/*-------------(
SUBSTRING OF THE
WORDS)---------
----*/..STRING =
'????????'..STA
RT = ?..COUNT
= ? /* OPTION
AL */..NEW_STRIN
G = SUBWORD( STR
ING, START, COUN
T )..
@Rexx Built-in Functions
%Abbrev
$
/*--------------
-(FIND ABBREVIAT
ION)------------
----*/..INFORMAT
ION = '???????'.
.INFO = '??'..LE
NGTH = ? /* OP
TIONAL */..ABB =
ABBREV(INFORMAT
ION, INFO, LENGT
H)..
@Rexx Built-in Functions
%Abs
$
/*--------------
-(FIND ABSOLUTE
VALUE)----------
----*/..NUMBER =
?..ABS_VALUE =
ABS( NUMBER )..
@Rexx Built-in Functions
%Address
$
/*-------------(
DETERMINE ENVIRO
NMENT)----------
----*/..ENVIRONM
ENT = ADDRESS()
/* NAME OF EN
VIRONMENT */..
@Rexx Built-in Functions
%Arg
$
/*------------(C
HECK FUNCTION PA
RAMETER)--------
----*/..RESULT =
ARG() /* (N) (
N,'E') (N,'O') *
/..
@Rexx Built-in Functions
%B2X
$
/*---------(CONV
ERT BINARY TO HE
XADECIMAL)------
----*/..BIT_STRI
NG = '00001111'.
.HEX = B2X( BIT_
STRING )..
@Rexx Built-in Functions
%Beep
$
/*--------------
--(GENERATE SOUN
D)--------------
----*/..C1 = 262
/* 37-32767 H
Z */..D1 = 294..
E1 = 330..F1 = 3
49..G1 = 392..A1
= 440..H1 = 494
..C2 = 524..FREQ
UENCY = C2..DURA
TION = 250 /*
1-60000 MS */..
RESULT = BEEP( F
REQUENCY, DURATI
ON )..IF RESULT
> '' THEN DO..
/*...ERROR HANDL
ING...*/..END /*
IF ... */..
@Rexx Built-in Functions
%BitOr
$
/*------------(L
OGICAL OR FOR 2
STRINGS)--------
----*/..STRING1
= '???????'..STR
ING2 = '?????'..
FILLER = ' ' /
* OPTIONAL */..O
R_STRING = BITOR
( STRING1, STRIN
G2, FILLER )..
@Rexx Built-in Functions
%C2D
$
/*--------------
(CHARACTER TO DE
CIMAL)----------
----*/..STRING =
'???????'..N =
? /* OPTIONAL
*/..NUMBER = C2D
( STRING, N )..
@Rexx Built-in Functions
%C2X
$
/*------------(C
HARACTER TO HEXA
DECIMAL)--------
----*/..STRING =
'???????'..HEX_
NUMBER = C2X( ST
RING )..
@Rexx Built-in Functions
%Center/Centre
$
/*--------------
-(CENTER OUTPUT
STRING)---------
----*/..STRING =
'???????'..LENG
TH = ?..FILLER =
'*' /* OPTIONA
L */..NEW_STRING
= CENTER( STRIN
G, LENGTH, FILLE
R )..
@Rexx Built-in Functions
%Compare
$
/*--------------
--(COMPARE 2 STR
INGS)-----------
----*/..STRING1
= '???????'..STR
ING2 = '?????'..
FILLER = ' ' /
* OPTIONAL */..D
IFF_POS = COMPAR
E( STRING1, STRI
NG2, FILLER )..
@Rexx Built-in Functions
%Condition
$
/*-----------(AS
K FOR CURRENT CO
NDITION)--------
----*/..OPT = ''
/* C-ONDNAME
D-ESCRIPTION I-N
STRUCTION S-TATU
S */..CONDITION
= CONDITION(OPT
)..
@Rexx Built-in Functions
%Copies
$
/*-------------(
N-REPLICATE THE
STRING)---------
----*/..STRING =
'???????'..N =
?..NEW_STRING =
COPIES( STRING,
N )..
@Rexx Built-in Functions
%D2X
$
/*-------------(
DECIMAL TU HEXAD
ECIMAL)---------
----*/..NUMBER =
?..HEX_STRING =
D2X( NUMBER )..
@Rexx Built-in Functions
%DataType
$
/*--------------
--(CHECK DATA TY
PE)-------------
----*/../* A = A
LPHANUMERIC */..
/* B = BITS
*/../* L = L
OWER CASE */..
/* M = MIXED CAS
E */../* N = N
UMERIC */..
/* S = SYMBOL
*/../* U = U
PPER CASE */..
/* W = WOHLE NUM
BER */../* X = H
EXADECIMAL */..
TYPE = 'A' /
* B L M N S U W
X (OPTIONAL) */.
.STRING = '?????
???'..RESULT = D
ATATYPE( STRING,
TYPE )..IF RESU
LT = 0 THEN DO..
SAY 'WRONG TYP
E:' TYPE..END /*
IF ... */..
@Rexx Built-in Functions
%Date
$
/*--------------
---(DATE MEASURI
NG)-------------
----*/../* = D
D MMM YYYY
*/../* B
= DDDDDD SINCE
01.01.0001 */..
/* D = DDD - JUL
IANS DATE
*/../* E = DD/MM
/YY
*/../* L = D
D MONTH YYYY
*/../* M
= MONTH
*/..
/* N = DD MMM YY
YY
*/../* O = YY/MM
/DD
*/../* S = Y
YYYMMDD
*/../* U
= MM/DD/YY
*/..
/* W = WEEKDAY
*/..OPT = '' /*
B D E L M N O S
U W */..DATE = D
ATE( OPT )..
@Rexx Built-in Functions
%DelStr
$
/*---------(DELE
TE SUBSTRING IN
THE STRING)-----
----*/..STRING =
'???????'..STAR
T = ?..LENGTH =
? /* OPTIONAL
*/..NEW_STRING
= DELSTR( STRING
, START, LENGTH
)..
@Rexx Built-in Functions
%DelWord
$
/*------------(D
ELETE WORD FROM
STRING)---------
----*/..STRING =
'???????'..STAR
T = ?..COUNT =
? /* OPTIONAL
*/..NEW_STRING =
DELWORD( STRING
, START, COUNT )
..
@Rexx Built-in Functions
%Digits
$
/*---------(CURR
ENT VALUE OF NUM
ERIC DIGITS)----
----*/..NUM_DIGI
TS = DIGITS()..
@Rexx Built-in Functions
%ErrorText
$
/*------------(R
ECALL N-ERROR ME
SSAGE)----------
----*/..N = 1
/* 1-99 */..MESS
AGE = ERRORTEXT(
N )..
@Rexx Built-in Functions
%Form
$
/*--------(CURRE
NT VALUE OF NUME
RIC FORM)-------
----*/..NUM_FORM
= FORM()..
@Rexx Built-in Functions
%Format
$
/*------------(N
UMBER ROUND AND
FORMAT)---------
----*/..NUMBER =
?..BEFORE = ?
/* OPTIONAL */.
.AFTER = ? /*
OPTIONAL */..FO
RMATED_NUMBER =
FORMAT( NUMBER,
BEFORE, AFTER ).
.
@Rexx Built-in Functions
%Fuzz
$
/*--------(CURRE
NT VALUE OF NUME
RIC FUZZ)-------
----*/..NUM_FUZZ
= FUZZ()..
@Rexx Built-in Functions
%Insert
$
/*--------------
-(ADD STRING INT
O TARGET)-------
-------*/..STRIN
G = '???????'..T
ARGET = '?????'.
.BEHIND = ? /*
OPTIONAL */..LE
NGTH = ? /* OP
TIONAL */..FILLE
R = ? /* OPTIO
NAL */..NEW_STRI
NG = INSERT( STR
ING, TARGET, BEH
IND, LENGTH, FIL
LER )..
@Rexx Built-in Functions
%LastPos
$
/*------------(C
HECK FOR LAST PO
SITION)---------
----*/..SUB_STRI
NG = '???'..STRI
NG = '??????
??'..START
= ? /* OPTIONA
L */..LAST_POS =
LASTPOS( SUB_ST
RING, STRING, ST
ART)..
@Rexx Built-in Functions
%Left
$
/*--------------
----(JUSTIFY LEF
T)--------------
----*/..STRING =
'????????'..LEN
GTH = ?..FILLER
= ' ' /* OPTIO
NAL */..NEW_STRI
NG = LEFT( STRIN
G, LENGTH, FILLE
R )..
@Rexx Built-in Functions
%Length
$
/*------------(G
ET LENGTH OF THE
STRING)--------
----*/..STRING =
'????????'..LEN
GTH = LENGTH( ST
RING )..
@Rexx Built-in Functions
%Max
$
/*------------(C
HECK FOR LARGEST
NUMBER)--------
----*/..NUMBER1
= ?..NUMBER2 = ?
..LARG_NUMBER =
MAX( NUMBER1, NU
MBER2 )..
@Rexx Built-in Functions
%Min
$
/*------------(C
HECK FOR SMOLLES
T NUMBER)-------
----*/..NUMBER1
= ?..NUMBER2 = ?
..MIN_NUMBER = M
IN( NUMBER1, NUM
BER2 )..
@Rexx Built-in Functions
%Overlay
$
/*--------------
-(OVERLAY SUBSTR
ING)------------
----*/..STRING =
'????'..TARGET
= '???????'..STA
RT = ? /* OPT
IONAL */..LENGTH
= ? /* OPTION
AL */..FILLER =
? /* OPTIONAL
*/..NEW_STRING =
OVERLAY( STRING
, TARGET, START,
LENGTH, FILLER
)..
@Rexx Built-in Functions
%Pos
$
/*--------------
--(FIND SUBSTRIN
G)--------------
----*/..SUB_STRI
NG = '???'..STRI
NG = '??????
??'..START
= 1 /* OPTIONA
L */..POS = POS(
SUB_STRING, STR
ING, START )..
@Rexx Built-in Functions
%Random
$
/*-------------(
GENERATE RANDOM
NUMBER)---------
----*/..START =
? /* OPTION
AL: RANGE START
(DEFAULT=0) */..
END = ? /
* OPTIONAL: RANG
E END (DEFAULT=9
99) */..BASE =
? /* OPTION
AL: BASE FOR REP
EAT */..
RANDOM_NUMBER =
RANDOM( START, E
ND, BASE )..
@Rexx Built-in Functions
%Reverse
$
/*--------------
--(REVERSE A STR
ING)------------
----*/..STRING =
'????????'..NEW
_STRING = REVERS
E( STRING )..
@Rexx Built-in Functions
%Right
$
/*------------(R
IGHT JUSTIFY OF
STRING)---------
----*/..STRING =
'????????'..LEN
GTH = ?..FILLER
= ' ' /* OPTIO
NAL */..NEW_STRI
NG = RIGHT( STRI
NG, LENGTH, FILL
ER )..
@Rexx Built-in Functions
%Sign
$
/*----------(IND
ICATE THE SIGN O
F NUMBER)-------
----*/..NUMBER =
?..SIGN_NUM = S
IGN( NUMBER )..S
ELECT.. WHEN SI
GN_NUM = 1 THEN
SAY NUMBER '> 0
'.. WHEN SIGN_N
UM = -1 THEN SAY
NUMBER '< 0'..
WHEN SIGN_NUM =
0 THEN SAY NUM
BER '= 0'.. OTH
ERWISE..END..
@Rexx Built-in Functions
%SourceLine
$
/*---------(GET
THE N-TH LINE IN
THE SOURCE)----
----*/..N = ''..
LINE = SOURCELIN
E( N )..
@Rexx Built-in Functions
%Space
$
/*---------(DELI
MIT THE WORDS IN
THE STRING)----
----*/..STRING =
'????????'..BLA
NKS = ? /* OP
TIONAL */..NEW_S
TRING = SPACE( S
TRING, BLANKS ).
.
@Rexx Built-in Functions
%Strip
$
/*-----(VORAN-/N
ACHGESTELLTE ZEI
CHEN ENTFERNEN)-
----*/..STRING =
'????????'..OPT
= 'B' /*
B=BOTH, L=LEADIN
G, T=TRAILING (O
PTIONAL) */..FIL
LER = ' ' /*
OPTIONAL */..NEW
_STRING = STRIP(
STRING, OPT, FI
LLER )..
@Rexx Built-in Functions
%SubStr
$
/*--------------
----(GET SUBSTRI
NG)-------------
----*/..STRING =
'????????'..STA
RT = ?..LENGTH
= ? /* OPTION
AL */..FILLER =
' ' /* OPTIONAL
*/..NEW_STRING
= SUBSTR( STRING
, START, LENGTH,
FILLER )..
@Rexx Built-in Functions
%Symbol
$
/*--------------
---(GET SYMBOL N
AME)------------
----*/..SYMBOL =
'????'..SYMBOL_
NAME = SYMBOL( S
YMBOL )..
@Rexx Built-in Functions
%Time
$
/*--------------
---(TIME FUNCTIO
NS)-------------
----*/../* = H
H:MM:SS
*/../* C = HH:MM
XX */..
/* E = SSSSSSSSS
.UUUUUU */../* H
= HH
*/../* L = H
H:MM:SS.UUUUUU
*/../* M = MMMM
*/..
/* N = HH:MM:SS
*/../* R
= SSSSSSSSS.UUU
UUU */../* S = S
SSSS
*/..OPT = ''
/* C E H L M N R
S */..TIME = TI
ME( OPT )..
@Rexx Built-in Functions
%Trace
$
/*--------------
(CURRENT TRACE O
PTIONS)---------
----*/../* A = A
LL */..
/* C = COMMAND
*/../* E = E
RROR */..
/* F = FAILURE
*/../* I = I
NTERMEDIATE */..
/* L = LABELS
*/../* N = N
ORMAL */..
/* O = OFF
*/../* R = R
ESULTS */..
/* S = SCAN
*/..OPT = ''
/* A C E F I L
N O R S */..CUR
R_TRACE = TRACE(
OPT )..
@Rexx Built-in Functions
%Translate
$
/*--------------
--(TRANSLATE STR
ING)------------
----*/..STRING =
'????????'..TB_
OUT = '*' /* OP
TIONAL */..TB_IN
= '?' /* OPTI
ONAL */..FILLER
= ' ' /* OPTION
AL */..NEW_STRIN
G = TRANSLATE( S
TRING, TB_OUT, T
B_IN, FILLER )..
@Rexx Built-in Functions
%Trunc
$
/*-------------(
TRUNCATE DECIMAL
PART)----------
----*/..NUMBER =
?..N = ?
/* OPTIONAL */
..DEC_NUMBER = T
RUNC( NUMBER, N
)..
@Rexx Built-in Functions
%Value
$
/*--------------
-----(GET VALUE)
----------------
----*/..VAR = 'N
AME'..VALUE = VA
LUE( VAR )..
@Rexx Built-in Functions
%Verify
$
/*--------(VERIF
Y MEANING OF THE
VARIABLE )-----
----*/..STRING =
'????????'..REF
ER = '*?'..OPT
= 'N' /* N-OM
ATCH, M-ATCH (OP
TIONAL) */..STAR
T = ? /* OPTI
ONAL */..TEST =
VERIFY( STRING,
REFER, OPT, STAR
T )..
@Rexx Built-in Functions
%Word
$
/*-----------(GE
T N-TH WORD OF T
HE STRING)------
----*/..STRING =
'???????'..N =
?..WORD = WORD(
STRING, N )..
@Rexx Built-in Functions
%WordIndex
$
/*----------(GET
POSITION OF THE
N-TH WORD)-----
----*/..STRING =
'???????'..N =
?..WORD_INDEX =
WORDINDEX( STRIN
G, N )..
@Rexx Built-in Functions
%WordLength
$
/*----------(GET
LENGTH OF THE N
-TH WORD)-------
----*/..STRING =
'???????'..N =
?..WORD_LEN = WO
RDLENGTH( STRING
, N )..
@Rexx Built-in Functions
%WordPos
$
/*------------(G
ET POSITION OF T
HE WORD)--------
----*/..WORD =
'???'..STRING =
'???????'..STAR
T = ?..WORD_POS
= WORDPOS( WORD
, STRING, START
)..
@Rexx Built-in Functions
%Words
$
/*------------(G
ET NUMBER OF WOR
DS--)-----------
----*/..STRING =
'???????'..WORD
_CNT = WORDS( ST
RING )..
@Rexx Built-in Functions
%X2C
$
/*-----(HEXADECI
MAL STRING TO CH
ARACTER STRING)-
----*/..HEX_STRI
NG = ??..STRING
= X2C( HEX_STRIN
G )..
@Rexx Built-in Functions
%XRange
$
/*------------(G
ET STRING AT THE
RANGE)---------
----*/..START =
'A'..END = 'Z'
..STRING = XRANG
E( START, END ).
.
@Rexx Built-in Functions
%D2C
$
/*-------------(
DECIMAL TU CHARA
CTERS)----------
----*/..NUMBER =
?..STRING = D2C
( NUMBER )..
@Rexx Built-in Functions
%BitXOr
$
/*-----------(EX
CLUSIV OR FOR 2
STRINGS)--------
----*/..STRING1
= '???????'..STR
ING2 = '?????'..
FILLER = ' ' /
* OPTIONAL */..K
ETTE_XOR = BITXO
R( STRING1, STRI
NG2, FILLER )..
@Rexx Built-in Functions
%X2D
$
/*------(HEXADEC
IMAL STRING TO D
ECIMAL NUMBER)--
----*/..HEX_STRI
NG = ?..DEC_NUMB
ER = X2D( HEX_ST
RING )..
@Rexx Constructs
%Rexx First Comment
$
/* REXX ********
****************
****************
*****/../*
*/..
/* PROGRAM NAME:
*/../*
*/..
/* FUNCTION....:
*/../* AUTHO
R......:
*/..
/* CREATE DATE.:
*/../* VERSI
ON.....:
*/..
/*
*/../* CHANG
ES:
*/..
/*
*/../*******
****************
****************
*************/..
@Rexx Constructs
%Rexx Comment
$
/*--------------
--(REXX COMMENT)
----------------
*/../*----------
------(
)------------
----*/..
@Rexx Constructs
%Do Until
$
DO UNTIL VALUE >
0.. ..END..
@Rexx Constructs
%Do While
$
DO WHILE VALUE >
0.. ..END..
@Rexx Constructs
%If Then Else
$
IF VALUE = 0 THE
N DO.. ..END..E
LSE DO.. ..END.
.
@Rexx Constructs
%Iterative Loop
$
DO INDEX = 1 TO
100 BY 1.. ..EN
D..
@Rexx Constructs
%Parse Arg
$
PARSE ARG ARG1,
ARG2....
@Rexx Constructs
%Parse Pull
$
PARSE PULL STRIN
G....
@Rexx Constructs
%Parse Source
$
PARSE SOURCE STR
ING....
@Rexx Constructs
%Parse Value
$
/*-(PARSE VALUE
DATE('O') WITH Y
EAR '/' MONTH '/
' DAY)-*/..PARSE
VALUE EXPRESSIO
N WITH TEMPLATE.
.
@Rexx Constructs
%Parse Var
$
PARSE VAR STRING
FIRST SECOND +2
0 REST....
@Rexx Constructs
%Select
$
SELECT.. WHEN V
ALUE > 0 THEN..
WHEN VALUE = 0
THEN.. WHEN VAL
UE < 0 THEN.. O
THERWISE..END..
@Rexx Constructs
%Signal Off
$
/*------------(E
XCEPTION HANDLIN
G OFF)----------
----*/..SIGNAL O
FF ERROR..SIGNAL
OFF FAILURE..SI
GNAL OFF HALT..S
IGNAL OFF SYNTAX
..SIGNAL OFF NOV
ALUE..SIGNAL OFF
NOTREADY..
@Rexx Constructs
%Signal On
$
/*--------------
(EXCEPTION HANDL
ING)------------
----*/..SIGNAL O
N ERROR NAME
CLEARUP..SIGNAL
ON FAILURE NAME
CLEARUP..SIGNAL
ON HALT NAM
E CLEARUP..SIGNA
L ON SYNTAX NA
ME CLEARUP..SIGN
AL ON NOVALUE N
AME CLEARUP..SIG
NAL ON NOTREADY
NAME CLEARUP..
@Rexx Constructs
%Exit
$
EXIT RC....
@Rexx Constructs
%Comment
$
/*--------------
--(REXX COMMENT)
----------------
*/../*----------
------(
)------------
----*/..
@Rexx Constructs
%First Comment
$
/* REXX ********
****************
****************
*****/../*
*/..
/* PROGRAM NAME:
*/../*
*/..
/* FUNCTION....:
@Rexx Constructs
%Rexx Frame
$
PARSE ARG ARG1,
ARG2..../*======
========(EXCEPTI
ON HANDLING)====
============*/..
SIGNAL ON FAILUR
E NAME CLEARUP..
SIGNAL ON HALT
NAME CLEARUP..
SIGNAL ON SYNTAX
NAME CLEARUP..
..CALL ON NOTREA
DY..............
................
... (YOUR
CODE)...........
................
....../*========
========(END THI
S PROGRAM)======
==========*/..EX
IT....CLEARUP:..
SAY 'GREED001E
- BREAK, FAILUR
E OR SYNTAX ERRO
R'..EXIT....NOTR
EADY:.. PARSE V
AR RESPONSE . ':
' ERRCODE.. SAY
SYSGETMESSAGE(E
RRCODE).. SAY..
CALL ,"RETRY (
Y/N)? ".. PULL
RESPONSE.. IF R
ESPONSE = 'N' TH
EN EXIT....RETUR
N....
@RACF Callable Services
%Account Number
$
/*--------------
---(GET ACCOUNT
NUMBER)---------
----*/..ACCTNUM
= ''.."XBACCTN"
USERID..IF RC =
0 THEN SAY ACCTN
UM ..
@RACF Callable Services
%User Name
$
/*--------------
------(GET USER
NAME)-----------
----*/..ZUNAMEN
= ''.."XBNAME" U
SERID..IF RC = 0
THEN SAY ZUNAME
N..
@RACF Callable Services
%User Attributes
$
/*--------------
-(GET USERS ATTR
IBUTES)---------
----*/..ATTRIB =
''.."XBATTR" US
ERID..IF RC = 0
THEN SAY ATTRIB.
.
@RACF Callable Services
%Default Group
$
/*-------------(
GET USERS DEFAUL
T GROUP)--------
----*/..DFLTGR1
= ''.."XBDFLTGR"
USERID..IF RC =
0 THEN SAY DFLT
GR1..
@RACF Callable Services
%Group Installation Data
$
/*-----------(GE
T GROUP INSTALLA
TION DATA)------
----*/..GRIDA =
''.."XBGRIDA" GR
OUP..IF RC = 0 T
HEN SAY GRIDA..
@RACF Callable Services
%Users Owner
$
/*----------(GET
OWNER OF THE US
ERS PROFILE)----
----*/..OWNER =
''.."XBOWNER" US
ERID..IF RC = 0
THEN SAY OWNER..
@RACF Callable Services
%Special Attribut
$
/*-----------(GE
T WHETHER USER H
AS SPECIAL)-----
----*/..GLBSPEC
= ''.."XBSPEC" U
SERID..IF RC = 0
THEN SAY GLBSPE
C..
@RACF Callable Services
%User Information
$
/*--------------
---(USER INFORMA
TION)-----------
----*/..USRINF =
''.."XBUSRINF"
USERID..IF RC =
0 THEN .. PARSE
VALUE USRINF WI
TH CRDATE LADATE
LATIME NAME +20
DFLTGRP CLAUTH.
.
@RACF Callable Services
%Group Owner
$
/*-----------(OW
NER OF THE GROUP
PROFILE)-------
----*/..GROWN =
''.."XBGROWN" GR
OUP..IF RC = 0 T
HEN SAY GROWN..
@RACF Callable Services
%Users Group-Attributes
$
/*------------(G
ET USERS GROUP A
TTRIBUTES)------
----*/..GRPATR =
''.."XBGRPATR"
USERID GROUP..IF
RC = 0 THEN SAY
GRPATR..
@RACF Callable Services
%User Installation Data
$
/*-------------(
USERS INSTALLATI
ON DATA)--------
----*/..USIDA =
''.."XBUSINSD" G
ROUP..IF RC = 0
THEN SAY USIDA..
@RACF Callable Services
%List Group Extended
$
/*--------------
-(LIST GROUP EXT
ENDED)----------
----*/..X = OUTT
RAP('EIN.').. "
ICHLGX00" GROUP.
.X = OUTTRAP(OFF
)..IF RC = 0 THE
N DO.. PARSE VA
LUE EIN.1 WITH G
ROUP SUPGROUP GR
POWNER.. DO I =
2 TO EIN.0..
IF POS('USER=',
EIN.I) = 1 | POS
('NO USERS',
@RACF Callable Services
%List Group Structure
$
/*--------------
-(LIST GROUP STR
UCTURE)---------
-----*/..X = OUT
TRAP('EIN.')..
"ICHLGX01" GROUP
..X = OUTTRAP(OF
F)..IF RC = 0 TH
EN DO.. PARSE V
ALUE EIN.1 WITH
GROUP SUPGROUP G
RPOWNER.. DO I
= 2 TO EIN.0..
IF POS('USER='
,EIN.I) = 1 | PO
S('NO USERS',EIN
.I) = 1 THEN DO.
. PARSE VAL
UE EIN.I WITH .
'=' USERID GRPAU
TH GRPATTR ACSCN
T GRPUACC NAME..
ELSE ..
PARSE VALUE EIN
.I WITH SUBGRP G
RPDEPTH ... END
..END..
@RACF Callable Services
%List DS Profiles for Alias
$
/*--------(LIST
DS PROFILES FOR
THE ALIAS)------
----*/..X = OUTT
RAP('EIN.').. "
RACFPROT" ALIAS
"N"..X = OUTTRAP
(OFF)..IF RC = 0
THEN DO I = 2 T
O EIN.0.. PARSE
VAR EIN.I DSN R
C PROFNAME..END
@RACF Callable Services
%List DS Profile for Dataset
$
/*----------(LIS
T DS PROFILE FOR
DATASET)-------
----*/..X = OUTT
RAP('EIN.').. "
XBPROFIL" DSNAME
.. /* "XBPROTEC
" DSNAME */..X =
OUTTRAP(OFF)..I
F RC = 0 THEN DO
I = 2 TO EIN.0.
. PARSE VAR EIN
.I DSN RC PROFNA
ME.. /* PARSE V
AR EIN.I DSN PRO
FNAME */..EN
@RACF Callable Services
%Connect Group List
$
/*--------(LIST
ALL CONNECT GROU
P FOR USER)-----
----*/..X = OUTT
RAP('EIN.').. "
XBCONGRP" USERID
..X = OUTTRAP(OF
F)..IF RC = 0 TH
EN DO.. PARSE V
AR EIN.1 GRPCNT
... DO I = 2 TO
EIN.0.. PARS
E VAR EIN.I CONG
RPNAME ... END.
.END
@RACF Callable Services
%Connect Profile List
$
/*-------(LIST A
LL CONNECT PROFI
LES FOR USER)---
----*/..X = OUTT
RAP('EIN.').. "
XBCONPRF" USERID
..X = OUTTRAP(OF
F)..IF RC = 0 TH
EN DO.. PARSE V
AR EIN.1 GRPCNT
... DO I = 2 TO
EIN.0.. PARS
E VAR EIN.I CONG
RPNAME CONDATE G
RPATTR.. END..E
ND
@RACF Callable Services
%Password Interval
$
/*---------(SAY
PASSWORT INTERVA
L FOR USER)-----
----*/..X = OUTT
RAP('EIN.').. "
XBPASINT" USERID
..X = OUTTRAP(OF
F)..IF RC = 0 TH
EN SAY EIN.1..
@RACF Callable Services
%Subgroup List
$
/*--------(LIST
ALL SUBGROUPS FR
OM A GROUP)-----
----*/..X = OUTT
RAP('EIN.').. "
XBSUBGRP" GROUP.
.X = OUTTRAP(OFF
)..IF RC = 0 THE
N DO.. PARSE VA
R EIN.1 SUBGRPCN
T ... DO I = 2
TO EIN.0.. PA
RSE VAR EIN.I SU
BGRPNAME ... EN
D..END..
@RACF Callable Services
%Superior Group
$
/*--------------
----(SUPERIOR GR
OUP)------------
----*/..SUPGRP =
''.."XBSUPGRP"
GROUP..IF RC = 0
THEN DO.. SAY
SUPGRP..END..
@RACF Callable Services
%Users in Group
$
/*----------(LIS
T ALL USERS IN T
HE GROUP)-------
----*/..X = OUTT
RAP('EIN.').. "
XBUSINGR" GROUP.
.X = OUTTRAP(OFF
)..IF RC = 0 THE
N DO.. PARSE VA
R EIN.1 USRCNT .
.. DO I = 2 TO
EIN.0.. PARSE
VAR EIN.I USERI
D ... END..END.
.