PreviousNext
Help > Développement > Exporter une analyse (constructeur DDS) >
Changer les associations de type

 Menu 'Outils', 'Changer les associations de type / Appliquer les associations'.

 

Un aspect essentiel du constructeur de DDS, et en général de l'accès natif AS/400, est bien évidemment de gérer des types de données différents entre un fichier Hyper File et AS/400. Si les types les plus courants ont leur équivalent (Chaîne en CHAR ou VARCHAR, entiers...) certains formats sont plus délicats (dates, heures, monétaires, mémos...).

Il y a également des considérations de taille à prendre en compte sur des utilisations "limite", ainsi WinDev propose des chaînes jusqu'à 64 ko mais le format CHAR de l'AS/400 est limité à 32Ko.

Attention, toutes les associations n'ont pas forcément un sens et peuvent générer des erreurs au moment de l'accès aux données.

  

Types AS/400

 

Les différents types sont résumés dans le tableau ci-dessous. En plus des types normaux, la gestion des mémos et le lien entre le fichier principal et le fichier des mémos peut avoir différentes formes.

 

Chaînes

C Char

CH Char Hexa

VC VarChar

Numérique

P Numérique condensé

Z Numérique étendu

S Réel simple

DB Réel double

I1 Entier sur 1 octet

I2 Entier sur 2 octets

I4 Entier sur 4 octets

I8 Entier sur 8 octets

Mémos

MBB Mémo binaire avec clé binaire

MBP Mémo binaire avec clé en numérique condensé

MBZ Mémo binaire avec clé en numérique étendu

MTB Mémo texte avec clé binaire

MTP Mémo texte avec clé en numérique condensé

MTZ Mémo texte avec clé en numérique étendu

Dates et heures

D Date

T Time

TS TimeStamp 

 

 

 Types WinDev

 

0

type inconnu

1

identifiant automatique sur 8 octets

2

rubrique texte

3

rubrique de type entier signé sur 2 octets

4

rubrique de type entier signé sur 1 octet

5

rubrique de type entier signé sur 4 octets

6

rubrique de type réel simple (sur 4 octets)

7

rubrique de type réel double (sur 8 octets)

8

rubrique de type numéro d'enregistrement (entier non signé)

9

rubrique de type entier non signé sur 2 octets

10

rubrique de type date sur 6

11

rubrique de type heure

12

rubrique de type entier non signé sur 1 octet

13

rubrique de type réel turbo

14

rubrique de type date sur 8

15

rubrique de type mémo texte

16

rubrique de type mémo binaire 4.0

17

rubrique de type monétaire

18

rubrique de type mémo binaire, mémo Image, mémo Son, mémo OLE ou mémo binaire autre

19

rubrique de type entier signé sur 8 octets

20

rubrique de type entier non signé sur 8 octets

21

rubrique de type image

22

rubrique de type entier non signé sur 4 octets

23

rubrique de type chaîne binaire

24

rubrique de type date+heure

25

rubrique de type durée

26

rubrique de type caractère

27

rubrique de type booléen

28

rubrique de type identifiant automatique (sur 4 octets)

 

Afin d'associer la rubrique à son type d'origine au moment de l'importation, le type Hyperfile d'origine est stocké dans la DDS pour chaque rubrique :

 

A IDCLIENT 9P 0B COLHDG('Identifiant de' 'Client')

TEXT('HFTYPE=28')

A NOM 64A B COLHDG('Nom')

TEXT('HFTYPE=2')

 

Au moment de l'importation ce sont donc toujours les types Hyper File de l'analyse d'origine qui sont attribués, même si des associations particulières sont utilisées.

 

Mémos

 

Le constructeur de DDS ne crée pas de champs BLOB pour les mémos binaires mais un fichier qui reprend les 8 premiers caractères du nom du fichier d'origine suivi de deux underscores (__).

Ce fichier contient des blocs de données binaires ou hexadécimales et sa description de ce fichier ressemble à :

 

