Partager via


Implémentation de Creator

Dernière modification : mardi 20 avril 2010

S’applique à : SharePoint Server 2010

Dans cet article
Description
Syntaxe
Notes
Exemples

Description

Une instance de méthode Creator vous permet de créer une instance d’entité. Par exemple, pour un objet métier donné nommé Customer, cette méthode permet de créer un client « Jean » dans le système externe.

Si un type de contenu externe n’a pas de stéréotype Creator, il est impossible de créer des éléments (instances d’entité) à l’aide des fonctionnalités de Business Connectivity Services. Par exemple, vous ne pouvez pas cliquer sur le bouton Nouvel élément du Ruban d’une liste externe pour créer un élément.

Une méthode Create vous permet de créer des éléments externes dans le système externe en spécifiant les valeurs des champs obligatoires pour Create. L’ensemble des champs obligatoires pour la création de l’élément s’appelle la vue de Creator. Les valeurs de champs ne correspondent pas nécessairement aux champs d’un élément externe. La méthode doit renvoyer l’identité correspondant à l’élément externe qui a été créé. L’instance de IFieldValueDictionary fournie en tant qu’entrée de cette méthode doit être créée à partir d’une vue.

Cette méthode vous permet également de créer un élément externe en spécifiant les valeurs des champs de l’élément externe créé. Si l’instance de la méthode Create accepte tous les champs fournis, BDC appelle uniquement l’instance de la méthode Create. Sinon, BDC appelle également Update MethodInstance pour l’élément externe créé afin de définir les valeurs spécifiées des champs restants. La méthode renvoie EntityInstanceReference à l’élément externe qui a été créé. L’instance de IFieldValueDictionary fournie en tant qu’entrée de cette méthode doit être créée à partir d’une vue correspondant à un MethodInstance de type SpecificFinder, obtenu via la méthode GetCreatorView.

Syntaxe

Voici les signatures de méthode classiques pour une méthode Creator :

structureContainingIdentifierValues CreateEntity(EntityDataType fields)
void CreateEntity(EntityDataType fields)
structureContainingIdentifierValues CreateEntity()

Notes

Pour être qualifiée en tant que Creator, la méthode correspondante :

  • doit accepter en tant que paramètres d’entrée les champs obligatoires pour la création d’une instance dans le système externe ;

  • peut accepter des champs facultatifs dans le système externe en tant que paramètres d’entrée ;

  • peut accepter l’identificateur (ou la combinaison d’identificateurs) de l’élément en tant qu’entrée – OU – peut renvoyer l’identificateur (ou la combinaison d’identificateurs) de l’élément récemment créé ;

  • doit être transactionnelle pour représenter une protection contre toute perte de données.

La vue de Creator doit être égale à, ou être un sous-ensemble de, la vue de la méthode SpecificFinder (voir l’exemple ci-dessous). Si Creator a davantage de champs que SpecificFinder, il ne peut pas être mis hors connexion pour les clients Microsoft Office 2010.

S’il existe plusieurs recherches spécifiques, la vue de Creator doit être égale à (ou être un sous-ensemble de) au moins une vue de recherche spécifique.

Comme indiqué, la vue de Creator doit être égale à (ou être un sous-ensemble de) au moins une vue de recherche spécifique ; elle peut inclure des champs en lecture seule. En effet, dans les listes externes, les formulaires générés automatiquement de Business Connectivity Services qui sont utilisés pour la création d’éléments sont basés sur la vue de SpecificFinder. Si la vue de Creator comporte des champs supplémentaires, ils ne s’affichent pas dans les formulaires et peuvent poser des problèmes pour l’opération Créer. Pour l’éviter, Business Connectivity Services recherche cette dépendance et désactive l’opération Créer dans la liste externe, si la vue de Creator est plus grande que la vue de SpecificFinder.

Si la vue de Creator est un sous-ensemble de la vue de SpecificFinder, Business Connectivity Services autorise la création de l’élément à l’aide de l’opération Créer dans les listes externes. Toutefois, dans les scénarios hors connexion, (par exemple Microsoft Outlook), une méthode Updater est requise, car Business Connectivity Services appelle la méthode Updater juste après la méthode Create (pour la mise à jour des champs qui ne sont pas inclus dans la vue de Creator).

Le tableau 1 récapitule les dépendances pour la vue de Creator et la vue de Updater, ainsi que l’état des opérations de création et de mise à jour.

Tableau 1. Dépendances des vues de Creator et Updater avec état des opérations Create et Update

Scénario n°

Champs de la vue de SpecificFinder

Champs de la vue de Creator

Champs de la vue de Updater

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 connexion : non autorisée

Mise à jour hors connexion : non autorisée

Le champ F est introuvable dans la recherche spécifique. Par conséquent, Business Connectivity Services doit désactiver 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 connexion : autorisée

Mise à jour hors connexion : autorisée

Les valeurs du champ B et du champ E peuvent être spécifiées par l’utilisateur durant la création, mais elles 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 connexion : autorisée

Mise à jour hors connexion : autorisée

La valeur du champ B peut être spécifiée par l’utilisateur durant la création, mais elle 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 connexion, l’opération de mise à jour est appelée juste après l’opération de création.

4.     

A

B (lecture seule)

C

D

E (lecture seule)

A

B

A

C

Création : autorisée sur les formulaires EL par défaut uniquement

Mise à jour : non autorisée

Création hors connexion : non autorisée

Hors connexion

Mise à jour : non autorisée

Le champ D ne peut pas être mis à jour. En raison de cette incohérence, Business Connectivity Services doit désactiver l’opération de mise à jour.

La création hors connexion est désactivée, car il n’y a pas d’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 connexion : autorisée

Mise à jour hors connexion : non autorisée

Les valeurs du champ B et du champ 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 sur les formulaires EL par défaut uniquement

Mise à jour : non autorisée

Création hors connexion : non autorisée

Mise à jour hors connexion : non autorisée

La valeur du champ D ne peut pas être définie durant la création, et il n’existe aucune opération de mise à jour valide pour la définir ultérieurement. Par conséquent, Business Connectivity Services doit désactiver l’opération de création hors connexion.

Assurez-vous que la gestion des exceptions s’effectue correctement. Si l’opération de création échoue sur le système externe, levez les exceptions répertoriées dans le tableau 2

Tableau 2. Exceptions

Nom de l’exception

Utiliser cette exception dans la situation suivante…

AccessDeniedException

L’utilisateur n’est pas autorisé à effectuer cette opération sur le système externe.

PartialCreateException

Sur quelques systèmes externes, certains scénarios requièrent la création d’un élément avec quelques champs, puis la mise à jour du reste des champs. Lorsque l’élément est créé et l’ID renvoyé, mais que les valeurs de champs ne sont pas définies correctement, levez cette exception pour optimiser la gestion des erreurs.

RuntimeException

En cas d’échec de la création, veillez à lever cette exception pour alerter vos utilisateurs et utiliser les fonctionnalités de gestion des erreurs d’Outlook 2010 et de Microsoft SharePoint Workspace 2010.

Notes

Les noms des paramètres doivent être identiques à 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 pour toutes les méthodes, Microsoft SharePoint Designer 2010 les interprète comme des champs distincts.

Exemples

Extrait de code : Implémentation d’un Creator

Voir aussi

Concepts

Extrait de code XML : Modélisation d’une méthode Creator

Extrait de code : exécuter l’instance de méthode Creator d’un type de contenu externe