PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV (earlier versions) → HRAZ(nomfichier) capricieux
HRAZ(nomfichier) capricieux
Started by leline, Dec., 07 2022 5:36 PM - 6 replies
Posted on December, 07 2022 - 5:36 PM
Bonjour à tous ..

Je suis en windev27 103n

Nous avons un comportement bizarre chez un client sur un fichier en particulier lorsqu'on fait un HRAZ(nomdufichier).

Suite au traitement on fait une recherche avec un Hcontruitcle
HLitRecherche(monfichier, maclé, HConstruitValClé(monfichier, maclé, cdt1, cdt2, cdt3, cdt4))
SI HTrouve(monfichier) _ET_ PAS HEnDehors(monfichier) ALORS
....
HModifie(monfichier)
SINON
valeur en débug de monfichier avant:
MonFichier ANC="2023" CODAG="EHPAD012" NJO="" POS3="" NBH3=0 NBHNS3=0 NBHND3=0 NBHN3=0 NBHNN=0 NBHNI=0 NBHNN2=0 NBHNI2=0 NBHNN3=0 NBHNI3=0 ENT=0 Maclé=02023EHPAD012


HRAZ(monfichier)

valeur en débug de monfichier après :
MonFichier ANC="H|ðœ" CODAG="G}Pìõ<18>C<EOT>œ" NJO="<>|þ" POS3="[€" NBH3=0.000000000000000000000744037 NBHNS3=-0.00416055 NBHND3=- 234 126 000 000 000 000 NBHN3=-0.0000000000000000000000000000000000142983 NBHNN=5 005 790 000 000 NBHNI=-0.00415681 NBHNN2=13 921 000 000 NBHNI2=6 167 720 000 000 000 000 000 000 000 000 000 NBHNN3=13 015 600 000 NBHNI3=-1.31439 ENT=183 Maclé=·H|ðœG}Pìõ<18>C<EOT>œ<>|þ

...
Hajoute(monfichier)

Avez-vous déjà rencontré ce cas de figure ???
J'ai réparé le fichier, supprimé les index et recréé .. rien n'y fait
En fermant le fichier avant le HLitrecherche .. idem

Le pire est qu'à d'autre endroit du projet on fait exactement pareil et le résultat est cohérent ...

HELP ... merci pour toute l'aide que vous pourriez m'apporter
Registered member
286 messages
Popularité : +24 (28 votes)
Posted on December, 07 2022 - 8:06 PM
Bonsoir
Quelles sont les valeurs affectées au fichier après le HRAZ avant le HAjoute ?
Quelles sont les fonctions utilisées après le HRAZ et avant le HAjoute ?
Il serait intéressant de les 'tracées' ;-)
Message modified, December, 07 2022 - 8:06 PM
Posted on December, 08 2022 - 4:38 PM
Bonjour,

Les valeurs affectées au fichier sont celles de l'enregistrement à créer.
Je renseigne les différentes rubriques nécessaire (pas toutes) avec les valeurs pour ce nouvel enregistrement.

Pour contourner le soucis, toutes les rubriques ont été valorisées soit par la valeur initiale qu'il aurait du avoir suite au HRAZ(), soit par celle saisie par l'utilisateur.

Pas de fonction utilisé entre le HRAZ() et le HAJOUTE() - uniquement :
monfichier.ANC= valANC
nomfichier.CODAG = valCODAG
...
Après le Hajoute(), l'enregistrement se trouve correctement renseigné avec cette solution.

