CPP pour ADDVLDLE (Ajout d'une entrée à *VLDL)

BoTTom |
     Did_ds            ds
     D   idlen                       10I 0 inz(%len(id))
     D   idccsid                     10I 0 inz(297)
     D   id                          20
     Ddata_ds          ds
     D   datalen                     10I 0 inz(%len(data))
     D   dataccsid                   10I 0 inz(0)
     D   data                        20
     Dinfo_ds          ds
     D   infolen                     10I 0 inz(%len(info))
     D   infoccsid                   10I 0 inz(0)
     D   info                        50
     Dattribut_ds      ds
     d   nbattributs                 10I 0 inz(0)
     d*  attribut01
     d    attributlen                10I 0 inz(64)
     d    attributloc                10I 0 inz(0)
     d    attributtyp                10I 0 inz(0)
     d    atridoffset                10I 0 inz(29)
     d    atridlen                   10I 0 inz(%size(atrid))
     d    atrdaoffset                10I 0 inz(45)
     d    atrdalen                   10I 0 inz(%size(atrda))
     d    atrid                      16    inz('QsyEncryptData')
     d    atrda                      20
     d      adatacsid                10I 0 inz(-1)           overlay(atrda)
     d      adatalen                 10I 0 inz(%size(adata)) overlay(atrda:5)
     d      areserve                  8                      overlay(atrda:9)
     d      adata                     1    inz('0')          overlay(atrda:17)
 
      * varibales pour envoi de messages
     DCODERR           DS
     D  LGCOD                        10I 0 INZ(16)
     D  LGUTIL                       10I 0
     D  MSGID                         7
     D  RESERV                        1
 
     dtypemsg          DS
     D  infom                        10    inz('*INFO')
     D  comp                         10    inz('*COMP')
     D  diag                         10    inz('*DIAG')
     D  escape                       10    inz('*ESCAPE')
     Dnbtyp                          10I 0 inz(4)
     Dpgmq                           10    inz('*PGMBDY')
     Dstack                          10I 0 inz(1)


|
 
     C     *entry        PLIST
     C                   PARM                    vldl             20
     C                   PARM                    id_p             20
     C                   PARM                    data_p           20
     C                   PARM                    info_p           50
 
     c                   eval      id = id_p
     c                   eval      idlen = %len(%trimr(id))
     c                   eval      data = data_p
     c                   eval      info = info_p
     c                   eval      lgcod = 0
 
     C                   call      'QSYADVLE'                           50
      * nom de la vlvl
     C                   parm                    vldl
      * clef (précédé du nombre d'entrée, ici = 1)
     C                   parm                    id_ds
      * data (précédé du nombre d'entrée, ici = 1)
     C                   parm                    data_ds
     C                   parm                    info_ds
     C                   parm                    attribut_ds
     c                   parm                    coderr
 
     c                   eval      lgcod = 16
     c                   call      'QMHMOVPM'
     c                   parm                    cle               4
     c                   parm                    typemsg
     c                   parm                    nbtyp
     c                   parm                    pgmq
     c                   parm                    stack
     c                   parm                    coderr
     c                   eval      *inlr = *on




©AF400