Comment parcourir un fichier HF7 sans s arrêter sur les enregistrements bloques ?
Lorsque l on fait une boucle HLitPremier / TANTQUE pas HEnDehors / HLitSuivant, si un des enregistrements à lire est bloque en lecture/ecriture par un autre poste, la boucle se stoppe avec le message "Reessayer/Annuler". "Annuler" dans ce cas stop le traitement.
Alors comment parcourir la suite du fichier en sautant l enregistrement bloque :
Voici un exemple :
HLitPremier(TBLOCAGE,IDTBLOCAGE)
SI HErreurBlocage() ALORS
HPremier(TBLOCAGE,IDTBLOCAGE)
FIN
TANTQUE PAS HEnDehors()
// Traitement de l enregistrement ...
HLitSuivant(TBLOCAGE,IDTBLOCAGE)
SI HErreurBlocage() ALORS
HSuivant(TBLOCAGE,IDTBLOCAGE)
FIN
FIN
ATTENTION : pour que la fonction de lecture qui rencontre l enregistrement bloque n affiche pas "Reessayer/Annuler", il faut capture l erreur avec HSurErreur(FICHIER,hErrBlocage,"SurErreurBlocage").
La procedure "SurErreurBlocage" doit simplement faire "RENVOYER opAnnuler"