Nous allons voir comment créer une table de conversion, et comment l’utiliser par le biais d’un fichier logique.
Une table de conversion est un objet de type « *TBL ». Chaque position de la table représente la valeur « hexa » d’un caractère.
Pour créer une table de conversion, il faut créer un fichier source (type « TXT »),
les valeurs vont de 00 à FF (une ligne va de 00 à 1F).
000102030405060708090A0B0C400E0F101112131440161718191A1B1C1D1E1F 202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F 404082824482828248954A4B4C4D4E4F505152855489898989825A5B5C5D5E5F 6061C1C1C1C1C1C1C3D5A46B6C6D6E6F40C5C5C5C5C9C9C9C9797A7B7C7D7E7F 408182838485868788898A8B40A84040909192939495969798994040409D4040 A0A1A2A3A4A5A6A7A8A94F6FC4E8404040B1404040B5404040404040BCBDBEBF C0C1C2C3C4C5C6C7C8C940CB96969696D0D1D2D3D4D5D6D7D8D940A4A46DA4A8 E0E1E2E3E4E5E6E7E8E940D6D6D6D6D6F0F1F2F3F4F5F6F7F8F940E4E4E4E440 |
Ensuite il faut créer la table
CRTTBL TBL(Q297) SRCFILE(QDDSSRC) SRCMBR(Q297) |
La table de conversion Q297 est créée.
Création du fichier FCHRCV, ce fichier ne contient qu’un seule zone
A R FCHRCVTF A DONNEE 10000 |
Création du fichier logique FCHRCV1
A R FCHRCVTF PFILE(CHRCVT) A DONNEE I TRNTBL(*LIBL/Q297) |
Le mot clé « TRNTBL » permet d’indiquer la table de conversion utilisée pour convertir les données dans la zone.
Un petit exemple d’utilisation, on souhaite convertir le fichier QTEMP/W_FICHIER
CPYF FROMFILE(QTEMP/W_FICHIER) + TOFILE(CHRCVT) MBROPT(*REPLACE) + CRTFILE(*NO) FMTOPT(*NOCHK) CPYF FROMFILE(CHRCVT1) + TOFILE(QTEMP/W_FICHIER) MBROPT(*REPLACE) + CRTFILE(*NO) FMTOPT(*NOCHK) |