bonjour,
j’ai vraiment besoin d’aide ou d’un suivi particulier sur ce dossier,
N’ayant aucune capacité en programmation, hormis quelques petites macros sous visual basic que j’ai réalisé avec l’aide des forumeurs clubic, je souhaiterai créer une petite application pour générer un PDF d’un fichier edi en mode texte.
En fait avant nous avions un programme fait par un agent en chine, mais depuis la mise à jour majeure de la struture edi depuis 2007, ce programme n’a pas été mis à jour.
Pour vous expliquer de façon moins sommaire, je reçois quotidiennement des fichiers edi avec une structure particulière qui peut être soumise de tant à autres, de mise à jour mineure, mais rien qui ferait bugger le programme en question, si jamais j’avais au moins la main sur les paramètres à définir pour les futures mises à jours.
Il y a certains éléments qu’il faut reprendre tel quel, et d’autre informations, qui représente des codes qui faudra reprendre dans un fichier externe du type excel ou autres (access par exemple).
tout ce qui est free text, doit être repris à l’identique
Je ne reprendrai pas toutes les données, juste le principal pour que les données importantes soient reprises dans le fichier pdf. Le but est de faciliter la visualisation pour le commun des mortels bien que cela soit simple, si le personnel s attarde à apprendre le gros de la structure du fichier edi.Ce fichier edi est juste en format texte mais generalement l’extension du fichier est interne.
Cette structure est comme ci après mais non exhaustif, la structure est stricte, et est fonction par rapport à la ligne et à la position bien précise sur cette ligne des données (je ne sais pas trop expliquer mais le reste vous allez comprendre).
STRUCTURE 1 : TYPE FICHIER
le type de données est telle quelle apparait sur le fichier
HDR 55MFT 142N
VSLPA 04592001022TAXITAXI 102R
POR FRLVE 250409LVRIX
FA1XXXXXX123456
il faudrait reprendre uniquement
MFT (TYPE : code à reprendre d’un fichier interne excel pour reprendre le libellé exact (y’en a que trois types : COR, MFT, ASC), ex : MFT = Manifeste)
TAXITAXI ( nom du navire à reprendre telle quelle)
102R (référence navire à reprendre telle quelle)
FRLVE (code port de chargement à reprendre d’une fichier de base de données excel)
250409 (date à reprendre , soit 25 avril 2009)
LVRIX (code port de déchargement à reprendre d’une fichier de base de données excel)
XXXXXX123456 (référence chargement à reprendre telle quelle)
Comme je disais plus haut, je ne reprends pas toutes les données mais il y a quelques petites subtilités du genre
si TYPE = COR alors d’autres données doivent être reprise du fichier qui sont en dessous de la référence chargement
MCRCNR : reprendre les 3 derniers chiffres
MCKTXT : Free text à reprendre
ex :
FA1XXXXXX123456
MCRCNRXXXXXX123456001
MCKTXT8 CHANGE WEIGHT
STRUCTURE 2 : COORDONNEES (emetteur, destinataire, copie)
BA1SH : BA = code (mais je ne le reprendrai pas dans le fichier pdf)
1 = ligne (2,3,4 etc…) le BA1 est toujours par défaut le nom de la société
SH = nom de la société emettrice
BA4 est toujours le code postal suivi de la ville, qui est un code suivi du nom de la ville
il faudrait juste reprendre dans l’exemple, uniquement le code postal en position 5 et le ST PREUIL à partir de la position 19
le BA5 Le numéro de telephone ou fax
ex:
BA1SHTARTANPION
BA2SHRUE TEST
BA3SHLE CHILLOT
BA4SH16130 FRXXXST PREUIL
BA5SH012545212
il en existe d’autres dans le fichier sur le même type de structure, BA1CN et BA1N1 voire de temps en temps BA1N2
BA1CN/BA1SH/BA1N1 est toujours un nom, donc toujours du free text, c est juste le type de la société qui change
SH = emetteur
CN = destinataire
N1 ou N2 : destinataire en copie
STRUCTURE 3 : DONNEES FACTURES
exemple :
CHBBUCP00000000004000+EUR =
CHB = charge
BUC = libellé charge à reprendre d’un fichier excel
P = type de paiement à reprendre d’un fichier excel (soit P,C ou E, il en existe que 3, prepayé , à encaisser, ou paiement par une société tierce)
00000000004000+EUR : ici 40,00 euros
si
00000004000000+EUR : alors 40000 euros
si je reprends les infos
CHBBUCP00000000104000+USD F N
CHBCSCP00000000014000+EUR O N
CHBFRTP00000000240000+USD F N
CHBTHCC00000000015000+USD D N
il faudra que cela soit repris comme cela
BUNKER 40 USD PREPAID
CSC 140 EUR PREPAID
FREIGHT 240 USD PREPAID
TERMINAL HANDLING 150 USD A ENCAISSER
STRUCTURE 4 : DESCRIPTION MARCHANDISES
distinguée par un séparateur DE5N, les DE1,DE2 sont à reprenre à partir du 20ème caractère, c est à dire uniquement la description marchandise
,
DE5N
DE1 00000001TY00270000GRAPE WINE, INCLUDING “MARSALA”, TOKAY, SPARKLING220421 220421 021524000
DE2 SEAL NUMBER ALCOHOLIC BEVERAGES WITH
DE2 0156413/0156414/0MORE THAN 24% BUT NO MORE
DE2 156415/ THAN 70% ALCOHOLIC BY
DE2 0156411/0156412 VOLUME.
DE2 NU: 3065, CLASS 3, PACKING
DE2 GROUP III, FLASH POINT 23
DE2 DEGREES
DE2 NET WEIGHT 21524
DE2 FREIGHT TO BE PREPAID
DE2 SHIPPER OWNER
dans cet exemple, il faudra juste reprendre les données sur chaque ligne à partir de la position 22 sur la ligne,
GRAPE WINE, INCLUDING “MARSALA”, TOKAY, SPARKLING220421 220421 021524000
ALCOHOLIC BEVERAGES WITH
MORE THAN 24% BUT NO MORE
THAN 70% ALCOHOLIC BY
VOLUME.
NU: 3065, CLASS 3, PACKING
GROUP III, FLASH POINT 23
DEGREES
NET WEIGHT 21524
FREIGHT TO BE PREPAID
SHIPPER OWNER
voici la structure, j’ai du changer les données puisque ce sont des données personnelles,
HDR 55COR 142N
VSLPA 04592001022TAXITAXI 102R
POR FRLVE 250409LVRIX
FA1XXXXXX123456
MCRCNRXXXXXX123456001
MCKTXT8 CHANGE WEIGHT
SCTT
BA1SHTARTANPION
BA2SRUE TEST
BA3SHLE CHILLOT
BA4SH16130 FRXXXST PREUIL
BA5SH012545212
BA1CNDESTINATAIRE TEST
BA2CNRUE TEST
BA3CNAUSEKLA STR
BA4CN1010 LVRIX
BA5CN00000000000
BA1N1DESTINATAIRE COPIE TEST
BA2N1RUE TEST
BA3N1RUE TEST
BA4N11010 LVRIX
BA5N137167322538
CHBBUCP00000000104000+USD F N
CHBCSCP00000000014000+EUR O N
CHBFRTP00000000240000+USD F N
CHBTHCC00000000015000+USD D N
DE5N
DE100000001TY00270000GRAPE WINE, INCLUDING “MARSALA”, TOKAY, SPARKLING220421 220421 021524000
DE2SEAL NUMBER ALCOHOLIC BEVERAGES WITH
DE20156413/0156414/0MORE THAN 24% BUT NO MORE
DE2156415/ THAN 70% ALCOHOLIC BY
DE20156411/0156412 VOLUME.
DE2 NU: 3065, CLASS 3, PACKING
DE2 GROUP III, FLASH POINT 23
DE2 DEGREES
DE2 NET WEIGHT 21524
DE2 FREIGHT TO BE PREPAID
DE2 SHIPPER OWNER
DE3Y3 UN306523 ALCOHOLIC BEVERAGES WITH MORE THAN 24% BUT NOT MORE THAN 70% ALCOHOL B
pourriez vous me dire quel logiciel utiliser ou comment faire svp merci
je sais que cela prendra du temps mais j ai vraiment envie d ameliorer la vie de tout le monde, puisque tout le monde se plaint que c est pas compréhensible pour le commun des mortels
pour ce qui est de la mise en page, on verra à la fin du programme, pour l instant c est le brut qui est super important
j ai fait un copier coller du fichier edi, et il manque plein d'espaces, Edité le 19/05/2009 à 13:37