Startseite
Downloads
Lexikon
Sonstiges
Links
Kontakt
Gästebuch
Statistics
Disclaimer
Syntax
..................               
au. = ''      /* must be first */
au._parm_1 = ...                 
au._parm_2 = ...                 
..................               
au._parm_n = ...                 
au._seg_1._parm_1 = ...          
au._seg_1._parm_2 = ...          
..................               
au._seg_m._parm_n = ...          
..................               
ret = AdduserTpl()               
rc = Adduser()                   
Beschreibung
Anlegen einer neuen Benutzernummer (Userid), Zuordnen Profil-Berechtigungen und/oder Profil-Segmenten für diverse Subsysteme unter RACF
Aufrufparameter
keine
Standardwerte
keine
Rückgabewerte
RC
Bedeutung
0
Benutzerprofil erfolgreich im RACF definiert.
4
Ein Benutzerfehler oder ein Berechtigungsproblem wurde entdeckt aber Teile der Verarbeitung wurden durchgeführt.
8
Ein Benutzerfehler oder ein Berechtigungsproblem wurde entdeckt und Verarbeitung wurde abgebrochen.
12
Ein Systemfehler wurde entdeckt und Verarbeitung wurde abgebrochen.
Bemerkungen
Die hier beschriebene Version des RACF-Befehls ADDUSER ist die Implementierung meiner REXX-Schnittstelle für RACF-Befehle: REXX Command Interface Facility, kurz RXCIF genannt.
Return Codes sind vom RACF-Befehl ADDUSER übernommen worden.
RXCIF für ADDUSER besteht aus 4 internen Funktionen:
  • SetOp - Erstellen des Aufruf-Parameters auf Grund von Zuweisungen für eine befehlsabhängige Punktvariable (hier au.) und der Befehlsschablone.
  • AdduserPrepare - eine optionale Beschreibungsfunktion. Sie kann die Vorbereitung und die Zuordnung der Stem-Variablen au. beinhalten.
  • AdduserTpl - Schablone für die Festlegung der Syntax für die Zuordnungsparameter des RACF-Befehls.
  • Adduser - Zusammenlegung der Aufrufparametern und Ausführung des Befehls.
Die interne Prozedur SetOp muss in einem REXX-Programm nur einmal vorkommen auch, wenn mehrere unterschiedliche Befehlsprozeduren verwendet werden.
Die Vorbereitung der Stem-Variablen au. muss immer vor dem Aufruf der Hauptfunktion Adduser stattfinden. Und zwar immer dann, wenn sich die Aufrufparameter seit dem vorherigen Aufbau geändert haben.
Die Musterprozedur für die Zuordnungsparameter (AdduserTpl) muss mindestens ein mal pro REXX-Prozedur aber immer nach der eventuellen Änderung aufgerufen werden.
Die Ausgabe der Beispielprozeduren wurde aus Übersichtlichkeitsgründen in die Zeilen geteilt und mit Fortfürungszeichen (+) versorgt.

Sourcecode

/*=============( Zuordnung der Operanden für den Befehl )=============*/
SetOp: Procedure
Parse Arg vpref 3 vsuff 1 value, tpl . 1 tpref "(" .

If value = '' Then Return ''
If vpref = "NO" & vsuff = tpref ! value = tpref Then Return value

