
Est ce que cette possibilité existe ?
Merci
Code : Tout sélectionner
H nomain
* prototype de la fonction
*
/copy prototypes,quiappel
* corps de la fonction
Pquiappel B export
D PI 10
D niveau 10I 0 const
* variables locales
Dbinaire S 10I 0
DLENTXT S like(binaire)
DSTACK S like(binaire)
DKEY S like(binaire)
DATTENTE S like(binaire)
DCODERR DS
D LGCOD like(binaire) INZ(16)
D LGUTIL like(binaire)
D MSGID 7
D RESERV 1
*
* on envoi un message au programme au-dessus (stack=empilement)
* et on le relit.
* (dans les infos retournées il y a le nom du pgm en 111)
*
* on rajoute 2 pour tenir compte de la place occupée par le pgm
* utilisant lui même la fonction ET de la place du PEP (entry point)
c eval stack = niveau + 2
C CALL 'QMHSNDPM'
C PARM ID 7
C PARM MSGFL 20
C PARM 'peu importe' MSGTXT 10
C PARM 10 LENTXT
C PARM '*INFO ' MSGTYP 10
C PARM '*' PGMQ 10
C PARM STACK
C PARM KEY
C PARM CODERR
C CALL 'QMHRCVPM'
C PARM retour 120
C PARM 120 lentxt
C PARM 'RCVM0200' format 8
C PARM '*' PGMQ 10
C PARM STACK
C PARM '*ANY' MSGTYP
C PARM KEY
C PARM 0 ATTENTE
C PARM '*REMOVE' ACTION 10
C PARM CODERR
c return %subst(retour:111:10)
Pquiappel E