Initialement, le code alimentait uniquement les rubriques nécessaires, vu que les autres devait être initialisée avec la valeur initial du fichier. Cela fonctionne avec les bases des autres établissements, mais pas avec celui-ci.
Pour celle nom alimenté par : monfichier.rubrique= val, elle prenne ces valeurs erronées résultant du HRAZ() > " POS3="[€" NBH3=0.000000000000000000000744037

Le fichier concerné aurait-il un pet ? Quelle solution - à part transférer les données de ce fichier dans un fichier recréé à vide - en espérant que cela fonctionne ? D'où peut venir le soucis qui a provoque cela ?

Suite au Hlitrecherche(....) sur condition non trouvé - avant HRAZ(), la valeur du fichier est :
POSITION3 ANC="2022" CODAG="147 " NJO="008" POS3="" NBH3=0 NBHNS3=0 NBHND3=0 NBHN3=0 NBHNN=0 NBHNI=0 NBHNN2=0 NBHNI2=0 NBHNN3=0 NBHNI3=0 ENT=0 CLEPOS3=<0>2022147 008

Après HRAZ() - avant alimentation des rubriques :
POSITION3 ANC="H|ðœ" CODAG="G}Pìõ<18>C<EOT>œ" NJO="<>|þ" POS3="[€" NBH3=0.000000000000000000000744037 NBHNS3=-0.00416055 NBHND3=- 234 126 000 000 000 000 NBHN3=-0.0000000000000000000000000000000000142983 NBHNN=5 005 790 000 000 NBHNI=-0.00415681 NBHNN2=13 921 000 000 NBHNI2=6 167 720 000 000 000 000 000 000 000 000 000 NBHNN3=13 015 600 000 NBHNI3=-1.31439 ENT=183 CLEPOS3=·H|ðœG}Pìõ<18>C<EOT>œ<>|þ

Après alimentation des rubriques (code initial sans valoriser toutes les rubriques - avant Hajoute() :
POSITION3 ANC="2022" CODAG="125 " NJO="031" POS3="[€" NBH3=0.000000000000000000000744037 NBHNS3=-0.00416055 NBHND3=- 234 126 000 000 000 000 NBHN3=-0.0000000000000000000000000000000000142983 NBHNN=5 NBHNI=4 NBHNN2=13 921 000 000 NBHNI2=6 167 720 000 000 000 000 000 000 000 000 000 NBHNN3=13 015 600 000 NBHNI3=-1.31439 ENT=0 CLEPOS3=<0>2022125 031

Après Hajoute() :
POSITION3 ANC="2022" CODAG="125 " NJO="031" POS3="[€" NBH3=0.000000000000000000000744037 NBHNS3=-0.00416055 NBHND3=- 234 126 000 000 000 000 NBHN3=-0.0000000000000000000000000000000000142983 NBHNN=5 NBHNI=4 NBHNN2=13 921 000 000 NBHNI2=6 167 720 000 000 000 000 000 000 000 000 000 NBHNN3=13 015 600 000 NBHNI3=-1.31439 ENT=0 CLEPOS3=<0>2022125 031

Avec une autre base de données , nous n'avons pas ce phénomène, d'où l'interrogation que le fichier a surement un pet ...
Maintenant à quoi c'est du ? Si vous avez une idée ou une solution évitant de modifier tout le code du projet afin de forcer l'initialisation des champs .. je suis preneuse.. :)

Merci d'avance pour toute l'aide apportée
Posted on December, 08 2022 - 4:39 PM
Bonjour,

Les valeurs affectées au fichier sont celles de l'enregistrement à créer.
Je renseigne les différentes rubriques nécessaire (pas toutes) avec les valeurs pour ce nouvel enregistrement.

Pour contourner le soucis, toutes les rubriques ont été valorisées soit par la valeur initiale qu'il aurait du avoir suite au HRAZ(), soit par celle saisie par l'utilisateur.

Pas de fonction utilisé entre le HRAZ() et le HAJOUTE() - uniquement :
monfichier.ANC= valANC
nomfichier.CODAG = valCODAG
...
Après le Hajoute(), l'enregistrement se trouve correctement renseigné avec cette solution.