Return Insert( value, tpl, Pos( "(", tpl ))
/**** End SetOp ****/
/*===========( Prepare operands for RACF-TSO-Befehl ADDUSER )=========*/
AdduserPrepare: Procedure Expose au.
/*------( Prepare Base data values of the RACF command ADDUSER )------*/
au._cmdName = "ADDUSER"                /* Command name: ADDUSER | AU  */
au._usrList = ""                       /* User list in paranthasis    */
au._addCategory = ""                   /* category-name ...           */
au._adsp = ""                          /* ADSP | NOADSP               */
au._at = ""                            /* [node].userid ...           */
au._onlyAt = ""                        /* [node].userid ...           */
au._auditor = ""                       /* AUDITOR | NOAUDITOR         */
au._authority = ""                     /* USE, CREATE, CONNECT, JOIN  */
au._data = ""                          /* 'installation-defined-data' */
au._clauth = ""                        /* cls-name ... | NOCLAUTH     */
au._dfltGrp = ""                       /* group-name                  */
au._grpacc = ""                        /* GRPACC | NOGRPACC           */
au._model = ""                         /* dsname                      */
au._name = ""                          /* user-name                   */
au._oidCard = ""                       /* OIDCARD | NOOIDCARD         */
au._operations = ""                    /* OPERATIONS | NOOPERATIONS   */
au._owner = ""                         /* userid or group-name        */
au._password = ""                      /* password | NOPASSWORD       */
au._phrase = ""                        /* 'passphrase' | NOPHRASE     */
au._restricted = ""                    /* RESTRICTED | NORESTRICTED   */
au._seclabel = ""                      /* seclabel-name               */
au._seclevel = ""                      /* seclevel-name               */
au._special = ""                       /* SPECIAL | NOSPECIAL         */
au._uacc = ""                          /* universal-access-authority  */
/*-----( Prepare CICS segment values of the RACF command ADDUSER )----*/
au._cics = ""                          /* CICS-Segment                */
au._cics._opClass = ""                 /* operator-class ...          */
au._cics._opIdent = ""                 /* operator-id                 */
au._cics._opPrty = ""                  /* operator-priority           */
au._cics._rslkey = ""                  /* rslkey ... | 0 | 99         */
au._cics._timeout = ""                 /* timeout-value               */
au._cics._tslkey = ""                  /* tslkey ... | 0 | 1 | 99     */
au._cics._xrfsoff = ""                 /* FORCE | NOFORCE             */
/*-----( Prepare DCE segment values of the RACF command ADDUSER )-----*/
au._dce  = ""                          /* DCE-Segment                 */ 
au._dce._autoLogin = ""                /* YES | NO                    */
au._dce._dceName = ""                  /* user-principal-name         */
au._dce._homeCell = ""                 /* dce-cell-name               */
au._dce._homeuUid = ""                 /* home-cell-univ.-unique-id.  */
au._dce._uUid = ""                     /* universal-unique-identifier */
/*-----( Prepare DFP segment values of the RACF command ADDUSER )-----*/
au._dfp = ""                                                          
au._dfp._dataAppl = ""                 /* application-name            */
au._dfp._dataClas = ""                 /* data-class-name             */
au._dfp._mgmtClas = ""                 /* management-class-name       */
au._dfp._storClas = ""                 /* storage-class-name          */
/*-----( Prepare EIM segment values of the RACF command ADDUSER )-----*/
au._eim = ""                                                          
au._eim._ldapProf = ""                 /* ldapbind_profile            */
/*-----( Prepare KERB segment values of the RACF command ADDUSER )----*/
au._kerb = ""                          
au._kerb._encrypt = ""                 
au._kerb._encrypt._des = ""            /* DES | NODES                 */ 
au._kerb._encrypt._des3 = ""           /* DES3 | NODES3               */
au._kerb._encrypt._desd = ""           /* DESD | NODESD               */
au._kerb._kerbName = ""                /* kerberos-principal-name     */
au._kerb._maxTktLfe = ""               /* max-ticket-life             */
/*--( Prepare LANGUAGE segment values of the RACF command ADDUSER )---*/
au._language = ""                      
au._language._primary = ""             /* language                    */
au._language._secondary = ""           /* language                    */
/*---( Prepare LNOTES segment values of the RACF command ADDUSER )----*/
au._lnotes = ""                                                       
au._lnotes._sname = ""                 /* short-name                  */
/*-----( Prepare NDS segment values of the RACF command ADDUSER )-----*/
au._nds = ""                                                          
au._nds._uName = ""                    /* user-name                   */
/*---( Prepare NETVIEW segment values of the RACF command ADDUSER )---*/
au._netview = ""                                                      
au._netview._consName = ""             /* console-name                */
au._netview._ctl = ""                  /* GENERAL | GLOBAL | SPECIFIC */
au._netview._domains = ""              /* domain-name ...             */
au._netview._ic = ""                   /* 'command | command-list'    */
au._netview._msgRecvr = ""             /* NO | YES                    */
au._netview._ngmfAdmn = ""             /* NO | YES                    */
au._netview._ngmfVspn = ""             /* view-span                   */
au._netview._opClass = ""              /* class ...                   */
/*-----( Prepare OMVS segment values of the RACF command ADDUSER )----*/
au._omvs = ""                          
au._omvs._assizemax = ""               /* address-space-size          */
au._omvs._autouid = ""                 /* AUTOUID                     */
au._omvs._uid = ""                     /* user-identifier             */
au._omvs._uidShared = ""               /* SHARED                      */
au._omvs._cputimemax = ""              /* cpu-time                    */
au._omvs._fileprocmax = ""             /* files-per-process           */
au._omvs._home = ""                    /* initial-directory-name      */
au._omvs._memlimit = ""                /* nonshared-memory-size       */
au._omvs._mmapareamax = ""             /* memory-map-size             */
au._omvs._procusermax = ""             /* processes-per-UID           */
au._omvs._program = ""                 /* program-name                */
au._omvs._shmemmax = ""                /* shared-memory-size          */
au._omvs._threadsmax = ""              /* threads-per-process         */
/*--( Prepare OPERPARM segment values of the RACF command ADDUSER )---*/
au._operparm = ""                      
au._operparm._altgrp = ""              /* alternate-console-group     */
au._operparm._auth = ""                /* operator-authority          */
au._operparm._auto  = ""               /* YES | NO                    */
au._operparm._cmdsys = ""              /* system-name                 */
au._operparm._dom = ""                 /* NORMAL | ALL | NONE         */
au._operparm._hc = ""                  /* YES | NO                    */
au._operparm._intids = ""              /* YES | NO                    */
au._operparm._key = ""                 /* searching-key               */
au._operparm._level = ""               /* message-level               */
au._operparm._logcmdresp = ""          /* SYSTEM | NO                 */
au._operparm._mform = ""               /* message-format              */
au._operparm._migid = ""               /* YES | NO                    */
au._operparm._monitor = ""             /* event                       */
au._operparm._mscope = ""              /* system-names | * | *ALL     */
au._operparm._routcode = ""            /* ALL | NONE | routing-codes  */
au._operparm._storage = ""             /* amount                      */
au._operparm._ud = ""                  /* YES | NO                    */
au._operparm._unknids = ""             /* YES | NO                    */
/*-----( Prepare OVM segment values of the RACF command ADDUSER )-----*/
au._ovm = ""                           
au._ovm._fsroot = ""                   /* file-system-root            */
au._ovm._home = ""                     /* initial-directory-name      */
au._ovm._program = ""                  /* program-name                */
au._ovm._uid = ""                      /* user-identifier             */
/*----( Prepare PROXY segment values of the RACF command ADDUSER )----*/
au._proxy = ""                         
au._proxy._ldaphost = ""               /* ldap_url                    */
au._proxy._binddn = ""                 /* bind_distinguished_name     */
au._proxy._bindpw = ""                 /* bind_password               */
/*-----( Prepare TSO segment values of the RACF command ADDUSER )-----*/
au._tso = ""                           
au._tso._acctnum = ""                  /* account-number              */
au._tso._command = ""                  /* command-issued-at-logon     */
au._tso._dest = ""                     /* destination-id              */
au._tso._holdclass = ""                /* hold-class                  */
au._tso._jobclass = ""                 /* job-class                   */
au._tso._maxsize = ""                  /* maximum-region-size         */
au._tso._msgclass = ""                 /* message-class               */
au._tso._proc = ""                     /* logon-procedure-name        */
au._tso._seclabel = ""                 /* security-label              */
au._tso._size = ""                     /* default-region-size         */
au._tso._sysoutclass = ""              /* sysout-class                */
au._tso._unit = ""                     /* unit-name                   */
au._tso._userdata = ""                 /* user-data                   */
/*---( Prepare WHEN Base Data values of the RACF command ADDUSER )----*/
au._when = ""                          
au._when._days = ""                    /* day-info                    */
au._when._time = ""                    /* time-info                   */
/*---( Prepare WORKATTR segment values of the RACF command ADDUSER )--*/
au._workattr = ""                      
au._workattr._waaccnt = ""             /* account-number              */
au._workattr._waaddr1 = ""             /* address-line-1              */
au._workattr._waaddr2 = ""             /* address-line-2              */
au._workattr._waaddr3 = ""             /* address-line-3              */
au._workattr._waaddr4 = ""             /* address-line-4              */
au._workattr._wabldg = ""              /* building                    */
au._workattr._wadept = ""              /* department                  */
au._workattr._waname = ""              /* name                        */
au._workattr._waroom = ""              /* room                        */

