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