PreviousNext
Help > Configuration et administration > Conversion et formats particuliers > Champs et formats
Champs et formats

 Dates

 

Si la rubrique autorise les NULL, une date vide sera considérée comme telle, autrement une date à blanc sera codée avec les valeurs minimales en écriture (par exemple 01.01.0001).

En lecture, une date minimale AS/400 sera codée comme étant une donnée à blanc dans WinDev.

 

Remarque : un format date ou heure dans l'analyse peut être associé à d'autres types. L'option DATETYPE et TIMETYPE des infos étendues de la connexion ou du fichier ou l'option NATIVETYPE des infos étendues de la rubrique sont dans ce cas nécessaires pour certaines d'utilisations.

 

Le format pour les dates à utiliser dans les requêtes en mode HRequêteSansCorrection est le format *ISO : pour les dates : YYYY-MM-DD (2005-12-25) et pour les heures : HH:MM:SS (17:59:59).

 

 

Mémos et BLOB

 

La gestion des mémos est différente entre des fichiers AS/400 avec des blobs importés dans l'analyse et des fichiers Hyper File avec des mémos exportés vers l'AS/400.

 

Fichiers importés

Un champ de type BLOB sur le fichier physique sera associé à un champ de type mémo dans la description du ficher.

Attention, le fichier doit être journalisé et il faut utiliser la gestion de transaction.

 

Fichiers exportés

Un fichier spécifique est crée en reprenant les 8 premiers caractères du nom du fichier principal suivi de "__" (deux underscores). Dans le fichier principal le champ mémo contient l'identifiant du mémo dans le fichier annexe.

L'ouverture, l'écriture et la lecture sur le fichier mémo sont synchronisées avec l'ouverture, l'écriture et la lecture du fichier principal. Si il n’y a que des mémos textes, ils sont convertis en EBCDIC mais si le fichier comporte un autre type de mémos, ils sont tous stockés en hexadécimal (binaire).

La gestion est transparente en accès natif (HLitPremier, etc...) mais dans les requêtes SQL en revanche on ne récupère pas le contenu mémo mais l'identifiant.

 

Si un traitement n'utilise pas les champs 'mémo' du fichier, vous avez intérêt à "débrancher" la gestion par la fonction HGèreMémo et le mode de gestion hMémoNon. Pour réactiver, utilisez le mode hMémoOui.

 

 

 

UNICODE

 

UNICODE est géré depuis la version 4.58.56 d'Easycom Serveur de manière automatique.

Il existe un cas de figure particulier cependant : dans le cas d’une requête SQL avec une valeur littérale au passage de paramètre vers un champ de type unicode sur l’AS/400, et donc une conversion PC vers AS, il faut que le JOB soit associé à un CCSID qui supporte l'unicode (1147, 13488…). Il est possible de modifier la configuration serveur d’Easycom (CFGEAC) pour spécifier un CCSID pour tous les jobs ou de modifier directement les propriétés du job en cours :

 

Pour reprendre le CCSID de l’utilisateur (en supposant qu'il supporte l'unicode) :

ASExec("CHGJOB CCSID(*USRPRF)")

 

Gestion des caractères spéciaux

 

Du coté du PC comme du coté AS/400, les caractères sont interprétés selon une page de code.

Sur le PC, on parle de CodePage, qui est le même pour l’Europe de l’ouest et tout le monde occidental.

Sur l’AS/400 le fonctionnement est identique. Mais le stockage des données se fait selon le code EBCDIC.

 

CCSID 

 

Il existe en plus une page de code pour la traduction des données alphanumériques.

C’est le CCSID (Coded Character Set Identifier) qui est paramétré sur le système.

Vous retrouvez sa valeur par la commande :

DSPSYSVAL QCCSID

 

Un AS/400 français aura un CCSID égal à 1147 ou 297 mais il est possible que le système ne soit pas paramétré pour prendre en charge la conversion ; dans ce cas, le CCSID aura la valeur 65535.

 

De plus, chaque fichier physique ou logique peut être compilé en utilisant un code autre que celui spécifié par le système.

Il est possible de connaître le CCSID de chaque fichier de données en utilisant la commande DSPFFD BIB/FILE.

 

En utilisant cette commande, c’est en regardant au niveau de chaque champ que l’on peut voir apparaître le jeu de caractères utilisé pour la compilation. 

 

 

Codepage

 

Par défaut les tables de caractères sont automatiquement gérées en fonctions des propriétés régionales et de la configuration de l'AS/400 mais il est possible de choisir explicitement un fichier de table de conversion différent. Il faut, pour remédier à cela, installer le "Pack international Easycom" disponible en téléchargement depuis le site.

 

1- Utilisez le fichier de table de conversion correct, exemple E037ansi.CPG

Pour appliquer la conversion à l'ensemble des connexions :

Modifiez le fichier easycom.ini

[GENERAL]

ConvTable=c:\Program Files\Easycom\WinDev10\E037ANSI.cpg

Pour appliquer la conversion à une connexion spécifique, ajouter l'option au niveau des infos étendues de la connexion :

<EASYCOM>

CODEPAGEFILE=c:\Program Files\Easycom\WinDev10\E037ANSI.cpg

</EASYCOM>