Return au._usrList
/**** End AdduserPrepare ****/
/*=========( Muster für Zuordnungsparameter von TSO ADDUSER )=========*/
AdduserTpl: Procedure Expose au.

au._tpl. = ''
/*-----( Define Base Data template of the RACF command ADDUSER )------*/
au._tpl._usrList              = "()"                
au._tpl._addCategory          = "ADDCATEGORY()" 
au._tpl._at                   = "AT()"                   
au._tpl._onlyAt               = "ONLYAT()"           
au._tpl._authority            = "AUTHORITY()"     
au._tpl._clauth               = "CLAUTH()"           
au._tpl._data                 = "DATA()" 
au._tpl._dfltGrp              = "DFLTGRP()"
au._tpl._model                = "MODEL()"
au._tpl._name                 = "NAME()"
au._tpl._owner                = "OWNER()"
au._tpl._password             = "PASSWORD()"
au._tpl._phrase               = "PHRASE()"
au._tpl._seclabel             = "SECLABEL()"
au._tpl._seclevel             = "SECLEVEL()"
au._tpl._uacc                 = "UACC()".
/*----( Define CICS segment template of the RACF command ADDUSER )----*/
au._tpl._cics                 = "CICS()"               
au._tpl._cics._opClass        = "OPCLASS()"   
au._tpl._cics._opIdent        = "OPIDENT()"   
au._tpl._cics._opPrty         = "OPPRTY()"     
au._tpl._cics._rslkey         = "RSLKEY()"   
au._tpl._cics._timeout        = "TIMEOUT()"   
au._tpl._cics._tslkey         = "TSLKEY()"   
au._tpl._cics._xrfsoff        = "XRFSOFF()"   
/*-----( Define DCE segment template of the RACF command ADDUSER )----*/
au._tpl._dce                  = "DCE()"
au._tpl._dce._autoLogin       = "AUTOLOGIN()"
au._tpl._dce._dceName         = "DCENAME()"
au._tpl._dce._homeCell        = "HOMECELL()"
au._tpl._dce._homeuUid        = "HOMEUUID()"
au._tpl._dce._uUid            = "UUID()"
/*-----( Define DFP segment template of the RACF command ADDUSER )----*/
au._tpl._dfp                  = "DFP()"
au._tpl._dfp._dataAppl        = "DATAAPPL()"
au._tpl._dfp._dataClas        = "DATACLAS()"
au._tpl._dfp._mgmtClas        = "MGMTCLAS()"
au._tpl._dfp._storClas        = "STORCLAS()"
/*-----( Define EIM segment template of the RACF command ADDUSER )----*/
au._tpl._eim                  = "EIM()"       
au._tpl._eim._ldapProf        = "LDAPPROF()"
/*----( Define KERB segment template of the RACF command ADDUSER )----*/
au._tpl._kerb                 = "KERB()"
au._tpl._kerb._encrypt        = "ENCRYPT()"
au._tpl._kerb._kerbName       = "KERBNAME()"
au._tpl._kerb._maxTktLfe      = "MAXTKTLFE()"
/*--( Define LANGUAGE segment template of the RACF command ADDUSER )--*/
au._tpl._language             = "LANGUAGE()"
au._tpl._language._primary    = "PRIMARY()"
au._tpl._language._secondary  = "SECONDARY()"
/*---( Define LNOTES segment template of the RACF command ADDUSER )---*/
au._tpl._lnotes               = "LNOTES()"
au._tpl._lnotes._sname        = "SNAME()"
/*-----( Define NDS segment template of the RACF command ADDUSER )----*/
au._tpl._nds                  = "NDS()"
au._tpl._nds._uName           = "UNAME()"
/*---( Define NETVIEW segment template of the RACF command ADDUSER )--*/
au._tpl._netview              = "NETVIEW()"
au._tpl._netview._consName    = "CONSNAME()"
au._tpl._netview._ctl         = "CTL()"
au._tpl._netview._domains     = "DOMAINS()"
au._tpl._netview._ic          = "IC()"
au._tpl._netview._msgRecvr    = "MSGRECVR()"
au._tpl._netview._ngmfAdmn    = "NGMFADMN()"
au._tpl._netview._ngmfVspn    = "NGMFVSPN()"
au._tpl._netview._opClass     = "OPCLASS()"
/*----( Define OMVS segment template of the RACF command ADDUSER )----*/
au._tpl._omvs                 = "OMVS()"
au._tpl._omvs._assizemax      = "ASSIZEMAX()"
au._tpl._omvs._uid            = "UID()"
au._tpl._omvs._cputimemax     = "CPUTIMEMAX()"
au._tpl._omvs._fileprocmax    = "FILEPROCMAX()"
au._tpl._omvs._home           = "HOME() "
au._tpl._omvs._memlimit       = "MEMLIMIT()"
au._tpl._omvs._mmapareamax    = "MMAPAREAMAX()"
au._tpl._omvs._procusermax    = "PROCUSERMAX()"
au._tpl._omvs._program        = "PROGRAM()"
au._tpl._omvs._shmemmax       = "SHMEMMAX()"
au._tpl._omvs._threadsmax     = "THREADSMAX()"
/*--( Define OPERPARM segment template of the RACF command ADDUSER )--*/
au._tpl._operparm             = "OPERPARM()"
au._tpl._operparm._altgrp     = "ALTGRP()"
au._tpl._operparm._auth       = "AUTH()"
au._tpl._operparm._auto       = "AUTO()"
au._tpl._operparm._cmdsys     = "CMDSYS()"
au._tpl._operparm._dom        = "DOM()"
au._tpl._operparm._hc         = "HC()"
au._tpl._operparm._intids     = "INTIDS()"
au._tpl._operparm._key        = "KEY()"
au._tpl._operparm._level      = "LEVEL()"
au._tpl._operparm._logcmdresp = "LOGCMDRESP()"
au._tpl._operparm._mform      = "MFORM()"
au._tpl._operparm._migid      = "MIGID()"
au._tpl._operparm._monitor    = "MONITOR()"
au._tpl._operparm._mscope     = "MSCOPE()"
au._tpl._operparm._routcode   = "ROUTCODE()"
au._tpl._operparm._storage    = "STORAGE()"
au._tpl._operparm._ud         = "UD()"
au._tpl._operparm._unknids    = "UNKNIDS()"
/*-----( Define OVM segment template of the RACF command ADDUSER )----*/
au._tpl._ovm                  = "OVM()"
au._tpl._ovm._fsroot          = "FSROOT()"
au._tpl._ovm._home            = "HOME()"
au._tpl._ovm._program         = "PROGRAM()"
au._tpl._ovm._uid             = "UID()"
/*----( Define PROXY segment template of the RACF command ADDUSER )---*/
au._tpl._proxy                = "PROXY()"
au._tpl._proxy._ldaphost      = "LDAPHOST()"
au._tpl._proxy._binddn        = "BINDDN()"
au._tpl._proxy._bindpw        = "BINDPW()" 
/*-----( Define TSO segment template of the RACF command ADDUSER )----*/
au._tpl._tso                  = "TSO()"
au._tpl._tso._acctnum         = "ACCTNUM()"
au._tpl._tso._command         = "COMMAND()"
au._tpl._tso._dest            = "DEST()"
au._tpl._tso._holdclass       = "HOLDCLASS()"
au._tpl._tso._jobclass        = "JOBCLASS()"
au._tpl._tso._maxsize         = "MAXSIZE()"
au._tpl._tso._msgclass        = "MSGCLASS()"
au._tpl._tso._proc            = "PROC()"
au._tpl._tso._seclabel        = "SECLABEL()".
au._tpl._tso._size            = "SIZE()"
au._tpl._tso._sysoutclass     = "SYSOUTCLASS()"
au._tpl._tso._unit            = "UNIT()"
au._tpl._tso._userdata        = "USERDATA()"
/*---( Define WHEN base data template of the RACF command ADDUSER )---*/
au._tpl._when                 = "WHEN()"
au._tpl._when._days           = "DAYS()"
au._tpl._when._time           = "TIME()"
/*--( Define WORKATTR segment template of the RACF command ADDUSER )--*/
au._tpl._workattr             = "WORKATTR()"
au._tpl._workattr._waaccnt    = "WAACCNT()"
au._tpl._workattr._waaddr1    = "WAADDR1()"
au._tpl._workattr._waaddr2    = "WAADDR2()"
au._tpl._workattr._waaddr3    = "WAADDR3()"
au._tpl._workattr._waaddr4    = "WAADDR4()"
au._tpl._workattr._wabldg     = "WABLDG()"
au._tpl._workattr._wadept     = "WADEPT()"
au._tpl._workattr._waname     = "WANAME()"
au._tpl._workattr._waroom     = "WAROOM()"

Return ''
/**** End AdduserTpl ****/
/*===========( Command to create the TSO command ADDUSER )============*/
Adduser: Procedure Expose au.                                       

/*------( Create CICS segment part of the RACF command ADDUSER )------*/
cics     = SetOp( au._cics._opClass, au._tpl._cics._opClass ),
           SetOp( au._cics._opIdent, au._tpl._cics._opIdent ),   
           SetOp( au._cics._opPrty , au._tpl._cics._opPrty  ),   
           SetOp( au._cics._rslkey , au._tpl._cics._rslkey  ),   
           SetOp( au._cics._timeout, au._tpl._cics._timeout ),   
           SetOp( au._cics._tslkey , au._tpl._cics._tslkey  ),   
           SetOp( au._cics._xrfsoff, au._tpl._cics._xrfsoff )   
/*------( Create DCE segment part of the RACF command ADDUSER )-------*/
dce      = SetOp( au._dce._autoLogin, au._tpl._dce._autoLogin ),
           SetOp( au._dce._dceName  , au._tpl._dce._dceName   ),
           SetOp( au._dce._homeCell , au._tpl._dce._homeCell  ),
           SetOp( au._dce._homeuUid , au._tpl._dce._homeuUid  ),
           SetOp( au._dce._uUid     , au._tpl._dce._uUid      )
