Nettoyage d’un fichier par SQL.

Problème et solution.

Problème : vous importez un fichier sur votre AS/400 (fichier
d’origine Windows ou Unix) et certains champs de votre fichier cible se retrouvent avec
des caractères non reconnus par l’AS/400. Les enregistrements concernés deviennent alors
inexploitables et font planter les programmes qui tentent d’y accéder.

 

Solution : Nettoyer le fichier par SQL

 

Exemple : Supposons un fichier contenant un caractère non standard
dans la zone VLSPTV en position 16. Valeur hexa du caractère incorrect :  » 04  » (le
meilleur moyen de repérer le code erroné et sa valeur hexa est un DSPPFM).

Pour le nettoyage sous SQL, on extrait les parties de la zone correcte et on les
concatène en prenant soin d’ajouter un blanc à  la place du caractère incorrect.

update vls010p set vlsptv = substr( VLSPTV , 1 , 15 ) !! ' ' !!
substr( VLSPTV , 17 , 32 ) where substr( VLSPTV , 16 , 1 )= X'04'

Print Friendly, PDF & Email