Exemple 5 : Référence Atomique
Cet exemple indique comment spécifier une pièce jointe à un autre enregistrement. Importation des données spécifie un enregistrement dans le module Prêts, joint à un enregistrement Personnes (l'emprunteur).
Cet exemple spécifie également une table (Numéro de Téléphone Bureau) dans le module Personnes / Organisation.
Les champs chargés sont :
Champs |
Nom back-end |
---|---|
Prêt/emprunt | InfDirection
|
But du prêt/emprunt | InfLoanPurpose
|
Date de début | DatLoanCommencementDate
|
Date d'échéance | DatLoanDueDate
|
Emprunteur ou prêteur | InfBorrowerLenderRef
|
Le champ de fichier joint dans le module Prêts/Emprunts est Emprunter ou prêteur : (Détails du prêt/emprunt) :
Si nous consultons l'Aide au niveau du champ pour ce champ, voilà ce qui s'affiche :
Le nom back end est InfBorrowerLender, mais lorsqu'on spécifie un champ de fichier joint on utilise son nom de Lien : InfBorrowerLenderRef.
Pour des raisons de présentation uniquement, les données d'importation ci-dessous sont présentées avec les titres de colonnes apparaissant verticalement plutôt qu'horizontalement. La première ligne de tout fichier délimité par des tabulations ou virgules doit inclure les noms de colonnes. La disposition appropriée est :
InfDirection
|
InfLoanPurpose
|
DatLoanCommencementDate
|
Sortant | Le but du prêt est un travail de recherche. | 15-Jan-06 |
Entrant | L'emprunt est pour une exposition à venir. | 10-Mar-06 |
Sortant | Un prêt sans emprunteur ni date prévue ! | 17-Mar-66 |
Les données d'importation sont :
Nom de colonne (doit apparaître comme première ligne du fichier de données d'importation) |
Enregistrement 1 |
Enregistrement 2 |
Enregistrement 3 |
---|---|---|---|
InfDirection
|
Sortant | Entrant | Sortant |
InfLoanPurpose
|
Le but du prêt est un travail de recherche. | L'emprunt est pour une exposition à venir. | Un prêt sans emprunteur ni date prévue ! |
DatLoanCommencementDate
|
15-Jan-06 | 10-Mar-06 | 17-Mar-66 |
DatLoanDueDate
|
15-Jan-07 | 10-Jul-06 |
|
InfBorrowerLenderRef.NamPartyType
|
Personne | Organisation |
|
InfBorrowerLenderRef.NamFirst
|
John
|
|
|
InfBorrowerLenderRef.NamLast
|
Smith
|
|
|
InfBorrowerLenderRef.NamOrgaisation
|
|
The Art Gallery of Salsam |
|
InfBorrowerLenderRef.NamBusiness_tab(1)
|
|
61393470011
|
|
La référence au fichier joint est construite en combinant le nom du Lien pour le champ de fichier joint à un nom de champ back end depuis le module joint.
Par exemple, pour spécifier que le champ Emprunteur ou prêteur dans le module Prêts/Emprunts devrait établir un lien vers un enregistrement pour John Smith dans le module Personnes / Organisations, spécifiez :
InfBorrowerLenderRef.NamFirst
InfBorrowerLenderRef.NamLast
Et pour spécifier une ligne dans une table du module joint, désignez simplement le numéro de la ligne (comme nous l'avons déjà vu lorsqu'on spécifie une table dans le même module). Par exemple, la première ligne de Bureau : (Numéros de téléphone) est spécifiée comme suit :
InfBorrowerLenderRef.NamBusiness_tab(1)
Lorsque l'importation est traitée, une recherche d'un enregistrement pour John Smith est amorcée dans le module Personnes / Organisations ; si un enregistrement est trouvé, il peut être utilisé pour le fichier joint. Si aucun enregistrement n'est trouvé, on peut en créer un dans le module Personnes / Organisations à l'aide des valeurs précisées dans le fichier de données, puis les deux enregistrement peuvent être joints l'un à l'autre.
Le XML pour cet exemple est :
<?xml version="1.0" encoding="UTF-8"?>
<table>
<!--Premier enregistrement-->
<tuple>
<!--Premièrement, les champs atomes dans le module Prêts/Emprunts sont spécifiés-->
<atom name="InfDirection">Sortant</atom>
<atom name="InfLoanPurpose"Le but du prêt est un travail de recherche.</atom>
<atom name="DatLoanCommencementDate">15 Janvier 2006</atom>
<atom name="DatLoanDueDate">15 Janvier 2007</atom>
<!--Ensuite, le champ de fichiers joints dans le module Prêts/Emprunts est spécifié, suivi de chaque champ atome dans le module Personnes / Organisations-->
<tuple name="InfBorrowerLenderRef">
<atom name="NamPartyType">Personne</atom>
<atom name="NamFirst">John</atom>
<atom name="NamLast">Smith</atom>
</tuple>
</tuple>
<!-- Deuxième enregistrement -->
<tuple>
<atom name="InfDirection">Entrant</atom>
<atom name="InfLoanPurpose">L'emprunt est pour une exposition à venir.</atom>
<atom name="DatLoanCommencementDate">10 Mars 2006</atom>
<atom name="DatLoanDueDate">10 Juillet 2006</atom>
<tuple name="InfBorrowerLenderRef">
<atom name="NamPartyType">Organisation</atom>
<atom name="NamOrganisation">The Art Gallery of Salsam</atom>
<!--En plus de spécifier les champs atomiques dans le module de fichier joint, des tables peuvent aussi être spécifiées. Dans cet exemple, la première ligne dans la table Bureau : (Numéros de Téléphone) est référencé-->
<table name="NamBusiness_tab">
<tuple>
<atom>+61 3 9347 0011</atom>
</tuple>
</table>
</tuple>
</tuple>
<!--Troisième enregistrement-->
<tuple>
<atom name="InfDirection">Sortant</atom>
<atom name="InfLoanPurpose">Un prêt sans emprunteur ni date prévue !</atom>
<atom name="DatLoanCommencementDate">17 Mars 1966</atom>
</tuple>
</table>
Quand ces données sont importées dans EMu à l'aide des options Importation Typique, voilà ce qui se produit :
- Une recherche est effectuée dans le module Personnes / Organisations en utilisant les détails dans les champs de Personnes / Organisations spécifiés (par ex. NamFirst). Si aucun enregistrement correspondant n'est trouvé, un enregistrement est créé dans le module Personnes / Organisations et joint au module Prêts/Emprunts via le champ InfBorrowerLender. Si un enregistrement correspond, le nouvel enregistrement Prêts/Emprunts record créé ensuite) est joint à l'enregistrement de Personnes / Organisations correspondant.
- Un enregistrement est créé dans le module Prêts/Emprunts avec les valeurs des champs Prêts/Emprunts.