Implémentation d’un programme de mise à jour
Dernière modification : mardi 20 avril 2010
S’applique à : SharePoint Server 2010
Dans cet article
Description
Syntaxe
Remarques
Exemples
Description
Une instance de méthode Updater vous permet de mettre à jour une instance d’entité existante dans un système externe. Par exemple, dans le cas d’un objet métier nommé Customer, ce stéréotype permet de mettre à jour l’adresse d’un client « Jean » dans le système externe.
Si vous ne définissez pas une méthode Updater, les éléments ne peuvent pas être mis à jour à l’aide des fonctionnalités Business Connectivity Services associées à l’entité. Par exemple, vous ne pouvez pas cliquer sur le bouton Modifier l’élément sur le Ruban d’une liste externe qui repose sur ce type de contenu externe, pour modifier un élément dans la liste.
BDC effectue une opération de lecture avant la mise à jour pour détecter les conflits de données éventuels.
Pour une méthode de programme de mise à jour, l’ensemble des champs requis pour mettre à jour l’élément est appelé affichage de programme de mise à jour.
Syntaxe
Voici la signature de méthode classique pour une méthode Updater :
void UpdateEntity(EntityDataType fields)
void UpdateEntity(EntityDataType fields, EntityDataType previousValuesOfFields)
Remarques
Pour avoir la qualité de méthode Updater :
La méthode Updater doit prendre l’identificateur (ou une combinaison d’identificateurs) de l’élément comme paramètre d’entrée.
La méthode Updater doit prendre tous les champs de lecture/écriture d’une méthode SpecificFinder.
L’affichage Updater doit être identique à l’affichage SpecificFinder ou être un sous-ensemble de celui-ci.
Notes
Il est recommandé d’appliquer une méthode de mise à jour transactionnelle afin d’éviter les pertes de données éventuelles.
S’il existe plusieurs recherches spécifiques, l’affichage Updater doit être identique à au moins un affichage SpecificFinder ou être un sous-ensemble d’au moins un affichage de ce type.
Comme dans le cas de l’affichage Creator, l’affichage Updater doit être identique à l’affichage d’une des recherches spécifiques ou être un sous-ensemble de cet affichage. Il doit contenir tous les champs dans la recherche spécifique qui ne sont pas en lecture seule. En effet, les formulaires Business Connectivity Services générés automatiquement dépendent des affichages SpecificFinder. Sinon, les champs supplémentaires dans l’affichage Updater ne peuvent pas être mis à jour. Comme dans le cas de l’opération de création, Business Connectivity Services vérifie l’existence de cette dépendance et désactive l’opération de mise à jour sur la liste externe. Les identificateurs pouvant être mis à jour (ou une combinaison de ceux-ci) peuvent également être mis à jour par ce stéréotype, mais ils ne sont pas pris en charge par les formulaires Business Connectivity Services générés automatiquement.
Le tableau 1 récapitule les dépendances pour les affichages Creator et Update, ainsi que l’état des opérations de création et de mise à jour.
Tableau 1. Dépendances pour les affichages de création et de mise à jour et état des opérations de création et de mise à jour.
N° du scénario |
Champs dans l’affichage de recherche spécifique |
Champs dans l’affichage de création |
Champs dans l’affichage de programme de mise à jour |
Opérations autorisées |
Remarques |
---|---|---|---|---|---|
1. |
A B (lecture seule) C D E (lecture seule) |
A B C D E F |
A C D F |
Création : non autorisée Mise à jour : non autorisée Création hors ligne : non autorisée Mise à jour hors ligne : non autorisée |
Le champ F ne peut pas être détecté sur la recherche spécifique. Par conséquent, BCS désactive les opérations de création et de mise à jour. |
2. |
A B (lecture seule) C D E (lecture seule) |
A B C D E |
A C D |
Création : autorisée Mise à jour : autorisée Création hors ligne : autorisée Mise à jour hors ligne : autorisée |
Les valeurs des champs B et E peuvent être spécifiées par l’utilisateur pendant la création, mais ne peuvent pas être mises à jour ultérieurement. |
3. |
A B (lecture seule) C D E (lecture seule) |
A B |
A C D |
Création : autorisée Mise à jour : autorisée Création hors ligne : autorisée Mise à jour hors ligne : autorisée |
La valeur du champ B peut être spécifiée par l’utilisateur pendant la création, mais ne peut pas être mise à jour ultérieurement. La valeur du champ E est affectée par le système externe et ne peut pas être mise à jour par l’utilisateur. Pour la création hors ligne, l’opération de mise à jour est appelée immédiatement après la création. |
4. |
A B (lecture seule) C D E (lecture seule) |
A B |
A C |
Création : autorisée uniquement sur les formulaires EL par défaut Mise à jour : non autorisée Création hors ligne : non autorisée Mise à jour hors ligne : non autorisée |
Le champ D ne peut pas être mis à jour. Du fait de cette incohérence, BCS désactive l’opération de mise à jour. La création hors ligne est désactivée, car il n’existe aucune opération de mise à jour valide. |
5. |
A B (lecture seule) C D E (lecture seule) |
A C D |
Aucune opération de mise à jour définie |
Création : autorisée Mise à jour : non autorisée Création hors ligne : autorisée Mise à jour hors ligne : non autorisée |
Les valeurs des champs B et E sont affectées par le système externe. |
6. |
A B (lecture seule) C D E (lecture seule) |
A B C |
Aucune opération de mise à jour définie |
Création : autorisée uniquement sur les formulaires EL par défaut Mise à jour : non autorisée Création hors ligne : non autorisée Mise à jour hors ligne : non autorisée |
La valeur du champ D ne peut pas être définie pendant la création, et il n’existe pas d’opération de mise à jour valide définie permettant de la configurer ultérieurement. Par conséquent, BCS désactive l’opération de création hors ligne. |
Notes
Veillez à manipuler les valeurs Null correctement. Vérifiez si les champs sont requis et n’affectez pas de valeurs Null aux champs qui ne sont pas obligatoires.
Attention |
---|
Les noms des paramètres doivent correspondre à ce qui est défini dans le système externe. Les noms des paramètres respectent la casse. Si les noms des paramètres ne sont pas identiques sur toutes les méthodes, Microsoft SharePoint Designer 2010 les interprète comme étant des champs différents. |
Il est important de manipuler les exceptions correctement. Le cas Updater possède quelques exceptions intéressantes, répertoriées dans le tableau 2.
Tableau 2. Exceptions
Nom de l’exception |
Quand utiliser cette exception |
---|---|
AccessDeniedException |
L’utilisateur n’est pas autorisé à effectuer cette opération sur le système externe. |
ConflictDetectedException |
Utilisée pour la résolution des conflits. L’élément a été mis à jour simultanément et a été modifié par un autre utilisateur. |
LobBusinessErrorException |
Garantit que le message d’erreur s’affiche à l’utilisateur tel quel (à partir du système externe). |
ObjectDeletedException |
Utilisez cette exception s’il est établi que l’élément est supprimé. |
ObjectNotFoundException |
L’élément est introuvable. |
RuntimeException |
Si la mise à jour échoue, veillez à déclencher cette exception pour alerter vos utilisateurs et pour utiliser les fonctionnalités de gestion des erreurs dans Microsoft Outlook 2010 et Microsoft SharePoint Workspace 2010. |
Exemples
Extrait de code : implémentation d’un Updater
Voir aussi
Concepts
Extrait de code XML : Modélisation d’une méthode Updater
Extrait de code : exécuter une instance de méthode Updater d’un type de contenu externe