• Subject: Re: Break Messages
  • From: "Dan Bale" <dbale@xxxxxxxxxxx>
  • Date: Thu, 29 Jul 1999 13:54:59 -0400


>>How can I get a listing of all devices a single user profile is
>>signed on to so I can send break messages to all the active
>>devices?  The only thing I can think of is doing a WRKUSRJOB
>>with *ACTIVE as the status to a print file.  Then copying the
>>spool file to a PF and then reading the print file.  Then do
>>a SNDBRKMSG command to the device name.  This seems cumbersome.
>>I sure there has to be a better way?

I wrote a command a while back to do exactly what you're looking to do.  It uses
the QEZSNDMG api.  It takes care of finding all the workstations a user is
signed on to and then sends the message.  It's not very long, so I'll take the
liberty of posting below:

Command Processing Program SNDBMUSRR:

      *  Command input parameters
     Dcmd_msg          s            512a
     Dcmd_date         s              7a
     Dcmd_time         s              6a
     Dcmd_jobq         s             20a
     Dcmd_user         s             10a
      *  QEZSNDMG output parameters
     Dz_msgtype        s             10a   inz('*INFO     ')
     Dz_dlvmode        s             10a   inz('*BREAK    ')
     Dz_msgtext        s            494a
     Dz_msglen         s              8b 0 inz(494)
     Dz_user           s             10a
     Dz_#users         s              8b 0 inz(1)
     Dz_msgsent        s              8b 0
     Dz_fkeyused       s              8b 0
     Dz_errorcode      ds           216
     D  z_ec_#1                       8b 0 inz(216)
     D  z_ec_#2                       8b 0 inz(0)
     D  z_ec_#3                       7a
     D  z_ec_#4                       1a
     D  z_ec_#5                     200a
     Dz_showsamdsp     s              1a   inz('N')
     Dz_inqmsgq        s             20a   inz(' ')
     Dz_nametype       s              4a   inz('*USR')
      *  Program Status Data Structure to retrieve user ID
     Dpsds            sds
     Dpsds_userid            254    263a
     C     *entry        plist
     C                   parm                    cmd_msg
     C                   parm                    cmd_user
     C     qez           plist
     C                   parm                    z_msgtype
     C                   parm                    z_dlvmode
     C                   parm                    z_msgtext
     C                   parm                    z_msglen
     C                   parm                    z_user
     C                   parm                    z_#users
     C                   parm                    z_msgsent
     C                   parm                    z_fkeyused
     C                   parm                    z_errorcode
     C                   parm                    z_showsamdsp
     C                   parm                    z_inqmsgq
     C                   parm                    z_nametype
     C                   movel(p)  cmd_msg       z_msgtext
     C                   if        cmd_user = '*'
     C                   movel(p)  psds_userid   z_user
     C                   else
     C                   movel     cmd_user      z_user
     C                   endif
     C                   call      'QEZSNDMG'    qez
     C                   eval      *inLR = *on

END OF Command Processing Program SNDBMUSRR


             CMD        PROMPT('Send Break Message to User')
             PARM       KWD(MSG) TYPE(*CHAR) LEN(512) PROMPT('Message')
             PARM       KWD(USER) TYPE(*SNAME) DFT(*) SPCVAL((*)) +


| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com

This thread ...

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].