RTNDTA
12 Janvier 2007 , Rédigé par Milan Publié dans #Rpg
* Mise à jour d'un fichier physique
* avec relecture du fichier écran (RTNDTA)
* pour un blocage minimum des enrgts.
*
*
Fclientp uf a e k disk
Ftest010d cf e workstn
Dbouclew s n
/free
write ecran01; // Fond 1° affichage.
dou bouclew; // Boucle 1.
exfmt ecranw1; // Fenetre ou l'on saisi
if *inkc or *inkl; // saisi la clé du fichier.
exsr srfin; // Fin
endif;
idclient=codew;
chain(n) idclient clientf; // Lect. non bloquante
if not %found(clientp); // L'enregt existe-t'il ?
clear *nokey clientf; // Remise à blanc
*in21=*on; // "Création"
else;
*in21=*off; // "Modification"
endif;
messw=*blanks;
dou bouclew; // Boucle 2
exfmt ecran02; // Ecran de saisie
if *inkc;
exsr srfin; // Fin
endif;
if *inkl;
leave; // Ecran précédent
endif;
monitor; // Mise à jour monitorée du fichier
if not %found(clientp);
write clientf;
messw=idclient+' créé';
else;
if *inkx;
delete idclient clientf;
messw=idclient+' supprimé';
else;
chain idclient clientf;
read ecran02; // RTNDTA
update clientf;
messw=idclient+' modifié';
endif;
endif;
on-error *file;
messw='Opération NON effectue, recommencez svp !';
endmon;
leave;
enddo;
enddo;
// S o u s - p r o g r a m m e ( s )
begsr srfin;
*inlr=*on;
return;
endsr;
/image%2F1025633%2F20151122%2Fob_b0e74c_pam007i.png)