/*------( Create DFP segment part of the RACF command ADDUSER )-------*/
dfp      = SetOp( au._dfp._dataAppl, au._tpl._dfp._dataAppl ),
           SetOp( au._dfp._dataClas, au._tpl._dfp._dataClas ),
           SetOp( au._dfp._mgmtClas, au._tpl._dfp._mgmtClas ),
           SetOp( au._dfp._storClas, au._tpl._dfp._storClas )
/*------( Create EIM segment part of the RACF command ADDUSER )-------*/
eim      = SetOp( au._eim._ldapProf, au._tpl._eim._ldapProf )
/*------( Create KERB segment part of the RACF command ADDUSER )------*/
encrypt  = SetOp( au._kerb._encrypt._des , au._tpl._kerb._encrypt._des  ),
           SetOp( au._kerb._encrypt._des3, au._tpl._kerb._encrypt._des3 ),
           SetOp( au._kerb._encrypt._desd, au._tpl._kerb._encrypt._desd )
kerb     = SetOp( Strip( au._kerb._encrypt encrypt), au._tpl._kerb._encrypt ),             
           SetOp( au._kerb._kerbName , au._tpl._kerb._kerbName  ),
           SetOp( au._kerb._maxTktLfe, au._tpl._kerb._maxTktLfe )
