..................ag. = '' /* must be first */ag._parm_1 = ...ag._parm_2 = .....................ag._parm_n = ...ag._seg_1._parm_1 = ...ag._seg_1._parm_2 = .....................ag._seg_m._parm_n = .....................ret = AddgroupTpl()rc = Addgroup()
/*=============( 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 ADDGROUP )=========*/ AddgroupPrepare: Procedure Expose ag. /*------( Prepare Base data values of the RACF command ADDGROUP )-----*/ ag._prefix /* Subsystem-prefix */ ag._cmdName = "ADDGROUP" /* Command name: ADDGROUP | AG */ ag._grpList = "" /* Group list in paranthasis */ ag._at = "" /* [node].userid ... */ ag._onlyAt = "" /* [node].userid ... */ ag._csdata = "" /* cust-field-name(cust-field-value) */ ag._data = "" /* 'installation-defined-data' */ ag._model = "" /* dsname */ ag._owner = "" /* userid or group-name */ ag._supGroup = "" /* superior group name */ ag._termuacc = "" /* TERMUACC | NOTERMUACC */ ag._universal = "" /* UNIVERSAL */ /*-----( Prepare DFP segment values of the RACF command ADDGROUP )----*/ ag._dfp = "" ag._dfp._dataAppl = "" /* application-name */ ag._dfp._dataClas = "" /* data-class-name */ ag._dfp._mgmtClas = "" /* management-class-name */ ag._dfp._storClas = "" /* storage-class-name */ /*----( Prepare OMVS segment values of the RACF command ADDGROUP )----*/ ag._omvs = "" ag._omvs._autogid = "" /* AUTOGID */ ag._omvs._gid = "" /* group-identifier */ ag._omvs._gidShared = "" /* SHARED */ /*-----( Prepare OVM segment values of the RACF command ADDGROUP )----*/ ag._ovm = "" ag._ovm._gid = "" /* group-identifier */ /*-----( Prepare TME segment values of the RACF command ADDGROUP )----*/ ag._tme = "" ag._tme._roles = "" /* profile-name list */ Return ag._grpList /**** End AddgroupPrepare ****/
/*========( Muster für Zuordnungsparameter von TSO ADDGROUP )=========*/ AddgroupTpl: Procedure Expose ag. ag._tpl. = '' /*-----( Define Base Data template of the RACF command ADDGROUP )-----*/ ag._tpl._grpList = "()" ag._tpl._at = "AT()" ag._tpl._onlyAt = "ONLYAT()" ag._tpl._data = "CSDATA()" ag._tpl._data = "DATA()" ag._tpl._model = "MODEL()" ag._tpl._owner = "OWNER()" ag._tpl._supGroup = "SUPGROUP()" /*----( Define DFP segment template of the RACF command ADDGROUP )----*/ ag._tpl._dfp = "DFP()" ag._tpl._dfp._dataAppl = "DATAAPPL()" ag._tpl._dfp._dataClas = "DATACLAS()" ag._tpl._dfp._mgmtClas = "MGMTCLAS()" ag._tpl._dfp._storClas = "STORCLAS()" /*----( Define OMVS segment template of the RACF command ADDGROUP )---*/ ag._tpl._omvs = "OMVS()" ag._tpl._omvs._gid = "GID()" /*----( Define OVM segment template of the RACF command ADDGROUP )----*/ ag._tpl._ovm = "OVM()" ag._tpl._ovm._gid = "GID()" /*----( Define TME segment template of the RACF command ADDGROUP )----*/ ag._tpl._tme = "TME()" ag._tpl._tme._roles = "ROLES()" Return '' /**** End AddgroupTpl ****/
/*===========( Command to create the TSO command ADDGROUP )===========*/
Addgroup: Procedure Expose ag.
/*------( Create DFP segment part of the RACF command ADDGROUP )------*/
dfp = SetOp( ag._dfp._dataAppl, ag._tpl._dfp._dataAppl ),
SetOp( ag._dfp._dataClas, ag._tpl._dfp._dataClas ),
SetOp( ag._dfp._mgmtClas, ag._tpl._dfp._mgmtClas ),
SetOp( ag._dfp._storClas, ag._tpl._dfp._storClas )
/*------( Create OMVS segment part of the RACF command ADDGROUP )-----*/
omvs = SetOp( ag._omvs._autogid , ag._tpl._omvs._autogid ),
SetOp( ag._omvs._gid , ag._tpl._omvs._gid ),
SetOp( ag._omvs._gidShared, ag._tpl._omvs._gidShared )
/*------( Create OVM segment part of the RACF command ADDGROUP )------*/
ovm = SetOp( ag._ovm._gid, ag._tpl._ovm._gid )
/*------( Create TME segment part of the RACF command ADDGROUP )------*/
tme = SetOp( ag._tme._roles, ag._tpl._tme._roles )
/*==================( Generate RACF command ADDGROUP )================*/
cmd = Space( SetOp( ag._grpList , ag._tpl._grpList ),
SetOp( ag._at , ag._tpl._at ),
SetOp( ag._onlyAt , ag._tpl._onlyAt ),
SetOp( ag._csdata , ag._tpl._csdata ),
SetOp( ag._data , ag._tpl._data ),
SetOp( ag._model , ag._tpl._model ),
SetOp( ag._owner , ag._tpl._owner ),
SetOp( ag._supGroup , ag._tpl._supGroup ),
SetOp( ag._termuacc , ag._tpl._phrase ),
SetOp( ag._universal, ag._tpl._universal ),
SetOp( Strip( ag._dfp dfp ), ag._tpl._dfp ),
SetOp( Strip( ag._omvs omvs), ag._tpl._omvs ),
SetOp( Strip( ag._ovm ovm ), ag._tpl._ovm ),
SetOp( Strip( ag._tme tme ), ag._tpl._tme ))
Say "ADDGROUP" cmd
Address TSO "ADDGROUP" cmd
Return rc
/**** End Addgroup ****/
Beispiel 1
/* REXX ***************************************************************/ /* Program name: ADDGROUP */ /* Author......: Janosch R(exx) Kowalczyk */ /**********************************************************************/ ag. = '' /* Base data */ ag._grpList = "GPSYSMVS" ag._data = "'MVS-SYSTEMPROGRAMMIERUNG HAUPTGRUPPE'" ag._owner = "GPSYS" ag._supGroup = "GPSYS" /* Segmente */ ag._dfp._dataAppl = "OSSYSAPP" ag._dfp._dataClas = "DCSYSMVS" ag._dfp._mgmtClas = "STANDARD" ag._dfp._storClas = "STANDARD" ag._omvs._autogid = "AUTOGID" ret = AddgroupTpl() rc = Addgroup() Exit /**** End main procedure ****/
Ergebnis 1
ADDGROUP (GPSYSMVS) DATA('MVS-SYSTEMPROGRAMMIERUNG HAUPTGRUPPE') OWNER(GPSYS) SUPGROUP(GPSYS) +
DFP(DATAAPPL(OSSYSAPP) DATACLAS(DCSYSMVS) MGMTCLAS(STANDARD) STORCLAS(STANDARD)) +
OMVS(AUTOGID)
Return code (RC) from ADDGROUP is 0
Beispiel 2
/* REXX ***************************************************************/ /* Program name: ADDGROUP */ /* Author......: Janosch R(exx) Kowalczyk */ /**********************************************************************/ ag. = '' /* Base data */ ag._grpList = "GPTODEL" ag._data = "'BENUTZER ZUM LOESCHEN. QUARANTAENE-GRUPPE'" ag._owner = "GPFUN" ag._supGroup = "GPFUN" ag._universal = "UNIVERSAL" ret = AddgroupTpl() rc = Addgroup() Exit /**** End main procedure ****/
Ergebnis 2
ADDGROUP (GPTODEL) DATA('BENUTZER ZUM LOESCHEN. QUARANTAENE-GRUPPE') OWNER(GPFUN) +
SUPGROUP(GPFUN) UNIVERSAL
Return code (RC) from ADDGROUP is 0