Méthode : IMP_Folder

 

 

 

Préambule

 

Cette méthode a pour objectif de programmer une alimentation de la base de données à partir de fichiers situés sur un volume accessible par l'application. Ceci est utile dans le cas où l'opération ne peut être programmée à l'aide de la centrale d'importation.

 

Contextes d'utilisation

 

Deux contextes principaux d'utilisation : un fichier correspond à un lot d'enregistrements et ces derniers sont créés à partir du contenu du fichier ou bien une fiche descriptive du fichier doit être créée et le fichier archivé.

 

Déclenchement

 

Le déclenchement peut s'effectuer soit en mode batch, soit à partir du menu exploitation suivant ce qui aura été affecté au niveau du script d'appel. Il est également possible de provoquer l'exécution à partir de l'interface web en programmant une action spécifique.

 

Syntaxe

 

IMP_Folder ("paramètres")

 

Les paramètres sont saisis sous la forme "nomvaleur" et séparés entre eux par le signe ";".

 

Paramètre       Valeur par défaut  Description  

Folder    Import         Dossier à surveiller / importer

FolderOK        Integre        Dossier ou déplacer les fichiers traités

FolderNotOk    error  Dossier ou déplacer les fichiers non traités

Template         (nom du dossier)   Filtre d'import à utiliser

Script     AScript_impFolderScript à exécuter avant l'import

archive  faux   Fichier à archiver VS lot d'enregistrements

             peut être aussi dans le nom du dossier

 

Paramètre : Folder

 

Dossier à surveiller. Peut être le chemin d'accès complet du dossier ou bien son chemin d'accès relatif si celui-ci est situé dans le dossier ALTemp. Si ce dossier n'existe pas, un message d'erreur sera généré dans le log (si l'exécution s'effectue en batch).

 

Exemples

"Folder=D:\Mon dossier\PDF_Archive"

Tout nouveau document copié dans ce dossier sera traité avec le filtre d'import ayant pour code "PDF" et sera archivé.

"Folder=Imp_Personnes;Template=IMP_Pers"

Tout nouveau fichier dans le dossier C:\ALTemp\MaBase\Imp_Personnes" sera traité avec le filtre d'import ayant pour code "IMP_Pers" mais ne sera pas archivé.

 

Paramètre : FolderOK

 

Après traitement, le fichier est déplacé dans un dossier situé à l'intérieur du dossier à traiter et dont le nom relatif est transmis par ce paramètre.

 

Exemples

"Folder=D:\Mon dossier\PDF_Archive"

Après traitement réussi, le fichier est déplacé dans le dossier : D:\Mon dossier\PDF_Archive\Integre"

"Folder=ImpPersonnes;FolderOK=TraiteOK"

Après traitement réussi, le fichier est déplacé dans le dossier : C:\ALTemp\MaBase\Imp_Personnes\TraiteOK"

 

Paramètre : FolderNotOK

 

Si le traitement échoue, le fichier est déplacé dans un dossier situé à l'intérieur du dossier à traiter et dont le nom relatif est transmis par ce paramètre.

 

Exemples

"Folder=D:\Mon dossier\PDF_Archive"

Après traitement réussi, le fichier est déplacé dans le dossier : D:\Mon dossier\PDF_Archive\error"

"Folder=ImpPersonnes;FolderNotOK=A_Corriger"

Après traitement réussi, le fichier est déplacé dans le dossier : C:\ALTemp\MaBase\Imp_Personnes\A_Corriger"

 

Paramètre : Template

 

Ce paramètre permet de spécifier le Filtre d'import. La mise au point d'un filtre d'import s'effectue en demandant à importer des données, et à enregistrer le paramètrage. Un filtre d'import est en fait enregistré dans la table "Template", c'est pourquoi le paramètre est intitulé "Template". C'est le code (et non le libellé) qui doit être indiqué ici.

 

Paramètre : Script

 