/*----( Create LANGUAGE segment part of the RACF command ADDUSER )----*/
language = SetOp( au._language._primary  , au._tpl._language._primary   ),
           SetOp( au._language._secondary, au._tpl._language._secondary )
/*-----( Create LNOTES segment part of the RACF command ADDUSER )-----*/
lnotes   = SetOp( au._lnotes._sname, au._tpl._lnotes._sname )
/*------( Create NDS segment part of the RACF command ADDUSER )-------*/
nds      = SetOp( au._nds._uName, au._tpl._nds._uName )
/*----( Create NETVIEW segment part of the RACF command ADDUSER )-----*/
netview  = SetOp( au._netview._consName, au._tpl._netview._consName ),
           SetOp( au._netview._ctl     , au._tpl._netview._ctl      ),
           SetOp( au._netview._domains , au._tpl._netview._domains  ),
           SetOp( au._netview._ic      , au._tpl._netview._ic       ),
           SetOp( au._netview._msgRecvr, au._tpl._netview._msgRecvr ),
           SetOp( au._netview._ngmfAdmn, au._tpl._netview._ngmfAdmn ),
           SetOp( au._netview._ngmfVspn, au._tpl._netview._ngmfVspn ),
           SetOp( au._netview._opClass , au._tpl._netview._opClass  )
/*------( Create OMVS segment part of the RACF command ADDUSER )------*/
omvs     = SetOp( au._omvs._assizemax  , au._tpl._omvs._assizemax   ),
           SetOp( au._omvs._autouid    , au._tpl._omvs._autouid     ),
           SetOp( au._omvs._uid        , au._tpl._omvs._uid         ),
           SetOp( au._omvs._uidShared  , au._tpl._omvs._uidShared   ),
           SetOp( au._omvs._cputimemax , au._tpl._omvs._cputimemax  ),
           SetOp( au._omvs._fileprocmax, au._tpl._omvs._fileprocmax ),
           SetOp( au._omvs._home       , au._tpl._omvs._home        ),
           SetOp( au._omvs._memlimit   , au._tpl._omvs._memlimit    ),
           SetOp( au._omvs._mmapareamax, au._tpl._omvs._mmapareamax ),
           SetOp( au._omvs._procusermax, au._tpl._omvs._procusermax ),
           SetOp( au._omvs._program    , au._tpl._omvs._program     ),
           SetOp( au._omvs._shmemmax   , au._tpl._omvs._shmemmax    ),
           SetOp( au._omvs._threadsmax , au._tpl._omvs._threadsmax  )
/*----( Create OPERPARM segment part of the RACF command ADDUSER )----*/
operparm = SetOp( au._operparm._altgrp    , au._operparm._altgrp     ),
           SetOp( au._operparm._auth      , au._operparm._auth       ),
           SetOp( au._operparm._auto      , au._operparm._auto       ),
           SetOp( au._operparm._cmdsys    , au._operparm._cmdsys     ),
           SetOp( au._operparm._dom       , au._operparm._dom        ),
           SetOp( au._operparm._hc        , au._operparm._hc         ),
           SetOp( au._operparm._intids    , au._operparm._intids     ),
           SetOp( au._operparm._key       , au._operparm._key        ),
           SetOp( au._operparm._level     , au._operparm._level      ),
           SetOp( au._operparm._logcmdresp, au._operparm._logcmdresp ),
           SetOp( au._operparm._mform     , au._operparm._mform      ),
           SetOp( au._operparm._migid     , au._operparm._migid      ),
           SetOp( au._operparm._monitor   , au._operparm._monitor    ),
           SetOp( au._operparm._mscope    , au._operparm._mscope     ),
           SetOp( au._operparm._routcode  , au._operparm._routcode   ),
           SetOp( au._operparm._storage   , au._operparm._storage    ),
           SetOp( au._operparm._ud        , au._operparm._ud         ),
           SetOp( au._operparm._unknids   , au._operparm._unknids    )
