Bonjour,
1- Toujours spécifier le fichier avec
HTrouve sinon il utilise le dernier fichier manipulé (enfin presque).
2- Préférer
hLitRecherchePremier et
HTrouve pour les recherche à l'identique sinon passer par
hLitRecherche et
HEnDehors.
3- Spécifier les clés de parcours dans les hLitxxx :
Hlitsuivant(FICHIER1,IDFICHIER1)Sinon, quand un traitement parcourt un fichier et lance un traitement susceptible d'effectuer de nouveau de parcours ou de modifier son contexte (position mais aussi blocage...), nous avons pris l'habitude de faire travailler le second fichier dans un contexte indépendant... par une source de données branché sur le-dit fichier.
SS est une source de données
pos est un entier
hDeclareExterne(ss,FICHIER1..nomphysique)
HlitrecherchePremier(FICHIER1,IDFICHIER1,VAL1)
TANTQUE htrouve(FICHIER1)
pos = hsauveposition(FICHIER1)
Procedure_Calcul("ss",FICHIER1.IDFICHIER1)
hRetourposition(pos)
Hlitsuivant(FICHIER1,IDFICHIER1)
FIN
hAnnuleDéclaration("ss")
//------------------//
Procedure_Calcul(pcNomSource,idfic)
hlitrecherchePremier(pcNomSource,"IDFICHIER1",idfic)
si hTrouve(pcNomSource) alors
//Traitement avec indirection pcNomCource+rubriques....
fin