Intégrateur : format variable (INTEG_FV)

Depuis la version ACE 5.0-00, Edition Spéciale 1 , les formats d’intégrateur commencent à la position n° 1 (et non plus à la position n° 0, comme auparavant).

Le type d’enregistrement Format Variable (FV) permet l’intégration de tous les autres enregistrements (sauf l’enregistrement de type 99, voir INTEG_RUP) via un cartouche fixe (deux cartouches fixes sont proposés), et la liste des champs / valeurs à intégrer, sans se préoccuper des positions exactes des champs dans l’enregistrement.

Cette fonctionnalité permet de s’adapter à l’internationalisation selon la façon dont sont générés les fichiers à intégrer.

Pour la partie variable, utiliser le formalisme :

nomchp1_char_utf8_date="valchp1"; nomchp2_long_double=valchp2;

Utiliser comme noms de champ (nomchp…) les noms indiqués dans la documentation (colonne Nom) de l’enregistrement à traiter

suivi de ‘=’,

suivi de la valeur :

pour les champs de type CHAR ou UTF8 ou DATE,

entouré du séparateur " (pilotable via le cartouche du format FV01).

Si la valeur à intégrer contient la valeur du séparateur entourant les valeurs de type CHAR, il faut doubler ce caractère.

Ne pas dépasser le nombre de caractères attendus.

(nombre de caractères =

taille du champ si champ de type CHAR ou LONG,

taille du champ/4 si champ de type UTF8 (= nombre de caractères, généralement précisé dans la colonne ‘Désignation’ de la description du format d’intégration), taille du champ, séparateur de décimales compris, si champ de type DBLE).

suivi de ‘;’.

Depuis la version ACE 1.6.0, une autre syntaxe permet, pour les champs de type CHAR ou UTF8, de ne pas doubler le caractère du séparateur entourant les valeurs de type CHAR si présent dans la valeur à intégrer. Celle-ci consiste à préciser entre {}, accolé au nom de champ, le nombre de caractères de la valeur à intégrer.

nomchp1_char_utf8_date{nb de car dans valchp1}="valchp1"; nomchp2_long_double=valchp2;

Exemple :

FV01504GART GART codpro="BR101"; design3{40}="Test FV02 avec car UTF8 : éàèçùïà sur 40"; design4{9}="Pneu 15".";

Remarque :

Lorsqu’un champ est présent avec plusieurs tailles (exemple : ‘codape’ du type d’enregistrement 86-INTEG_TIE_ADR), le nom standard correspond à la taille la plus grande (et la position précédente prend comme nom de champ le nom de champ _{ancienne taille du champ dans cette position}, ici codape_4).

Le format variable FV01 permet de plus de s’adapter à l’internationalisation selon la façon dont sont générés les fichiers à intégrer.

Traitement

Le traitement d’un enregistrement au format FV permet de créer l’enregistrement à plat correspondant au type d’enregistrement demandé et avec les valeurs des champs précisés dans le format variable. Par ailleurs, pour un typmaj différent de 1, 3 et 0, on complète l’enregistrement avec un ‘~’ en début de chaque champ (le gérant) non demandé par le format variable.

C’est cet enregistrement à plat qui est ensuite traité par l’intégrateur.

Trucs et astuces

En modification (typmaj=2 ou typpmaj=9 sur un enregistrement existant), il ne faut pas préciser les champs non modifiés avec ‘~’, le traitement du format variable (voir sur l’encart ci-dessus) s’en chargeant lui même.

Attention

Il faut utiliser le format FV et un fichier à intégrer au format UTF8 si le batch INTEGR.EXE s’exécute sur un serveur de traitement paramétré en UNICODE (ou UTF8).

Cartouche fixe 00

Nom Libellé

Version

ACE

Position Taille Type Règles de gestion
               
Typenr Type d’enregistrement ACE 1.55 1 2 Char

FV pour le format variable.

 
type_format_fixe Type de format fixe ACE 1.55 3 2 Char

00

 
Typenr_a_trt Type d’enregistrement à traiter ACE 1.55 5 2 Char

Correspond au format d’intégration à traiter.

 
Typmaj_a_trt

Type de mise à jour

ACE 1.55 7 1 num

Correspond au typmaj de l’enregistrement à traiter

(laisser vide ou à 0 si le format d’intégration à traiter n’en possède pas).

 
codpev_a_trt

Code transaction (cible)

ACE 1.55 8 8 Char

Correspond au codpev de l’enregistrement à traiter

(laisser vide si le format d’intégration à traiter n’en possède pas).

 
codfct_a_trt

Code fonction à simuler

ACE 1.55 16 8 Char

Correspond au codfct de l’enregistrement à traiter

(laisser vide si le format d’intégration à traiter n’en possède pas).

 
partie_variable

Liste des champs/valeurs à intégrer

ACE 1.55 24 3900 Char