Initialement, le code alimentait uniquement les rubriques nécessaires, vu que les autres devait être initialisée avec la valeur initial du fichier. Cela fonctionne avec les bases des autres établissements, mais pas avec celui-ci.
Pour celle nom alimenté par : monfichier.rubrique= val, elle prenne ces valeurs erronées résultant du HRAZ() > " POS3="[€" NBH3=0.000000000000000000000744037

Le fichier concerné aurait-il un pet ? Quelle solution - à part transférer les données de ce fichier dans un fichier recréé à vide - en espérant que cela fonctionne ? D'où peut venir le soucis qui a provoque cela ?

Suite au Hlitrecherche(....) sur condition non trouvé - avant HRAZ(), la valeur du fichier est :
POSITION3 ANC="2022" CODAG="147 " NJO="008" POS3="" NBH3=0 NBHNS3=0 NBHND3=0 NBHN3=0 NBHNN=0 NBHNI=0 NBHNN2=0 NBHNI2=0 NBHNN3=0 NBHNI3=0 ENT=0 CLEPOS3=<0>2022147 008

Après HRAZ() - avant alimentation des rubriques :
POSITION3 ANC="H|ðœ" CODAG="G}Pìõ<18>C<EOT>œ" NJO="<>|þ" POS3="[€" NBH3=0.000000000000000000000744037 NBHNS3=-0.00416055 NBHND3=- 234 126 000 000 000 000 NBHN3=-0.0000000000000000000000000000000000142983 NBHNN=5 005 790 000 000 NBHNI=-0.00415681 NBHNN2=13 921 000 000 NBHNI2=6 167 720 000 000 000 000 000 000 000 000 000 NBHNN3=13 015 600 000 NBHNI3=-1.31439 ENT=183 CLEPOS3=·H|ðœG}Pìõ<18>C<EOT>œ<>|þ

Après alimentation des rubriques (code initial sans valoriser toutes les rubriques - avant Hajoute() :
POSITION3 ANC="2022" CODAG="125 " NJO="031" POS3="[€" NBH3=0.000000000000000000000744037 NBHNS3=-0.00416055 NBHND3=- 234 126 000 000 000 000 NBHN3=-0.0000000000000000000000000000000000142983 NBHNN=5 NBHNI=4 NBHNN2=13 921 000 000 NBHNI2=6 167 720 000 000 000 000 000 000 000 000 000 NBHNN3=13 015 600 000 NBHNI3=-1.31439 ENT=0 CLEPOS3=<0>2022125 031

Après Hajoute() :
POSITION3 ANC="2022" CODAG="125 " NJO="031" POS3="[€" NBH3=0.000000000000000000000744037 NBHNS3=-0.00416055 NBHND3=- 234 126 000 000 000 000 NBHN3=-0.0000000000000000000000000000000000142983 NBHNN=5 NBHNI=4 NBHNN2=13 921 000 000 NBHNI2=6 167 720 000 000 000 000 000 000 000 000 000 NBHNN3=13 015 600 000 NBHNI3=-1.31439 ENT=0 CLEPOS3=<0>2022125 031

Avec une autre base de données , nous n'avons pas ce phénomène, d'où l'interrogation que le fichier a surement un pet ...
Maintenant à quoi c'est du ? Si vous avez une idée ou une solution évitant de modifier tout le code du projet afin de forcer l'initialisation des champs .. je suis preneuse.. :)

Merci d'avance pour toute l'aide apportée
Registered member
286 messages
Popularité : +24 (28 votes)
Posted on December, 08 2022 - 6:51 PM
Bonsoir
Après le HAjoute votre fichier contient-il les valeurs assignées ?
monfichier.ANC= valANC
nomfichier.CODAG = valCODAG
valANC, valCODAG sont-elles des variables ou des champs de saisie ?
Bien cordialement
Posted on December, 09 2022 - 11:27 AM
Bonjour,

Le problème venait bien du fichier en lui même.
Après avoir utilisé l'outil WDModFic.exe sur le dit fichier pour reprendre en compte la structure du fichier spécifié dans l'analyse du projet, cela a résolu le problème et le HRAZ(nomFichier) a eu de nouveau un comportement correct.

Ce que je n'explique c'est pourquoi en ayant fait la synchronisation des fichiers avec l'analyse depuis windev, cela n'a pas corrigé le soucis directement... }:(

Enfin, le soucis est réglé .. merci pour toute l'aide apportée...:)
:merci:
Registered member
286 messages
Popularité : +24 (28 votes)
Posted on December, 10 2022 - 9:17 PM
Bonsoir

Rassures-toi, j'ai déjà rencontré, je force alors la modification d'analyse en ajoutant un champ "bidon", que je supprime ensuite lors de la prochaine erreur, ce n'est pas très "pro" mais au moins compilateur prend en compte mes modifications d'analyse :-)

Bien cordialement
Message modified, December, 10 2022 - 9:18 PM