Exemple 7 : Mettre à jour des enregistrements
Note: Lorsque vous construisez votre fichier Importation des données pour mettre à jour les enregistrements et que vous incluez un Nom de colonne sans lui associer de valeur, toute valeur existante dans ce champ dans EMu sera supprimée lors de l'importation. Cela peut être utile si vous souhaitez effacer toutes les valeurs existantes d'un champ particulier. Cependant, cela peut aussi être potentiellement dangereux, car vous pourriez effacer toutes les valeurs d’un champ par inadvertance.
Dans cet exemple, l'outil Importer est utilisé pour mettre à jour les enregistrements dans EMu. La mise à jour des enregistrements nécessite qu'un champ unique (ou une combinaison de champs uniques) soit utilisé pour identifier un enregistrement existant. En d’autres termes, si un champ unique (ou une combinaison de champs uniques) est présent dans le fichier Importation des données et qu'il existe un enregistrement correspondant, ce dernier sera mis à jour au lieu de créer un nouvel enregistrement.
L'unicité est déterminée par une combinaison de deux conditions. Les deux doivent être remplies :
- Le champ doit être spécifié comme unique dans le back-end.
Chaque module comporte au moins un champ qui est spécifié comme unique dans le back-end par défaut : NEI.
L'attribut Unique peut être défini en utilisant l'entrée de Registre Unique Index Indexing.
- L'entrée de Registre Unique Strict doit être spécifiée pour chacun de ces champs uniques (sauf pour NEI).
Unique Strict indique si l'unicité d'un champ doit être vérifiée lors du traitement d'un nouvel enregistrement ou de la modification d'un enregistrement existant. En général, la vérification se fait en quittant un champ (avec affichage d'un avertissement s'il s'agit d'un doublon), mais dans le cas de l'outil Importer, elle se fait après le traitement de chaque enregistrement.
Note: Pour les valeurs uniques multi-colonnes (où une combinaison de champs est utilisée pour spécifier l'unicité), il est nécessaire de définir Unique dans le back-end et de spécifier Unique Strict dans le Registre pour chacun des champs.
Cet exemple utilise le Numéro d'enregistrement interne ainsi que le Numéro d'accession pour identifier les enregistrements dans le module Catalogue et mettre à jour les champs Constat d'état de l'enregistrement localisé : si des champs uniques sont spécifiés dans le fichier de données et qu'un enregistrement correspondant est identifié dans EMu, l'enregistrement d' est mis à jour.
Notez que si un enregistrement avec un champ unique spécifié dans le fichier de données n'existe pas dans EMu, il sera créé.
Note: Dans cet exemple, les mises à jour ne fonctionneront que si le Numéro d'accession a été réglé comme champ Unique dans le Catalogue.
Note: Les champs Uniques ne peuvent pas être mis à jour eux-mêmes.
Règles
- Si un seul enregistrement dans le fichier de données correspond à un enregistrement dans EMu utilisant un ou des champs configurés dans EMu pour être uniques (par exemple un Numéro d'enregistrement interne), l'enregistrement est mis à jour.
- Si un Nom de colonne est inclus dans le fichier Importation des données, mais qu'aucune valeur ne lui est associée, toute valeur existante dans le champ sera supprimée de l'enregistrement EMu correspondant lors de l'importation.
Cela peut être utile si vous souhaitez effacer toutes les valeurs existantes d'un champ particulier. Cependant, cela peut être potentiellement dangereux car vous pourriez effacer toutes les valeurs d’un champ par inadvertance.
- Si un enregistrement du fichier Importation des données inclut un champ configuré pour être unique dans EMu (par exemple un NEI) et qu'il n'y a pas d'enregistrement correspondant, un nouvel enregistrement est créé.
- Si un enregistrement dans le fichier Importation des données inclut un champ configuré pour être unique dans EMu (par exemple un NEI) et qu'il y a plus d'une correspondance, une erreur est générée.
- Les champs Uniques ne peuvent pas être mis à jour eux-mêmes.
Dans cet exemple les champs sont :
Champs |
Nom back-end |
---|---|
NEI | irn |
Numéro d'accession | TitAccessionNo
|
État de l'objet | ConConditionStatus
|
Date du constat | ConDateChecked
|
Vérificateur | ConCheckedByRef
|
Détails de l'état de l'objet | ConConditionDetails
|
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 :
irn
|
TitAccessionNo
|
ConConditionStatus
|
484
|
Excellente | |
1996.011.042
|
Médiocre | |
1995.112.061
|
Bonne |
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 |
---|---|---|---|
irn
|
484
|
|
|
TitAccessionNo
|
|
1996.011.042
|
1995.112.061
|
ConConditionStatus
|
Excellente | Médiocre | Bonne |
ConDateChecked
|
15-Aug-05 | 16-Aug-05 | 17-Aug-05 |
ConCheckedByRef.NamFirst
|
Joe
|
Joe
|
Joe
|
ConCheckedByRef.NamLast
|
Jackson
|
Jackson
|
Jackson
|
ConCheckedByRef.NamRoles_tab(1)
|
Vérificateur du constat | Vérificateur du constat | Vérificateur du constat |
ConConditionDetails
|
L'œuvre est en excellent état.Des Prêts/Emprunts peuvent être approuvés (soumis aux conditions habituelles). | En raison de la condition médiocre de cette œuvre, les prêts ne devraient pas être approuvés. |
|
irn
et TitAccessionNo sont tous les deux des champs uniques dans ce Catalogue ; lorsqu'un fichier de données d'importation est traité, si un enregistrement est trouvé avec un Numéro d'enregistrement interne ou Numéro d'accession correspondant, il sera mis à jour. Si aucun enregistrement correspondant n'est trouvé, un enregistrement sera créé en utilisant les valeurs fournies.
Le XML pour cet exemple est :
<?xml version="1.0" encoding="UTF-8"?>
<table>
<!-- Premier enregistrement -->
<tuple>
<atom name="irn">484</atom>
<atom name="ConConditionStatus">Excellente</atom>
<atom name="ConDateChecked">15 Août 2005</atom>
<tuple name="ConCheckedByRef">
<atom name="NamFirst">Joe</atom>
<atom name="NamLast">Jackson</atom>
<table name="NamRoles_tab">
<tuple>
<atom>Vérificateur du constat</atom>
</tuple>
</table>
</tuple>
<atom name="ConConditionDetails">L'œuvre est en excellente condition.
Des prêts peuvent être approuvés (soumis aux conditions habituelles).</atom>
</tuple>
<!--Deuxième enregistrement-->
<tuple>
<atom name="TitAccessionNo">1996.011.042</atom>
<atom name="ConConditionStatus">Médiocre</atom>
<atom name="ConDateChecked">15 Août 2005</atom>
<tuple name="ConCheckedByRef">
<atom name="NamFirst">Joe</atom>
<atom name="NamLast">Jackson</atom>
<table name="NamRoles_tab">
<tuple>
<atom>Vérificateur du constat</atom>
</tuple>
</table>
</tuple>
<atom name="ConConditionDetails">En raison de la condition médiocre de cette œuvre, les prêts ne devraient pas être approuvés.</atom>
</tuple>
<!--Troisième enregistrement-->
<tuple>
<atom name="TitAccessionNo">1995.112.061</atom>
<atom name="ConConditionStatus">Bonne</atom>
<atom name="ConDateChecked">15 Août 2005</atom>
<tuple name="ConCheckedByRef">
<atom name="NamFirst">Joe</atom>
<atom name="NamLast">Jackson</atom>
<table name="NamRoles_tab">
<tuple>
<atom>Vérificateur du constat</atom>
</tuple>
</table>
</tuple>
</tuple>
</table>