Bonjour
Lors d'une lecture en parallèle de deux fichiers, je me heurte au problème suivant :
- les enregistrements contiennent une rubrique de format S9(9) COMP-5 SYNC
- lors de la comparaison rubrique par rubrique de tout l'enregistrement, je détecte des écarts sur celles se trouvant après la rubrique en COMP-5 SYNC
- ces écarts ne sont pas des écarts réels : ils proviennent uniquement d'un décalage de deux caractères, comme si la rubrique en COMP-5 SYNC ne faisait pas systématiquement la longueur qu'elle est censée faire.
Exemple d'enregistrement :
01 GROUPE.
05 RUB-1 PIC X.
05 RUB-2 PIC X(4).
05 RUB-3 PIC X(4).
05 RUB-4 PIC S9(9) COMP-5 SYNC.
05 RUB-5 PIC X(2).
05 RUB-6 PIC X(2).
RUB-5 et RUB-6 apparaissent toujours en écart entre "source" et "cible" car le COMP-5 SYNC semble générer un décalage de deux caractères à la lecture du second fichier.
Avez-vous déjà rencontré ce type de problème ?
Merci par avance pour les informations que vous pourrez me transmettre.
Dvi
===============================================
Précisions : en utilisant un outil de visualisation du contenu du fichier, il apparaît que la valeur de la rubrique en COMP-5 SYNC est rgulièrement la même dans les deux fichiers. Ce serait donc la manipulation de cette donnée dans le programme qui entraînerait ce décalage.
Principe :
- lecture des deux fichiers en positionnant une clé de comparaison en début d'enregistrement (nouvel enregistrement = clé + zone banalisée contenant l'enregistrement d'origine)
- lecture en parallèle des deux fichiers triés avec comparaison des clés créées précédemment puis, sur clés identiques, bascule de la zone banalisée vers la zone standard correspondant à l'enregistrement et comparaison rubrique par rubrique
(c'est dans cette dernière étape que le décalage apparaît)
===============================================
Partager