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 |