/*------( Create OVM segment part of the RACF command ADDUSER )-------*/
ovm      = SetOp( au._ovm._fsroot , au._tpl._ovm._fsroot  ),  
           SetOp( au._ovm._home   , au._tpl._ovm._home    ),  
           SetOp( au._ovm._program, au._tpl._ovm._program ),  
           SetOp( au._ovm._uid    , au._tpl._ovm._uid     )
/*-----( Create PROXY segment part of the RACF command ADDUSER )------*/
proxy    = SetOp( au._proxy._ldaphost, au._tpl._proxy._ldaphost ),  
           SetOp( au._proxy._binddn  , au._tpl._proxy._binddn   ),  
           SetOp( au._proxy._bindpw  , au._tpl._proxy._bindpw   )
/*------( Create TSO segment part of the RACF command ADDUSER )-------*/
tso      = SetOp( au._tso._acctnum    , au._tpl._tso._acctnum     ),
           SetOp( au._tso._command    , au._tpl._tso._command     ),
           SetOp( au._tso._dest       , au._tpl._tso._dest        ),
           SetOp( au._tso._holdclass  , au._tpl._tso._holdclass   ),
           SetOp( au._tso._jobclass   , au._tpl._tso._jobclass    ),
           SetOp( au._tso._maxsize    , au._tpl._tso._maxsize     ),
           SetOp( au._tso._msgclass   , au._tpl._tso._msgclass    ),
           SetOp( au._tso._proc       , au._tpl._tso._proc        ),
           SetOp( au._tso._seclabel   , au._tpl._tso._seclabel    ),
           SetOp( au._tso._size       , au._tpl._tso._size        ),
           SetOp( au._tso._sysoutclass, au._tpl._tso._sysoutclass ),
           SetOp( au._tso._unit       , au._tpl._tso._unit        ),
           SetOp( au._tso._userdata   , au._tpl._tso._userdata    )
/*----( Create WORKATTR segment part of the RACF command ADDUSER )----*/
workattr = SetOp( au._workattr._waaccnt, au._tpl._workattr._waaccnt ), 
           SetOp( au._workattr._waaddr1, au._tpl._workattr._waaddr1 ), 
           SetOp( au._workattr._waaddr2, au._tpl._workattr._waaddr2 ), 
           SetOp( au._workattr._waaddr3, au._tpl._workattr._waaddr3 ), 
           SetOp( au._workattr._waaddr4, au._tpl._workattr._waaddr4 ), 
           SetOp( au._workattr._wabldg , au._tpl._workattr._wabldg  ),
           SetOp( au._workattr._wadept , au._tpl._workattr._wadept  ),
           SetOp( au._workattr._waname , au._tpl._workattr._waname  ),
           SetOp( au._workattr._waroom , au._tpl._workattr._waroom  )
/*-----( Create WHEN base data part of the RACF command ADDUSER )-----*/
when     = SetOp( au._when._days, au._tpl._when._days ),       
           SetOp( au._when._time, au._tpl._when._time )
