Suivant le type de données AS/400 un type de données HF va correspondre automatiquement au moment de l’importation, de l’utilisation de SQL, ou encore lors de l’utilisation de HDeclareExterne.
Après importation un type HF compatible peut être utilisé par modification directe des infos étendues. De même qu’un type de données peut être choisi au moment de l’exportation. Bien entendu il est plus prudent de laisser les équivalences par défaut en cas de doute.
Voici la liste des types de données HF utilisés lors de l’importation :
Type DDS |
Type SQL |
Condition |
Type HF |
A (caractère) |
CHAR |
|
Texte |
A OPTION(VARYING) (caractère variable) |
VARCHAR |
|
Texte |
G + CCSID 13488 (Unicode) |
GRAPHIC CCSID(13488) |
|
Texte Unicode (version 12 seulement) |
G + CCSID 13488 + OPTION(VARYING) (Unicode variable) |
VARGRAPHIC CCSID(13488) |
|
Texte Unicode (version 12 seulement) |
P (décimal condensé) ou Z (décimal étendu) |
DECIMAL ou NUMERIC |
Entier, <=4 chiffres et pas de decimal |
Entier signé sur 2 octets |
|
|
Entier, <=9 chiffres et pas de decimal |
Entier signé sur 4 octets |
|
|
Entier, <=19 chiffres et pas de decimal |
Entier signé sur 8 octets |
|
|
<= 38 chiffres et Nombre de decimal <=6 |
Numérique |
|
|
Autres cas |
Texte |
L |
DATE |
|
Date |
T |
TIME |
|
Heure (HHMMSS) |
Z |
TIMESTAMP |
|
Date et Heure |
B4 (entier court) |
SMALLINT |
|
Entier signé sur 2 octets |
B9 (entier long) |
INT |
|
Entier signé sur 4 octets |
B19 (entier 64 bits) |
BIGINT |
|
Entier signé sur 8 octets |
F |
FLOAT |
|
Réel sur 4 octets |
F double précision |
DOUBLE |
|
Réel sur 8 octets |
H |
BINARY |
|
Chaîne binaire |
H |
VARBINARY |
|
Chaîne binaire |
N/A |
CLOB |
|
Mémo texte |
N/A |
BLOB |
|
Autre mémo binaire |
N/A |
DBCLOB + CCSID 13488 |
|
Mémo Unicode |
Remarque : si le fichier importé a d’abord été exporté via l’outil « constructeur DDS », les types de données ne suivront pas nécessairement ce tableau afin de conserver le type d’origine (originellement dans l’analyse).
Le texte « HFTYPE=xx peut apparaître dans les fichiers exportés et correspond à la valeur numérique des constantes de type HF. (Par exemple pour un champ texte, on a : HFTYPE=2, ce qui correspond à la valeur de wlChaîne).
Le tableau ci-dessous est un résumé synthétique des associations de types.
Ces associations sont paramétrables à l'exportation de fichiers Hyper File vers l'AS/400 et automatiques en importation.
Le support d'unicode nécessite un CCSID approprié.
Le support des blobs nécessite des fichiers journalisés et une gestion des transactions.
Les dates et heures peuvent être associées à des formats alternatifs, dans ce cas l'option DATETYPE ou TIMETYPE des infos étendues de la connexion ou du fichier ou l'option NATIVETYPE des infos étendues de la rubrique sont nécessaires.
Type AS/400 |
Longueur AS/400 |
Décimale |
Type Hyper File |
CHAR / VARCHAR |
|
|
Texte |
UNICODE |
|
|
Texte |
SMALLINT |
2 octets |
|
Entier sur 2 octets |
INTEGER |
4 octets |
|
Entier sur 4 octets |
BIGINT |
8 octets |
|
Entier sur 8 octets |
FLOAT |
|
|
Réel sur 4 octets |
DOUBLE |
|
|
Réel sur 8 octets |
DATE |
10 |
|
Date sur 8 |
TIME |
8 |
|
Heure |
TIMESTAMP |
26 |
|
DateHeure |
BINAIRE (chaîne sans conversion) |
|
|
Binaire |
(fichier mémo) |
|
|
Son, image, binaire sur 8 |
BLOB |
|
|
Son, image, binaire sur 8 |
CLOB |
|
|
Son, image, binaire sur 8 |
NUMERIC (étendu) / DECIMAL |
<= 4 |
0 |
Entier sur 2 octets |
|
<= 9 |
0 |
Entier sur 4 octets |
|
<= 18 |
0 |
Entier sur 8 octets |
|
<= 15 |
De 1 à 15 |
Réel sur 8 octets |
|
<= 22 |
< = 5 |
Monétaire |
|
Texte |
|
Texte |