Correspond aux champs de l’enregistrement à traiter pour lesquels une valeur est renseignée, chaque couple champs = valeur étant séparés par le séparateur ‘;’.

Exemple sur type d’enregistrement 50 :

codpro="RTRRTRT"; fampro="BR01"; delpro=10;

 
               

En utilisant le cartouche fixe 00, on utilise les caractères séparateurs suivants :

Caractère séparateur des champs/valeurs ;
Caractère autour des valeurs de type Char "
Caractère séparateur des décimales .
Caractère séparateur des milliers aucun
Caractère séparateur des heures/minutes .
Masque des dates aaaammjj

Exemple de contenu de fichier à intégrer :

FV00011VCDV GCOV sigtie="BRCLI101";

FV00021VCDV GCOV codpro="BR101"; qtecde=100;

FV00021VCDV GCOV codpro="TST-PRO-KG"; qtecde=1.3; coduni="T"

Cartouche fixe 01

Ce cartouche permet de préciser les caractères séparateurs :

Nom Libellé

Version

ACE

Position Taille Type Règles de gestion
=
               
Typenr Type d’enregistrement 1.55 1 2 Char

FV pour le format variable.

 
type_format_fixe Type de format fixe 1.55 3 2 Char

01

 
Typenr_a_trt Type d’enregistrement à traiter 1.55 5 2 Char

Correspond au format d’intégration à traiter.

 
Typmaj_a_trt

Type de mise à jour

1.55 7 1 num

Correspond au typmaj de l’enregistrement à traiter

(laisser vide ou à 0 si le format d’intégration à traiter n’en possède pas).

 
codpev_a_trt

Code transaction (cible)

1.55 8 8 Char

Correspond au codpev de l’enregistrement à traiter

(laisser vide si le format d’intégration à traiter n’en possède pas).

 
codpev_a_trt

Code fonction à simuler

1.55 16 8 Char

Correspond au codfct de l’enregistrement à traiter

(laisser vide si le format d’intégration à traiter n’en possède pas).

 

car_sep_chpval

Caractère séparateur des champs/valeurs 1.55 24 1 Char

Par défaut : ‘;’ (comme pour FV00).

Remarque : ne pas prendre ‘~’ comme caractère séparateur.

 

car_autour_valcar

Caractère autour des valeurs de type Char

1.55 25 1 Char Par défaut : ‘ " ’ (comme pour FV00).  

car_sep_dec

Caractère séparateur des décimales 1.55 26 1 Char

Par défaut : ‘.’ (comme pour FV00).

 

car_sep_millier

Caractère séparateur des milliers 1.55 27 1 Char

Aucun par défaut (comme pour FV00).

 

car_sep_heumin

Caractère séparateur des heures/minutes 1.55 28 1 Char

Par défaut : ‘.’ (comme pour FV00).

 

masque_date

Masque des dates 1.55 29 14 Char

Par défaut : ‘aaaammjj’ (comme pour FV00).

Masque composé de :

  • aaaa pour l’année
  • mm pour le mois
  • jj pour le jour
  • séparateur au choix.

Exemple :

mm/jj/aaaa

jj-mm-aaaa

 
partie_variable

Liste des champs/valeurs à intégrer

1.55 43 3900 Char

Correspond aux champs de l’enregistrement à traiter pour lesquels une valeur est renseignée, chaque couple champs = valeur étant séparé par le séparateur ‘;’.

Exemple sur type d’enregistrement 50 :

codpro="RTRRTRT"; fampro="BR01"; delpro=10;

 
               

Remarques :

Exemple :

FV00021VAVO GBFA codpro="TST-PRO-KG"; qtecde=-1.3; coduni="T"

Pour la gestion des rejets sur les types d’enregistrement FV, ce sont les enregistrements reconstitués depuis le type FV qui sont mémorisés, et non l’enregistrement FV lui-même.

Décimal Octal Hex Binaire Caractère
032 040 20 00100000 SP
033 041 21 00100001 !
034 042 22 00100010 "
035 043 23 00100011 #
036 044 24 00100100 $
037 045 25 00100101 %
038 046 26 00100110 &
039 047 27 00100111 '
040 050 28 00101000 (
041 051 29 00101001 )
042 052 2A 00101010 *
043 053 2B 00101011 +
044 054 2C 00101100 ,
045 055 2D 00101101 -
046 056 2E 00101110 .
047 057 2F 00101111 /
058 042 3A 00111010 :
059 073 3B 00111011 ;
060 074 3C 00111100 <
061 075 3D 00111101 =
062 076 3E 00111110 >
063 077 3F 00111111 ?
064 100 40 01000000 @
091 133 5B 01011011 [
092 134 5C 01011100 \
093 135 5D 01011101 ]
094 136 5E 01011110 ^
095 137 5F 01011111 _
096 140 60 01100000 `
123 173 7B 01111011 {
124 174 7C 01111100 |
125 175 7D 01111101 }
126 176 7E 01111110 ~