Skip to content

Instantly share code, notes, and snippets.

@ibmiiste
Created May 13, 2016 11:17
Show Gist options
  • Save ibmiiste/eafdabea100ac01593ed2cafe825713b to your computer and use it in GitHub Desktop.
Save ibmiiste/eafdabea100ac01593ed2cafe825713b to your computer and use it in GitHub Desktop.
// Option de compilation et de programme
/If Defined(*CRTBNDRPG )
ctl-opt actgrp(*caller);
ctl-opt DftActGrp(*No);
/endif
ctl-opt option(*nodebugio:*srcstmt) datedit(*ymd);
ctl-opt bnddir('SERVICE');
// Prototype des modules centralisés programmes de services BESAIF/BESAIFSRV
/copy qcpysrc,prbmod000r
// program status data structure
// structure information programme
/copy qcpysrc,psds
// inherited variables
// héritage des types
/copy qcpysrc,inh32766
//=========== définition des paramètres recus =========================
Dcl-ds data;
fichier char(10);
biblio char(10);
membre char(10);
evenem char(1);
moment char(1);
niv_verrou char(1);
filler1 char(3);
ccsid bindec(9:0);
filler2 char(8);
// enregistrement avant déplacement et longueur
dep_enrav bindec(9:0);
lg_enrav bindec(9:0);
// description enregistrement avant déplacement et longueur
dep_desav bindec(9:0);
lg_desav bindec(9:0);
// enregistrement après (idem)
dep_enrap bindec(9:0);
lg_enrap bindec(9:0);
dep_desap bindec(9:0);
lg_desap bindec(9:0);
filler3 char(16);
variable char(9900);
end-ds;
Dcl-s dep bindec(9:0);
Dcl-ds enregav EXTNAME('TEVVP') qualified end-ds;
Dcl-ds enregap EXTNAME('TEVVP') qualified end-ds;
//=========== variables pour API envoi de messages ===================
Dcl-ds ERRDS;
LGDS bindec(4:0) inz(16);
LGERR bindec(4:0);
MSGID char(7);
RESERV char(1);
end-ds;
dcl-ds MSGFL;
MSGF char(10) INZ('QCPFMSG');
MSGL char(10) INZ('*LIBL');
end-ds;
dcl-s ID char(7) INZ('CPF9898');
dcl-s MSGTXT char(50) INZ('<-- texte de votre message -->');
Dcl-s LENTXT bindec(9:0) INZ(50);
Dcl-s MSGTYP char(10);
Dcl-s PGMQ char(10) INZ('*PGMBDY');
Dcl-s STACK bindec(9:0);
Dcl-s KEY bindec(9:0);
//=========== DEBUT DU PROGRAMME ======================================
dcl-pr intercep_540_520 extpgm('TRG540520');
param char(9999);
lgparam bindec(9:0);
end-pr;
dcl-pi intercep_540_520;
param char(9999);
lgparam bindec(9:0);
end-pi;
dcl-pr env_msg end-pr;
//
// mise en place du paramètre reçu
//
data = %subst(param:1:lgparam);
//
// mise en place du buffer avant
//
if dep_enrav <> 0;
dep = dep_enrav + 1;
enregav = %subst(data:dep:lg_enrav);
endif;
//
// mise en place du buffer après
//
if dep_enrap <> 0;
dep = dep_enrap + 1;
enregap = %subst(data:dep:lg_enrap);
endif;
// placez ici votre test
if enregav.cevemt='540'
and enregap.cevemt='520';
env_msg();
endif;
*inlr = *on;
//
dcl-proc env_msg;
dcl-pi env_msg END-PI;
//
// envoi d'un message diagnostic au pgm applicatif
//
dump(a);
gest_erreur();
//
// envoi d'un message diagnostic au pgm applicatif
//
end-proc env_msg;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment