Partager via


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.

Note AttentionAttention

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