Freigeben über


Implementieren eines "Creator"

Letzte Änderung: Dienstag, 20. April 2010

Gilt für: SharePoint Server 2010

Inhalt dieses Artikels
Beschreibung
Syntax
Hinweise
Beispiele

Beschreibung

Mithilfe einer Creator-Methodeninstanz können Sie eine neue Entitätsinstanz erstellen. Wenn beispielsweise ein Geschäftsobjekt namens Customer gegeben ist, können Sie mit dieser Methode einen Kunden "John" im externen System erstellen.

Hat ein externer Inhaltstyp kein Creator-Stereotyp, können neue Elemente (Entitätsinstanzen) nicht mithilfe der Business-Konnektivitätsdienste (Business Connectivity Services)-Features erstellt werden. Beispielsweise haben Sie nicht die Möglichkeit, auf dem Menüband einer externen Liste auf die Schaltfläche Neues Element zu klicken, um ein Element zu erstellen.

Mithilfe einer Create-Methode können Sie externe Elemente auf dem externen System erstellen, indem Sie die Werte der Felder angeben, die für Create erforderlich sind. Die Gruppe von Feldern, die zum Erstellen des neuen Elements benötigt werden, wird als die "Creator"-Ansicht bezeichnet. Die Feldwerte entsprechen nicht notwendigerweise Feldern eines externen Elements. Die Methode muss die Identität zurückgeben, die dem erstellten externen Element entspricht. Die IFieldValueDictionary-Instanz, die als Eingabe zu dieser Methode bereitgestellt wird, sollte in einer Ansicht erstellt werden.

Mit dieser Methode können Sie außerdem ein externes Element durch Angeben der Werte von Feldern des erstellten externen Elements anlegen. Wenn die Create-Methodeninstanz alle bereitgestellten Felder annimmt, ruft BDC nur die Create-Methodeninstanz auf. Andernfalls ruft BDC auch Update MethodInstance für das erstellte externe Element auf, um die angegebenen Werte für die verbleibenden Felder festzulegen. Die Methode gibt die EntityInstanceReference an das erstellte externe Inhaltselement zurück. Die IFieldValueDictionary-Instanz, die als Eingabe zu dieser Methode bereitgestellt wird, sollte in einer Ansicht erstellt werden, die einer MethodInstance vom Typ SpecificFinder entspricht, die über die GetCreatorView-Methode abgerufen wurde.

Syntax

Im Folgenden die typischen Methodensignaturen für eine Creator-Methode:

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

Hinweise

Für die Verwendung als Creator sollte die entsprechende Methode folgende Bedingungen erfüllen:

  • Sie sollte als Eingabeparameter die Felder verwenden, die zum Erstellen einer Instanz in dem externen System obligatorisch sind.

  • Sie kann optionale Felder im externen System als Eingabeparameter verwenden.

  • Sie kann den Bezeichner (oder eine Kombination aus Bezeichnern) des Elements als Eingabe verwenden – OR – sie kann den Bezeichner (oder die Kombination aus Bezeichnern) für das neu erstellte Element verwenden.

  • Sie sollte transaktional sein, damit Schutz vor Datenverlust besteht.

Die Creator-Ansicht sollte der Ansicht der SpecificFinder-Methode entsprechen oder eine Teilmenge dieser Ansicht sein (siehe Beispiel unten). Wenn ein Creator mehr Felder hat als ein SpecificFinder, kann er nicht auf Microsoft Office 2010-Clients offline geschaltet werden.

Sind mehrere bestimmte Suchmethoden vorhanden, sollte die CreatorAnsicht mindestens einer Ansicht einer bestimmten Suchmethode entsprechen oder eine Teilmenge dieser sein.

Wie bereits erwähnt, muss die Creator-Ansicht mindestens einer Ansicht einer bestimmtem Suchenmethode entsprechen oder eine Teilmenge dieser sein (sie kann schreibgeschützte Felder enthalten). Der Grund hierfür ist, dass in externen Listen die automatisch generierten Business-Konnektivitätsdienste (Business Connectivity Services)-Formulare, die zum Erstellen von Elementen dienen, auf der SpecificFinder-Ansicht basieren. Enthält die Creator-Ansicht zusätzliche Felder, sollen diese nicht auf den automatisch generierten Formularen angezeigt werden, da sie Probleme mit dem Create-Vorgang verursachen können. Damit dies vermieden wird, prüft Business-Konnektivitätsdienste (Business Connectivity Services), ob diese Abhängigkeit vorhanden ist, und deaktiviert den Create-Vorgang für die externe Liste, wenn die Creator-Ansicht größer ist als die SpecificFinder-Ansicht.

