13 03 | 2012

Le CCSID

Rédigé par GAYTE Dominique

Classé dans : IBM i (AS/400)

Le CCSID est une notion omniprésente dans les IBM i (AS/400) modernes mais pas toujours très bien comprise !

Le CCSID (Coded character set identifier) est un nombre compris entre 0 et 65535 qui identifie comment doit être considérée une information de type caractère, c'est à dire :

  • comment elle est encodée - est ce de l'ASCII (plutôt issu du monde des micro-ordinateurs), de l'EBCDIC (la codification standard pour les AS/400) ou autres (UTF8, UCS-2, ISO...)
  • qu'elle est sa page de code (associée à la langue)

Le but du CCSID est de toujours disposer d'une information qui soit correctement interprétée quel que soit le contexte. Ainsi, il est possible de traiter un fichier PC d'origine germanique sur un AS/400 français.

Le CCSID peut être associé à un IBM i dans sa globalité (il est alors codé au niveau de la valeur système QCCSID),  à un travail, à un fichier ou même à une seule zone d'un fichier. Les paramètres concernés sont alors nommés CCSID.

Lorsque le CCSID est apparu (en version 2 de l'OS/400) et pour ne pas perturber l'existant, la valeur système QCCSID a reçu la valeur 65535. Cette valeur signifie qu'il n'y a aucune codification connue, donc aucune transformation ne devra être réalisée sur les caractères. Pratique pour supporter l'existant et transparent tant que l'on est dans un environnement traditionnel : écran vert, une seule langue, pas de communications avec d'autres environnements... Mais les temps ont bien changés et nos IBM i sont au cœur de notre système d'informations et sont devenus très communicant. Cette valeur système QCCSID = 65535 peut rapidement être un problème. Elle est à suspecter dès qu'il y a des conversions qui se passent mal : caractères accentués non conformes et même caractères standards non lisibles.

Pour des AS/400 franco/français, le CCSID doit être de 297 (500 pour le français multinational, Belgique, Canada, Suisse...), il est déconseillé de rester à 65535. Pour vérifier sa valeur, il vous suffit de taper la commande  :

DSPSYSVAL QCCSID

La modification de la valeur système QCCSID ne modifie pas la codification des enregistrements mais indique seulement comment les lire et éventuellement comment les transformer. Mais je déconseille de le faire sans précautions sur une machine de production. Si vous n'avez pas de serveur (ou de partition) de test, je préconise fortement de profiter d'un changement de système pour passer de 65535 à 297 et de tester avant le passage en production.

En attendant, et pour un cas particulier, vous pouvez agir au niveau du fichier, de la zone, du travail... et modifier le paramètre CCSID.

 

Vous avez des questions ? Des remarques ? N'hésitez pas à nous contacter en cliquant ici : Notos, votre expert IBMi

 

 

Mots clés : IBM i, AS400, CCSID, QCCSID, EBCDIC, AS/400, OS/400

Les commentaires sont fermés.

Qui sommes-nous ?

  • Notos, expert IBMi (AS/400) et spécialiste de l’informatisation des PME/PMI est le partenaire privilégié des entreprises qui veulent moderniser leur Informatique.
  • En savoir plus

Archives

Derniers commentaires