Exportation

publicité
Exportation
Conception & implémentation
05/07/2002 - Version 1.0
Importation contrôle
Réf. :
Page : 2 / 8
Circuit d’approbation
Nom
Rédigé par
:
Vérifié par
:
Approuvé par
:
Date et visa
:
Fonction
Serré Jérôme
Diffusion Externe
Diffusion
Equipe projet
Historique des évolutions
Version
Date
Commentaires
1.0
05/07/2002
Version initiale
Changements par rapport à la dernière version
Chap / §
Changements
582689427
Importation contrôle
Réf. :
Page : 3 / 8
Table des Matières
1
Description ...................................................................................................................... 4
1.1 Chaîne de traitement ............................................................ 4
2.0 Exécution ....................................................................... 5
3.0 Conception ...................................................................... 5
4.0 Implémentation .................................................................. 7
5.0 Exemple : Ajout d’un nouveau flux « La modulation rotationnelle » ............... 7
582689427
Importation contrôle
Réf. :
Page : 4 / 8
1 Description
Toutes les données venant des ddaf sont insérées dans la base de données interface. Pour les exploiter
dans le logiciel PACACS un traitement indépendant est lancé par le biais d’un script UNIX. Ce traitement
extrait les données et les écris sous forme de fichier XML.
1.1 Chaîne de traitement
Script Unix
Client Java
(Java)
EJB
(Java)
BD
Interface
ExpBoucle
(Java)
Fichier
XML
582689427
Importation contrôle
Réf. :
Page : 5 / 8
2.0 Exécution
La classe ExpBoucle assure l’exportation des données de la base interface vers un fichier XML
Utilisé par l’importation
La méthode suivante assure ce traitement :
private static void exportBoucle(String campagne, String codeOrigImportation) {
campagne : L’année de la campagne
codeOrigineImportation : Le trigramme correspondant à la zone fonctionnelle (AIM, AMC …)
3.0 Conception
La classe ExportBoucle récupère, en fonction du code origine importation et de l’année, tous les
lots distincts de la table concernée. On passe chaque lot à la classe ExportGenerique qui extrait
les données et les écrits dans un fichier XML.
582689427
Importation contrôle
Réf. :
Page : 6 / 8
Certaines propriétés comme le driver ou le chemin de sortie des fichiers XML sont
ecrits dans le fichier ExpGeneric.properties.
jdbc.driver=com.sybase.jdbc2.jdbc.SybDriver
interface.url=jdbc:sybase:Tds:muesli:4100
interface.user=prepabcp2
interface.pwd=prepabcp2
repertoire.export=/interface/import_inttech
En outre, pour améliorer la réutilisabilité, le nom des tables sont rangés par code origine
importation et consignés dans le fichier ExpGeneric.xml
582689427
Importation contrôle
Réf. :
Page : 7 / 8
4.0 Implémentation
while (it.hasNext()) {
ExpGeneric obj = new ExpGeneric((TLotPK)it.next());
int ret = obj.exportElement(codeOrigImportation);
if (ret != 0) {
System.out.println("Problème lors de la constitution du fichier XML");
System.exit(2);
}
}
5.0 Exemple : Ajout d’un nouveau flux « La modulation
rotationnelle »
1.
Ajout du nouveau flux dans le fichier ExpGeneric.xml
...
<AMR>
<MODULATION_ROTATIONNELLE table="T_MODROTA"/>
</AMR>
...
2. Ajout de la requête dans ExpBoucle
private static final String[] reqs = {
"select distinct DDAF, LOT from T_MODROTA where CAMPAGNE = ?",
"select distinct DDAF, LOT from T_DOSSIER where CAMPAGNE = ?",
3. Ajout du nouveau code origine dans ExpBoucle
private static final String[] codes = {« AMR »,
"AIM","AMC","ALG","AMP","AMD",};
4. Ajout de la nouvelle table dans NoeudExport
public boolean estMaitre() {
return ((table.equals("T_MODROTA") || (table.equals("T_DOSSIER") ||
table.equals("T_LGE") ||
582689427
Importation contrôle
Réf. :
Page : 8 / 8
table.equals("T_MAC") || table.equals("T_MODUL") ||
table.equals("T_MODUL51")));
}
Attention l’ordre dans lequel est inséré la requête et le code origine importation est
important.
Données de la nouvelle table :
Résultats dans le fichier XML :
<?xml version="1.0"?>
<IMPORT>
<CAMPAGNE>2002</CAMPAGNE>
<DDAF>001</DDAF>
<LOT>1</LOT>
<MODULATION_ROTATIONNELLES>
<MODULATION_ROTATIONNELLE>
<ESSAI1>hello</ESSAI1>
<ESSAI2>bonjour</ESSAI2>
<NUMPACAGE>001123456</NUMPACAGE>
</MODULATION_ROTATIONNELLE>
<MODULATION_ROTATIONNELLE>
<ESSAI1>hello</ESSAI1>
<ESSAI2>bonjour</ESSAI2>
<NUMPACAGE>001123456</NUMPACAGE>
</MODULATION_ROTATIONNELLE>
</MODULATION_ROTATIONNELLES>
</IMPORT>
582689427
Téléchargement