Ist die Creator-Ansicht eine Teilmenge der SpecificFinder-Ansicht, lässt Business-Konnektivitätsdienste (Business Connectivity Services) die Erstellung des Elements mit dem Create-Vorgang in externen Listen zu. Für Offlineszenarien (beispielsweise Microsoft Outlook wird jedoch eine Updater-Methode benötigt, weil Business-Konnektivitätsdienste (Business Connectivity Services) die Updater-Methode unmittelbar nach der Create-Methode aufruft (zum Aktualisieren der Felder, die nicht in der Creator-Ansicht enthalten sind).

In Tabelle 1 sehen Sie eine Aufstellung der Abhängigkeiten für die Creator-Ansicht und die Updater-Ansicht sowie den Status von Erstellungs- und Aktualisierungsvorgängen.

Tabelle 1. Abhängigkeiten für Creator- und Update-Ansicht, Status für Erstellungs- und Aktualisierungsvorgänge

Szenario#

Felder in "SpecificFinder"-Ansicht

Felder in "Creator"-Ansicht

Felder in "Updater"-Ansicht

Zulässige Vorgänge

Hinweise

1.     

A

B (schreibgeschützt)

C

D

E (schreibgeschützt)

A

B

C

D

E

F

A

C

D

F

Erstellen: Nicht zulässig

Aktualisieren: Nicht zulässig

Offlineerstellung: Nicht zulässig

Offlineaktualisierung: Nicht zulässig

Feld F wird in der speziellen Suchmethode nicht gefunden. Demzufolge werden Erstellungs- und Aktualisierungsvorgänge von BCS deaktiviert.

2.     

A

B (schreibgeschützt)

C

D

E (schreibgeschützt)

A

B

C

D

E

A

C

D

Erstellen: Zulässig

Aktualisieren: Zulässig

Offlineerstellung: Zulässig

Offlineaktualisierung: Zulässig

Die Werte der Felder B und E können vom Benutzer bei der Erstellung angegeben, aber später nicht aktualisiert werden.

3.     

A

B (schreibgeschützt)

C

D

E (schreibgeschützt)

A

B

A

C

D

Erstellen: Zulässig

Aktualisieren: Zulässig

Offlineerstellung: Zulässig

Offlineaktualisierung: Zulässig

Der Wert des Felds B kann vom Benutzer bei der Erstellung angegeben, aber später nicht aktualisiert werden.

Der Wert des Felds E wird vom externen System zugewiesen und kann nicht vom Benutzer aktualisiert werden.

Für die Offlineerstellung wird der Aktualisierungsvorgang sofort nach der Erstellung aufgerufen.

4.     

A

B (schreibgeschützt)

C

D

E (schreibgeschützt)

A

B

A

C

Erstellen: Zulässig nur für EL-Standardformulare

Aktualisieren: Nicht zulässig

Offlineerstellung: Nicht zulässig

Offline

Aktualisieren: Nicht zulässig

Feld D kann nicht aktualisiert werden. Aufgrund dieser Inkonsistenz wird der Aktualisierungsvorgang von BCS deaktiviert.

Die Offlineerstellung ist deaktiviert, da es keinen gültigen Aktualisierungsvorgang gibt.

5.     

A

B (schreibgeschützt)

C

D

E (schreibgeschützt)

A

C

D

Kein Aktualisierungsvorgang definiert

Erstellen: Zulässig

Aktualisieren: Nicht zulässig

Offlineerstellung: Zulässig

Offlineaktualisierung: Nicht zulässig

Die Werte der Felder B und E werden vom externen System zugewiesen.

6.     

A

B (schreibgeschützt)

C

D

E (schreibgeschützt)

A

B

C

Kein Aktualisierungsvorgang definiert

Erstellen: Zulässig nur für EL-Standardformulare

Aktualisieren: Nicht zulässig

Offlineerstellung: Nicht zulässig

Offlineaktualisierung: Nicht zulässig

Der Wert des Felds D kann nicht bei der Erstellung festgelegt werden, und es ist kein gültiger Aktualisierungsvorgang definiert, um ihn später festzulegen. Daher wird die Offlineerstellung von BCS deaktiviert.

Stellen Sie sicher, dass Ausnahmen korrekt behandelt werden. Wenn bei dem Erstellungsvorgang auf dem externen System ein Fehler auftritt, lösen Sie die in Tabelle 2 aufgelisteten Ausnahmen aus.

Tabelle 2. Ausnahmen

Name der Ausnahme

Verwendung in folgendem Fall

AccessDeniedException

Der Benutzer ist zu diesem Vorgang im externen System nicht berechtigt.

PartialCreateException

Auf manchen externen Systemen gibt es Szenarien, in denen es erforderlich ist, ein neues Element mit einigen Feldern zu erstellen und dann die übrigen Felder zu aktualisieren. Wenn das Element erstellt und der Bezeichner zurückgegeben wurde, die Feldwerte aber nicht korrekt festgelegt wurden, lösen Sie diesen Fehler aus, um die Fehlerbehandlung zu optimieren.

RuntimeException

Wenn bei der Erstellung ein Fehler auftritt, lösen Sie unbedingt diese Ausnahme aus, um Ihre Benutzer auf den Fehler hinweisen und die Fehlerbehandlungsfeatures in Outlook 2010 und Microsoft SharePoint Workspace 2010 verwenden zu können.

HinweisHinweis

Die Namen der Parameter müssen mit den Definitionen im externen System übereinstimmen. Bei Namen von Parametern muss die Groß-/Kleinschreibung beachtet werden. Wenn die Namen der Parameter nicht für alle Methoden identisch sind, werden sie von Microsoft SharePoint Designer 2010 als unterschiedliche Felder interpretiert.

Beispiele

Codeausschnitt: Implementieren von "Creator"

Siehe auch

Konzepte

XML-Codeausschnitt: Modellieren einer Creator-Methode

Codeausschnitt: Ausführen der "Creator"-Methodeninstanz eines externen Inhaltstyps