Modèle de trigger (RPG III)

BoTTom |
      *=========== définition des paramètres recus =========================
     IDATA        DS                           9999
     I                                        1  10 FIC
     I                                       11  20 BIB
     I                                       21  30 MBR
     I                                       31  31 EVNT
     I                                       32  32 TIME
     I                                       33  33 LCK
     I                                    B  37  400CCSID
     I                                    B  49  520DEPAV
     I                                    B  53  560LGAV
     I                                    B  65  680DEPAP
     I                                    B  69  720LGAP
     IENREG     E DSARTICLP1                  2
      *=========== variables pour API envoi de messages ===================
     IERRDS       DS                             16
     I I            16                    B   1   40LGDS
     I                                    B   5   80LGERR
     I                                        9  15 MSGID
     IMSGFL       DS
     I I            'QCPFMSG'                 1  10 MSGF
     I I            '*LIBL'                  11  20 MSGL
     I            DS
     I I            'NOM INVALIDE'            1  50 MSGTXT
     I I            50                    B  51  540LENTXT
     I                                       55  64 MSGTYP
     I I            '*PGMBDY'                65  74 PGMQ
     I                                    B  75  780STACK
     I                                    B  79  820KEY
     IPARAM       DS                           9999
     I                                        1   1 FILLER
     IBIN         DS
     I                                    B   1   40LGPARM
      *=========== DEBUT DU PROGRAMME ======================================
     C           *ENTRY    PLIST
     C                     PARM           PARAM
     C                     PARM           BIN
      *
      * mise en place du paramètre reçu
      *
     C           LGPARM    SUBSTPARAM:1   DATA      P
      *
      * mise en place du buffer avant
      *


|
     C           DEPAV     IFNE 0
     C           DEPAV     ADD  1         DEP     50
     C           1         OCUR ENREG
     C           LGAV      SUBSTDATA:DEP  ENREG
     C                     ENDIF
      *
      * mise en place du buffer après
      *
     C           DEPAP     IFNE 0
     C           DEPAP     ADD  1         DEP     50
     C           2         OCUR ENREG
     C           LGAP      SUBSTDATA:DEP  ENREG
     C                     ENDIF
      * placez ici votre test
     C           LIBART    IFEQ ' '
     C                     EXSR ENVMSG
     C                     ENDIF
     C                     MOVE *ON       *INLR
      *
     C           ENVMSG    BEGSR
      *
      * envoi d'un message diagnostic au pgm applicatif
      *
     C                     CALL 'QMHSNDPM'
     C                     PARM 'CPF9898' ID      7
     C                     PARM           MSGFL
     C                     PARM           MSGTXT
     C                     PARM           LENTXT
     C                     PARM '*DIAG'   MSGTYP
     C                     PARM           PGMQ
     C                     PARM 2         STACK
     C                     PARM           KEY
     C                     PARM           ERRDS
      *
      * envoi d'un message escape( erreur) au système
      *
     C                     CALL 'QMHSNDPM'
     C                     PARM 'CPF9898' ID
     C                     PARM           MSGFL
     C                     PARM           MSGTXT
     C                     PARM           LENTXT
     C                     PARM '*ESCAPE' MSGTYP
     C                     PARM           PGMQ
     C                     PARM 1         STACK


|
     C                     PARM           KEY
     C                     PARM           ERRDS
     C                     ENDSR




©AF400