DCL &MSG *CHAR 132
DCL &SENDER *CHAR 80
/* Envoi d’un message bidon au programme précédent en récupérant l’identifiant */
SNDPGMMSG MSG(COUCOU)
RCVMSG PGMQ(*PRV) MSGTYPE(*LAST) MSG(&MSG) SENDER(&SENDER)
/* &SENDER me donne à la position 56 sur 10 de long le programme qui a reçu le
message */
/* et en continuant ainsi on peut connaître aussi le programme précédant */
SNDPGMMSG MSG(COUCOU) TOPGMQ(*PRV (%SST(&SENDER 56 10)))
RCVMSG PGMQ(*PRV (%SST(&SENDER 56 10))) +
MSGTYPE(*LAST) MSG(&MSG) SENDER(&SENDER)
Il y a un risque de bouclage dans le cas d’appel de programme récursif (problème
inexistant dans le programme MI, qui donne la liste d’appel des programmes (DSPJOB Option
11).