/*==================( Generate RACF command ADDUSER )=================*/
cmd = Space( SetOp( au._usrList      , au._tpl._usrList     ),
             SetOp( au._at           , au._tpl._at          ),
             SetOp( au._onlyAt       , au._tpl._onlyAt      ),
             SetOp( au._name         , au._tpl._name        ),
             SetOp( au._dfltGrp      , au._tpl._dfltGrp     ),
             SetOp( au._owner        , au._tpl._owner       ),
             SetOp( au._data         , au._tpl._data        ),
             SetOp( au._password     , au._tpl._password    ),
             SetOp( au._phrase       , au._tpl._phrase      ),
             SetOp( au._model        , au._tpl._model       ),
             SetOp( au._auditor      , au._tpl._auditor     ),
             SetOp( au._operations   , au._tpl._operations  ),
             SetOp( au._special      , au._tpl._special     ),
             SetOp( au._grpacc       , au._tpl._grpacc      ),
             SetOp( au._adsp         , au._tpl._adsp        ),
             SetOp( au._oidCard      , au._tpl._oidCard     ),
             SetOp( au._authority    , au._tpl._authority   ),
             SetOp( au._uacc         , au._tpl._uacc        ),
             SetOp( au._addCategory  , au._tpl._addCategory ),
             SetOp( au._clauth       , au._tpl._clauth      ),
             SetOp( au._restricted   , au._tpl._restricted  ),
             SetOp( au._seclabel     , au._tpl._seclabel    ),
             SetOp( au._seclevel     , au._tpl._seclevel    ),
             SetOp( Strip( when                  ), au._tpl._when     ),
             SetOp( Strip( au._cics cics         ), au._tpl._cics     ),
             SetOp( Strip( au._dce dce           ), au._tpl._dce      ),
             SetOp( Strip( au._dfp dfp           ), au._tpl._dfp      ),
             SetOp( Strip( au._eim eim           ), au._tpl._eim      ),
             SetOp( Strip( au._kerb kerb         ), au._tpl._kerb     ),
             SetOp( Strip( au._language language ), au._tpl._language ),
             SetOp( Strip( au._lnotes lnotes     ), au._tpl._lnotes   ),
             SetOp( Strip( au._nds nds           ), au._tpl._nds      ),
             SetOp( Strip( au._netview netview   ), au._tpl._netview  ),
             SetOp( Strip( au._omvs omvs         ), au._tpl._omvs     ),
             SetOp( Strip( au._operparm operparm ), au._tpl._operparm ),
             SetOp( Strip( au._ovm ovm           ), au._tpl._ovm      ),
             SetOp( Strip( au._proxy proxy       ), au._tpl._proxy    ),
             SetOp( Strip( au._tso tso           ), au._tpl._tso      ),
             SetOp( Strip( au._workattr workattr ), au._tpl._workattr ))
      
Say "ADDUSER" cmd                                                                 
Address TSO "ADDUSER" cmd                                              
                                                                        
Return rc                                                               
/**** End Adduser ****/

Beispiel 1

/* REXX ***************************************************************/
/* Program name: ADDUSER                                              */
/* Author......: Janosch R(exx) Kowalczyk                             */
/**********************************************************************/
au. = ''
/* Base data */
au._usrList = "NT01010 NT0101S"
au._data = "'003412567-BOSADMINX'"
au._name = "JANOSCH KOWALCZYK"
au._dfltGrp = "GPNORACF"
au._noPassword = "NOPASSWORD"
au._restricted = "RESTRICTED"

/* TSO-Segment */
au._tso._acctnum = "IBP11111SY"
au._tso._command = "'test.p.exec(start)'"
au._tso._dest = "FFM"
au._tso._holdclass = "H"
au._tso._jobclass = "J"
au._tso._maxsize = "128000"
au._tso._msgclass = "M"
au._tso._proc = "LOGONTSO"
au._tso._size = "128000"

ret = AdduserTpl()
rc = Adduser()

Exit
/**** End main procedure ****/

Ergebnis 1

ADDUSER (NT01010 NT0101S) DATA('003412567-BOSADMINX') DFLTGRP(GPNORACF) NAME(JANOSCH KOWALCZYK) +
        NOPASSWORD RESTRICTED TSO(ACCTNUM(IBP11111SY) COMMAND('test.p.exec(start)') DEST(FFM) +
        HOLDCLASS(H) JOBCLASS(J) MAXSIZE(128000) MSGCLASS(M) PROC(LOGONTSO) SIZE(128000))
Return code (RC) from ADDUSER is 0

Beispiel 2

/* REXX ***************************************************************/
/* Program name: ADDUSER                                              */
/* Author......: Janosch R(exx) Kowalczyk                             */
/**********************************************************************/
au. = ''
/* Base data */
au._usrList = "NT01010"         
au._data = "'JAKOXX GMBH'"      
au._name = "JANOSCH KOWALCZYK"
au._dfltGrp = "DGJAKOXX"                
au._special = "SPECIAL"           

/* OMVS-Segment */
au._omvs._uid = "0"
au._omvs._uidShared = "SHARED"
au._omvs._home = "/home/nt01010"
au._omvs._program = "/bin/sh"

ret = AdduserTpl()  
rc = Adduser()

Exit 
/**** End main procedure ****/

Ergebnis 2

ADDUSER (NT01010) DATA('JAKOXX GMBH') DFLTGRP(DGJAKOXX) NAME(JANOSCH KOWALCZYK) SPECIAL +
        OMVS(UID(0) SHARED HOME(/home/nt01010) PROGRAM(/bin/sh))
Return code (RC) from ADDUSER is 0
Your privacy: This web site has no cookies, no advertising and does not provide access data to anyone for any reason.
Copyright © Janosch R. Kowalczyk 1999, 2010. All rights reserved.
Most recent revision on 30 Mar 2010 (88) - 19:22:32.
Jakoxx Logo
Meine REXX-Regeln
RXCIF-Prozeduren:
Meine Prozeduren
Built-in functions
Standard Return Codes