Solution 1 : Envoi à plusieurs files d'attente de messages
Nous avons testé cette fonction qui est bien éxécutée.
Le CL testé est le suivant :
PGM PARM(&PARM1 &PARM2)
DCL VAR(&PARM1) TYPE(*CHAR) LEN(10)
DCL VAR(&PARM2) TYPE(*CHAR) LEN(10)
SNDMSG MSG('test snd') TOMSGQ(&PARM1 &PARM2)
&parm1 et &parm2 sont les nom des
files d’attente de message destinataires.
Solution 2 : Envoi à plusieurs profils utilisateurs
Cette solution consiste à adresser directement le message au profil des utilisateurs.
Voici un cas d’envoi de message à plusieurs utilisateurs.
Dans ce cas, il faut exécuter l’instruction SNDMSG autant de fois qu’il ya d’utilisateurs destinataires.
Les profils destinataires sont pris dans une data area. On pourrait tout aussi bien les prendre dans un fichier.
PGM
DCL VAR(&MSG) TYPE(*CHAR) LEN(80)
DCL VAR(&POS) TYPE(*DEC) LEN(5) VALUE(1)
DCL VAR(&PRFDPX) TYPE(*CHAR) LEN(100)
DCL VAR(&PRFDP) TYPE(*CHAR) LEN(10)
/* CHARGE LE TEXTE DU MESSAGE */
CHGVAR VAR(&MSG) VALUE('TEXTE DU MESSAGE')
/* CHARGE LE TABLEAU DES UTILISATEURS CONTENU DANS LA DATA AREA 'VARSTS' */
RTVDTAARA DTAARA(VARSTS (313 100)) RTNVAR(&PRFDPX)
/* POSITION DU PREMIER PROFIL A TRAITER */
CHGVAR VAR(&POS) VALUE(1)
/* BOUCLE DE TRAITEMENT */
DO
EBDO:
IF COND(&POS *GT 91) THEN(GOTO FINPGM)
IF COND((%SST(&PRFDPX &POS 10)) *NE ' ') THEN(DO)
CHGVAR VAR(&PRFDP) VALUE(%SST(&PRFDPX &POS 10))
SNDMSG MSG(&MSG) TOUSR(&PRFDP)
MONMSG MSGID(CPF0000)
ENDDO
CHGVAR VAR(&POS) VALUE(&POS + 10)
GOTO CMDLBL(DEBDO)
ENDDO
FINPGM:
ENDPGM
Nous conseillons la seconde solution qui est plus précise car les destinataires sont identifiés par leur profil
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.