Here is a Clist version, invoked from batch TSO (JCL):
'// ... <job card> ... '
'/*JOBPARM SYSAFF=(<LPAR>) '
'//* '
'//*********************************************************************'
'//* NOTE: NO LINE NUMBERS IN COLS 73-80 ALLOWED, ELSE CLIST FAILS! *'
'//* ¯¯¯¯¯ *'
'//*********************************************************************'
'//* NOTE: 'U' => TSO USERID(S); SPECIFY LIST OF USERIDS UNDER DESTIDS *'
'//* ¯¯¯¯¯ 'C' -> CONSOLE; SPECIFY MASTER ETC. UNDER CONSIDS *'
'//* *'
'//* 04/01/95 CMP *'
'//*********************************************************************'
'//* '
'//* '
'//CLIST EXEC PGM=IKJEFT01, '
'// REGION=512K, '
'//* PARM='%TSOSEND DESTIDS SYSIN USERID' '
'// PARM='%TSOSEND CONSIDS SYSIN CONSOLE' '
'//* '
'//SYSPROC DD DISP=SHR,DSN=<Clist DSN> '
'//SYSTSIN DD DUMMY '
'//SYSTSPRT DD SYSOUT=* '
'//CONSIDS DD * '
'... <master console ID> ... '
'//* '
'//DESTIDS DD * '
'... <userid(s)> ... '
'//SYSIN DD * '
'... <multi-line message> ... '
'... <... ditto etc etc.> ... '
' '
'/* '
'//* '
'// '
MEMBER NAME TSOSEND
PROC 2 DESTLIST MESSAGE DEBUG USERID CONSOLE
/*-------------------------------------------------------------------*/
/* N.B. DEFAULT IS 'NOW' */
/* 'LOGON' -> 'NOW' IF LOGGED ON, ELSE AT LOGON TIME. */
/* 'SAVE' -> ONLY AT NEXT LOGON TIME (OR LISTBC) */
/* */
/* PARMS: DESTLIST DDNAME OF USERS/CONSOLES TO WHOM MESSAGE IS TO */
/* BE SENT - DEFAULT=NONE */
/* MESSAGE: DDNAME OF MESSAGE TEXT TO BE SENT - DEFAULT=NONE */
/* DEBUG: SETS TRACE ON - DEFAULT=OFF */
/* */
/* 13/12/94 CMP - ALLOW SENDING TO USERID(S) OR TO MVS CONSOLE(S) */
/* 17/04/89 CMP */
/*-------------------------------------------------------------------*/
CONTROL: +
CONTROL END(ENDO)
IF &DEBUG = DEBUG | &DEBUG = D THEN +
CONTROL LIST SYMLIST CONLIST MSG ASIS
ELSE +
CONTROL NOLIST NOSYMLIST NOCONLIST NOMSG ASIS
ERROR: +
ERROR DO
SET CC = &LASTCC
IF &CC = 400 THEN RETURN
ELSE DO
WRITE ERROR WITH CONDITION CODE = &CC OCCURRED : INTERRUPT AT LABEL +
'ERROR'
WRITE CLIST RUN ABANDONED
GOTO EXIT
ENDO
ENDO
IF &USERID ¬= THEN SET TO = USER
ELSE IF &CONSOLE ¬= THEN SET TO = CN
ELSE +
WHERE: +
DO
WRITE YOU MUST SPECIFY PARAMETER 'USERID' OR 'CONSOLE'
WRITE
GOTO EXIT
ENDO WHERE
SET SENDTO =
SET K = &&K
SET USREC = &&&DESTLIST
SET MSGREC = &&&MESSAGE
SET MAXCC = 0
OPENFILE &DESTLIST INPUT
GETFILE &DESTLIST
DO I = 0 TO 99 WHILE &MAXCC = 0
SET USER = &USREC
SET J = &SYSINDEX(&STR( ),&USER,1)
SET J = &J - 1
SET USER = &SUBSTR(1:&J,&USER)
SET SENDTO = &STR(&SENDTO&USER,)
GETFILE &DESTLIST
ENDO
CLOSFILE &DESTLIST
IF &I > 0 THEN +
DO
SET LSENDTO = &LENGTH(&STR(&SENDTO)) - 1
SET SENDTO = &SUBSTR(1:&LSENDTO,&STR(&SENDTO))
SET MSG = &&MSG
SET MAXCC = 0
OPENFILE &MESSAGE INPUT
GETFILE &MESSAGE
DO J = 1 TO 99 WHILE &MAXCC = 0
SET MSG&J = &SUBSTR(1:71,&MSGREC)
SET K0 = 1
DO I = 1 TO 99 WHILE &K&EVAL(&I-1) > 0
SET K&I = &SYSINDEX(&STR('),&STR(&MSG&J),&K&EVAL(&I-1))
IF &K&I > 0 THEN SET K&I = &K&I + 1
ENDO
DO L = &I-2 TO 1 BY -1 WHILE &K&L > 0
SET MSG&J = &SUBSTR(1:&K&L-1,&STR(&MSG&J))&STR(')+
&SUBSTR(&K&L:&LENGTH(&STR(&MSG&J)),&STR(&MSG&J))
ENDO
GETFILE &MESSAGE
ENDO
SET J = &J - 1
DO I = 1 TO &J
SEND '&MSG&I' +
&TO(&STR(&SENDTO)) LOGON
ENDO
ENDO
EXIT: +
EXIT CODE(0)
On 08/06/2018 11:36, saurabh khandelwal wrote:
> Hello Group,
>
> In this below REXX, I want to send message only to operator AG54 but, not
> sure why this send command sending message to all users in system , not
> only AG54.
>
> I checked syntax for this send command but result is same,
>
>
>
>
>
> EDIT NETVIEW.CNMCLST(FAIREXX1) - 01.14
>
> ****** ***************************** Top of Data ********
>
> 000100 /* REXX */
>
> 000120 parse arg mtxt . mtxt
>
> 000240 say 'AG54LST Job STARTED at' mtxt
>
> 000500 mvs "send 'AG54LST JOB "mtxt"' user(AG54) now"
>
> 000600 exit
>
> ****** **************************** Bottom of Data ******
>
> Can you please help.
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
> .
>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN