ADD-Examples
Example of ADD function parameters syntax shows an example of the syntax for the ADD function parameters.
EXEC showing the ADD function with stem variables
/* REXX--------------------------------------------------------*/
/* */
/* A sample EXEC that will add a new object to the definition */
/* base named in the TOMEXEC FUNC(ADD) statement below. */
/* */
/* The new object will have one entry in the valid system list,*/
/* one start event, one stop event, one start command and one */
/* stop command defined. */
/* */
/*-------------------------------------------------------------*/
PARSE UPPER ARG EXECNAME FILLER
DROP LINE.
LINE.PRODUCT = 'STM'
LINE.STM.NAME = 'MAMKZ021'
LINE.HOSTS.0 = '1'
LINE.HOSTS.1.SYSNAME = 'SJSC'
LINE.START.0 = '1'
LINE.START.1.CMD = 'S AAO,JOBNAME=MAMKZ021'
LINE.START.1.MAX = '3'
LINE.START.1.TIMEOUT = '60'
LINE.START.1.TYPE = 'MVS'
LINE.STOP.0 = '1'
LINE.STOP.1.CMD = 'P MAMKZ021'
LINE.STOP.1.TIMEOUT = '60'
LINE.STOP.1.TYPE = 'MVS'
LINE.STM.STARTEVT.0 = '1'
LINE.STM.STARTEVT.1.ID = 'IEF403I'
LINE.STM.STARTEVT.1.ORGINSTC = '&@STCNAME'
LINE.STM.STARTEVT.1.TYPE = 'MSG'
LINE.STM.STOPEVT.0 = '1'
LINE.STM.STOPEVT.1.ID = 'IEF404I'
LINE.STM.STOPEVT.1.ORGINSTC = '&@STCNAME'
LINE.STM.STOPEVT.1.TYPE = 'MSG'
'TOMEXEC FUNC(ADD) OBJECT('MAMKZ021') STEM(LINE) DEFBASE(NEWDB)'
'IMFEXEC MSG 'Return code for ADD is 'TOMRC'''
/*-------------------------------------------------------------*/
/* */
/* This section will report on any exception messages issued */
/* by the ADD function that was just issued. */
/* */
/*-------------------------------------------------------------*/
IF TOMRC /= 0 THEN
DO I=1 TO LINE.EXCEPT.0
'IMFEXEC MSG ''LINE.EXCEPT.I'''
END
'IMFEXEC EXIT CODE('TOMRC')'
/* */
/* A sample EXEC that will add a new object to the definition */
/* base named in the TOMEXEC FUNC(ADD) statement below. */
/* */
/* The new object will have one entry in the valid system list,*/
/* one start event, one stop event, one start command and one */
/* stop command defined. */
/* */
/*-------------------------------------------------------------*/
PARSE UPPER ARG EXECNAME FILLER
DROP LINE.
LINE.PRODUCT = 'STM'
LINE.STM.NAME = 'MAMKZ021'
LINE.HOSTS.0 = '1'
LINE.HOSTS.1.SYSNAME = 'SJSC'
LINE.START.0 = '1'
LINE.START.1.CMD = 'S AAO,JOBNAME=MAMKZ021'
LINE.START.1.MAX = '3'
LINE.START.1.TIMEOUT = '60'
LINE.START.1.TYPE = 'MVS'
LINE.STOP.0 = '1'
LINE.STOP.1.CMD = 'P MAMKZ021'
LINE.STOP.1.TIMEOUT = '60'
LINE.STOP.1.TYPE = 'MVS'
LINE.STM.STARTEVT.0 = '1'
LINE.STM.STARTEVT.1.ID = 'IEF403I'
LINE.STM.STARTEVT.1.ORGINSTC = '&@STCNAME'
LINE.STM.STARTEVT.1.TYPE = 'MSG'
LINE.STM.STOPEVT.0 = '1'
LINE.STM.STOPEVT.1.ID = 'IEF404I'
LINE.STM.STOPEVT.1.ORGINSTC = '&@STCNAME'
LINE.STM.STOPEVT.1.TYPE = 'MSG'
'TOMEXEC FUNC(ADD) OBJECT('MAMKZ021') STEM(LINE) DEFBASE(NEWDB)'
'IMFEXEC MSG 'Return code for ADD is 'TOMRC'''
/*-------------------------------------------------------------*/
/* */
/* This section will report on any exception messages issued */
/* by the ADD function that was just issued. */
/* */
/*-------------------------------------------------------------*/
IF TOMRC /= 0 THEN
DO I=1 TO LINE.EXCEPT.0
'IMFEXEC MSG ''LINE.EXCEPT.I'''
END
'IMFEXEC EXIT CODE('TOMRC')'
Example of ADD function parameters syntax
TOMEXEC FUNC(ADD) OBJECT(VALOBJ1) STEM(LINE) TOMID(TOMV2) DEFBASE(DEFAULT) SYSPLEX(BBPLEX01)
TOMEXEC FUNCTION(ADD) TOMID(TOMV2) SYSPLEX(BBPLEX01) STEM(LINE) SYSLAYER(VALSYSLAYER1)
TOMEXEC FUNCTION(ADD) TOMID(TOMV2) SYSPLEX(BBPLEX01) STEM(LINE) PLEXLAYER(VALPLEXLAYER1)
TOMEXEC FUNCTION(ADD) TOMID(TOMV2) SYSPLEX(BBPLEX01) STEM(LINE) LAYERPLEX(VALLYPX1)
TOMEXEC FUNCTION(ADD) TOMID(TOMV2) SET(VALSET01) SYSPLEX(BBPLEX01) STEM(SET)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CAL) DAY(VALWED) SYSPLEX(BBPLEX01)
CALBASE(DEFAULTCAL)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CAL) TIME(SHIFT1) SYSPLEX(BBPLEX01)
CALBASE(DEFAULTCAL)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CAL) PERIOD(PER1) SYSPLEX(BBPLEX01)
CALBASE(DEFAULTCAL)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CAL) CALSET(VALCALSET1) SYSPLEX(BBPLEX01)
CALBASE(DEFAULTCAL)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CALBASE) CALBASE(VALCALBASE9) SYSPLEX(BBPLEX01)
TOMEXEC FUNCTION(ADD) TOMID(TOMV2) SYSPLEX(BBPLEX01) STEM(LINE) SYSLAYER(VALSYSLAYER1)
TOMEXEC FUNCTION(ADD) TOMID(TOMV2) SYSPLEX(BBPLEX01) STEM(LINE) PLEXLAYER(VALPLEXLAYER1)
TOMEXEC FUNCTION(ADD) TOMID(TOMV2) SYSPLEX(BBPLEX01) STEM(LINE) LAYERPLEX(VALLYPX1)
TOMEXEC FUNCTION(ADD) TOMID(TOMV2) SET(VALSET01) SYSPLEX(BBPLEX01) STEM(SET)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CAL) DAY(VALWED) SYSPLEX(BBPLEX01)
CALBASE(DEFAULTCAL)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CAL) TIME(SHIFT1) SYSPLEX(BBPLEX01)
CALBASE(DEFAULTCAL)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CAL) PERIOD(PER1) SYSPLEX(BBPLEX01)
CALBASE(DEFAULTCAL)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CAL) CALSET(VALCALSET1) SYSPLEX(BBPLEX01)
CALBASE(DEFAULTCAL)
TOMEXEC FUNC(ADD) TOMID(TOMV2) STEM(CALBASE) CALBASE(VALCALBASE9) SYSPLEX(BBPLEX01)
Additional REXX examples
The following example shows how to convert the TOD EBCDIC value from a local variable such as LINE.OPRNOTE.n.TOD into a readable value:
/* REXX------------------------------------------------------*/
/* */
/* A sample EXEC that uses the IPCS BLSUXTOD service to */
/* convert timer units. The result will be returned in */
/* Greenwich Mean Time. */
/* */
/* Example: */
/* */
/* D17D28A5165842CA yields 10/13/2016 17:15:28.399748 */
/* */
/*-----------------------------------------------------------*/
PARSE UPPER ARG EXECNAME TUNITS FILLER
TUNITS = X2C(TUNITS)
TIMESTAMP = COPIES(0,26) /* force result length=26 */
ADDRESS LINKPGM 'BLSUXTOD TUNITS TIMESTAMP'
SAY TIMESTAMP
EXIT
/* */
/* A sample EXEC that uses the IPCS BLSUXTOD service to */
/* convert timer units. The result will be returned in */
/* Greenwich Mean Time. */
/* */
/* Example: */
/* */
/* D17D28A5165842CA yields 10/13/2016 17:15:28.399748 */
/* */
/*-----------------------------------------------------------*/
PARSE UPPER ARG EXECNAME TUNITS FILLER
TUNITS = X2C(TUNITS)
TIMESTAMP = COPIES(0,26) /* force result length=26 */
ADDRESS LINKPGM 'BLSUXTOD TUNITS TIMESTAMP'
SAY TIMESTAMP
EXIT
The following example is a REXX EXEC to add a calendar set that has two day entries and one time and period entry:
/* REXX */
DROP CAL. /* DROP ALL STEM VARIABLES FIRST */
/* CALENDAR Definitions */
CAL.CALENDAR.SET.DAY.0 = '2'
CAL.CALENDAR.SET.TIME.0 = '1'
CAL.CALENDAR.SET.PERIOD.0 = '1'
CAL.CALENDAR.SET.DAY.1 = 'DLY'
CAL.CALENDAR.SET.DAY.2 = 'MON'
CAL.CALENDAR.SET.TIME.1 = 'KEN1 Test'
CAL.CALENDAR.SET.PERIOD.1 = 'FirstSh'
'TOMEXEC FUNCTION(ADD) STEM(CAL) CALSET(calset1) '
SAY 'TOMRC= 'TOMRC
SAY 'CAL.EXCEPT.0= 'CAL.EXCEPT.0
DO I=1 TO CAL.EXCEPT.0
SAY 'CAL.EXCEPT.'I' = 'CAL.EXCEPT.I
END
DROP CAL. /* DROP ALL STEM VARIABLES FIRST */
/* CALENDAR Definitions */
CAL.CALENDAR.SET.DAY.0 = '2'
CAL.CALENDAR.SET.TIME.0 = '1'
CAL.CALENDAR.SET.PERIOD.0 = '1'
CAL.CALENDAR.SET.DAY.1 = 'DLY'
CAL.CALENDAR.SET.DAY.2 = 'MON'
CAL.CALENDAR.SET.TIME.1 = 'KEN1 Test'
CAL.CALENDAR.SET.PERIOD.1 = 'FirstSh'
'TOMEXEC FUNCTION(ADD) STEM(CAL) CALSET(calset1) '
SAY 'TOMRC= 'TOMRC
SAY 'CAL.EXCEPT.0= 'CAL.EXCEPT.0
DO I=1 TO CAL.EXCEPT.0
SAY 'CAL.EXCEPT.'I' = 'CAL.EXCEPT.I
END
Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*