Un problème étrange dans un de mes tests unitaires. J'ai un fichier de client avec les noms et leur adresse. Je dois intégrer ces données dans des tables SQL Server, ce que j'ai codé. L'adresse va dans une table adresse qui a les données suivantes :
- Complément d'adresse VARCHAR(38)
- Immeuble VARCHAR(38)
- Numéro de voie CHAR(5)
- Nature voie CHAR(3)
- Libellé voie CHAR(30)
- Lieu dit VARCHAR(38)
- Code postal CHAR(10)
- Ville VARCHAR(32)
- Code pays CHAR(2)
A noter que dans mon fichier en entrée, les données de l'adresse ont la même déclaration que la déclaration en cobol des variables associées à la table.
Le problème se situe sur le numéro de voie. J'ai un fichier avec deux lignes. Sur la première ligne le numéro de voie est à blanc et sur la deuxième avec la valeur 6. Dans cette situation je dois mettre à NULL dans la table le champ Numéro de voie pour la première ligne et à 6 pour la deuxième ligne. Sauf que pour la deuxième ligne ça ne fonctionne pas : la valeur est à NULL.
Suite à cela j'ai bidouillé le fichier d'entrée pour que le numéro de voie de la première ligne soit renseigné (valeur 15 par exemple). Et là ça fonctionne à merveille. Qu'ai-je donc raté ?
Sachez que j'ai affiché juste avant la requête insert la valeur du numéro de voie qui me montre bien 6.
Dois-je rajouter des Initialize ? J'alimente les NULL comme ceci : MOVE -1 TO NULL-NUM-VOIE.
Merci beaucoup pour votre aide.
Message édité par Kilyn le 05-10-2015 à 14:37:36
---------------
Nous ne sommes pas des êtres humains vivant une exprérience spirituelle. Nous sommes des êtres spirituels vivant une expérience humaine.