A* DDSBLD : MEMO DU FICHIER HYPERFILE 'CLIENT '

A UNIQUE

A R RCLIENT

A IDMEMO 9B 0B COLHDG('NUMERO DU MEMO')

A IDBLOC 4B 0B COLHDG('NUMERO DE BLOC')

A TAILLE 9B 0B COLHDG('Taille totale')

A DONNEE 512H B VARLEN COLHDG('Données')

A K IDMEMO

A K IDBLOC

 

Chaque enregistrement du fichier parent contient un champ mémo avec un identifiant, dans le fichier mémo cet identifiant est associé à des blocs de données (512 octets par défaut)

 

Le constructeur de DDS propose différent types pour les identifiants de mémo dans le fichier principal. Il n'est en général pas nécessaire de modifier ces types à moins que d'autres programmes de l'AS/400 (RPG) soient susceptibles d'utiliser ces données.

 

En revanche l'importation d'un fichier AS/400 (voir import DDS) qui contient des blobs va bien lui associer des mémos et gérer une correspondance directe (la journalisation est nécessaire dans ce cas).

 

Initialisation stricte ou commune

 

Les associations de types font le lien entre un format WinDev et AS/400. Par défaut le constructeur vous propose un initialisation commune (les types les plus courants) ou stricte (types identiques autant que possible).

 

Type WinDev

COMMUNE

STRICTE

Booléen

Numérique condensé

Entier sur 1 octets

Caractère

Char

Char

Chaîne binaire

Char Hexa

Char Hexa

Date (6 digit)

Date

Date

Date (8 digit)

Date

Date

Date + Heure

TimeStamp

TimeStamp

Durée

TimeStamp

TimeStamp

Entier non signé ( 8 octets)

Numérique condensé

Entier sur 8 octets

Entier non signé (1 octet)

Numérique condensé

Entier sur 1 octet

Entier non signé (2 octets)

Numérique condensé

Entier sur 2 octets

Entier non signé (4 octets)

Numérique condensé

Entier sur 4 octets

Entier signé (8 octets)

Numérique condensé

Entier sur 8 octets

Entier signé (1 octet)

Numérique condensé

Entier sur 1 octet

Entier signé (4 octets)

Numérique condensé

Entier sur 4 octets

Entier signé (2 octets)

Numérique condensé

Entier sur 2 octets

Heure

Time

Time

Identifiant Automatique (8 octets)

Numérique condensé

Entier sur 8 octets

Identifiant automatique (4 octets)

Numérique condensé

Entier sur 4 octets

Image

Mémo binaire avec clé en numérique condensé

Mémo binaire avec clé en numérique condensé

Monétaire

Numérique condensé

Numérique condensé

Mémo binaire

Mémo binaire avec clé en numérique condensé

Mémo binaire avec clé en numérique condensé

Mémo texte

Mémo Texte avec clé en numérique condensé

Mémo Texte avec clé en numérique condensé

Numéro d'enregistrement

Numérique condensé

Numérique condensé

Réel double

Numérique condensé

Réel double

Réel simple

Numérique condensé

Réel simple

Texte

Char

Char

 

Vous pouvez personnaliser une association pour un type en particulier, de manière globale depuis le menu Outils - Changer les associations de type puis l'appliquer par le menu Outils - Appliquer les associations de types à l'analyse ouverte mais il est également possible de préciser le type d'une rubrique en double-cliquant dessus et en sélectionnant un autre type dans la liste (décocher l'option Type AS/400 automatique si la liste est désactivée).

 

 image\ebx_-944925828.gif

 

 

Utilisation du masque de saisie

 

Enfin il est possible de créer les types en reprenant le format de la rubrique lorsque l'option est coché dans les associations de types (Outils - Changer les associations de types).

Par exemple, une rubrique monétaire avec un format 999.99 de type Réel sur 4 octets sera exportée avec un format de 3P2 au lieu de 5P2.