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 des Solutions Cloud & Services Managés Simplifiés
Comment capitaliser sur son existant tout en bénéficiant, dès à présent, des promesses de flexibilité et de scalabilité du cloud ? Découvrez les bonnes pratiques pour répondre aux défis de simplification du Cloud dans ce nouveau TOP 5.