Si un script est précisé (ou s'il existe un script ayant pour nom : AScript_impFolder), celui-ci est exécuté avant le traitement d'import. Si des contrôles doivent être effectués sur un fichier avant import, il est judicieux de les faire au sein de se script et si le fichier doit être rejeté (si des informations sont manquantes par exemple), il suffit d'affecter la valeur vrai à la variable Skip.

 

Exemple

"Folder=ImpPersonnes;FolderNotOK=A_Corriger;script=AScript_Verifier Personne"

SI la condition ... vérifiée dans le script AScript_Verifier Personne est vrai, le fichier sera ignoré et déplacé dans le dossier "C:\ALTemp\MaBase\Imp_Personnes\A_Corriger"

Si (...)

Skip:=Vrai

Fin de si

 

Paramètre : Archive

 

Ce paramètre est optionnel si le nom du dossier à importer se termine par "_Archive". Il n'appelle pas de valeur derrière.

Si ce paramètre est présent, le traitement du fichier s'effectue en deux temps :

 

1  extraction des informations à partir du contenu du fichier et de ses informations et création d'un nouveau fichier sur disque contenant ce qui aura été extrait ;

2  importation du fichier ainsi produit à l'aide du filtre d'import.

 

Extraction des informations

 

Cette méthode tente de recueillir des informations en lisant le fichier lui-même mais est tributaire de l'application qui l'a générée. Aussi, des imperfections peuvent être rencontrées dans cette étape.

 

NB : cette méthode peut aussi être appelée indépendamment de ce contexte, son nom est IMP_FileAct , elle ouvre le fichier dont le chemin d'accès complet est fourni dans la variable ANomDoc et retourne le nom du fichier .txt contenant les données extraites.

 

Exemple

Hx:=Ouvrir document("";"")

Si (OK=1)

ANomDoc:=document

FERMER DOCUMENT(Hx)

ANomDoc:=Imp_FileAct

ALERTE(ANomDoc)

Fin de si

Ce script permet à l'utilisateur de désigner un fichier et, après extraction des données, affiche le nom du fichier contenant les données extraites.

 

 

Les données extraites dépendent du type de fichier traité.

 

Type      Données extraites 

jpeg, tiff, psd    Données IPTC

pdf        Informations / propriétés

html       Balise "Title" et balises "Meta"

    exemple : `<META NAME="AUTHOR" CONTENT="LeSiteOrigine.com">

doc        Informations (utilise le convertisseur de 4D Write)

 

Les données suivantes sont ajoutées si elles n'ont pas été trouvées dans les informations :

 

File        Nom du fichier

Title       Nom du fichier sans l'extension

CreationDate   Date de création du fichier

CreationTime   Heure de création du fichier

ModDate         Date de modification du fichier

ModTime         Heure de modification du fichier

 

 

Données IPTC

 

N° de champ   Etiquette (ou intitulé)       

5  ObjectName

7  EditStatus

10Urgency

15Category

20SupCategory

22Identifier

25KeyWords

30ReleaseDate

35ReleaseTime

40Special

45ReferenceService

47ReferenceDate

50ReferenceNum

55CreationDate

60CreationTime

65OriginatingPgm

70PgmVersion

75ObjectCycle

80By_Line

85By_Line_Title

90City

95Province

100       CountryCode

101       CountryName

103       OriginalTransRef

105       HeadLine

110       Credit

115       Source

116       Copyright

118       Contact

120       Abstract

122       Writer

130       ImageType

 

 

Données des documents "doc"

 

Title ; Subject ; Author ; Company ; Note ; CreationDate ; CreationTime ; ModDate ; ModTime

 

Extraction de descripteurs

 

La variable TBonus est alimentée par l'ensemble des informations trouvées. Si le document est de type doc, le texte du document est ajouté à cette variable. Pour les autres types, il est possible d'alimenter cette variable dans le script (cf. ci-dessus). Les descripteurs du thesaurus sont extraits de cette variable et ajoutés comme information avec la balise : "Descriptors", les descripteurs étant séparés entre eux par le signe "\".

 

La méthode appelée est "TH_Extract", les variables de comportement de cette méthode peuvent être personnalisées à l'aide de la variable "TAttributs".