Teilen über


Schritt 2: Erstellen einer Anwendungsdefinitionsdatei für die SAP-Elemente

Schritt 2 von 4

Abgeschlossene Zeit: 15 Minuten

Ziel: Das Feature Business Data Catalog in Microsoft SharePoint Server macht Daten aus Branchenanwendungen verfügbar und integriert sie in Portale. Um diese Daten in Ihre Portalwebsite zu integrieren, müssen Sie eine Anwendungsdefinitionsdatei erstellen, die Microsoft Office SharePoint Server nutzen kann.

Mit dem Business Data Catalog Definition Editor-Tool, das mit dem Microsoft Office SharePoint Server 2007 SDK verfügbar ist, können Sie eine Anwendungsdefinitionsdatei für die Business Data Catalog erstellen. Dieses Tool generiert automatisch eine XML-Datei für die Definitionsdatei, sodass Sie die Datei nicht manuell in einem XML-Editor erstellen müssen.

Der Zweck der Microsoft Office SharePoint Server-Anwendung, die Sie erstellen, besteht darin, Folgendes zu erstellen:

  • Suchen Sie im SAP-System anhand eines Kundennamens nach einem Kunden.

  • Wählen Sie einen Kunden aus der Liste der abgerufenen Kunden aus, und rufen Sie die Details für den Kunden ab.

  • Wählen Sie einen Kunden aus der Liste der abgerufenen Kunden aus, und rufen Sie die Verkaufsaufträge für den Kunden ab.

    Für jede dieser Anforderungen müssen Sie eine Reihe von Aufgaben im Business Data Catalog Definition Editor-Tool ausführen. Dieses Thema enthält Anweisungen zum Ausführen dieser Aufgaben.

Voraussetzungen

Erstellen einer Anwendungsdefinitionsdatei

Dieses Thema enthält schrittweise Anweisungen zum Erstellen einer Anwendungsdefinitionsdatei für den WCF-Dienst.

Herstellen einer Verbindung mit dem WCF-LOB-Dienst und Erstellen von Entitäten

Sie müssen eine Verbindung mit dem WCF-Dienst herstellen, um die Web Services Description Language (WSDL) für den Dienst zu extrahieren. Aus der WSDL extrahiert der Business Data Catalog Definition Editor die Methoden. Diese Methoden können zum Erstellen von Entitäten verwendet werden. In diesem Beispiel werden zwei Entitäten erstellt, jeweils eine für kunden- und verkaufsaufträge.

So stellen Sie eine Verbindung mit dem WCF-Dienst her und erstellen Entitäten
  1. Starten Sie den Business Data Catalog Definition Editor. Klicken Sie im Menü Start auf Microsoft Business Data Catalog Definition Editor.

  2. Klicken Sie auf der Symbolleiste auf LOB-System hinzufügen.

  3. Klicken Sie im Fenster Lob-System hinzufügen auf Mit Webdienst verbinden.

  4. Geben Sie im Feld URL die URL für den WCF-Dienst ein. Die URL muss das folgende Format aufweisen:

    https://<computer_name>/Customer_Order/Rfc.svc?wsdl
    

    dabei ist Rfc.svc die Datei, die für den Rfc-Vertrag erstellt wurde.

    Die URL ist verfügbar, wenn Sie testen, ob der WCF-Dienst erfolgreich veröffentlicht wird, wie im Thema Schritt 1: Veröffentlichen der SAP-Artefakte als WCF-Dienst beschrieben.

  5. Klicken Sie auf Verbinden.

  6. Klicken Sie auf die Registerkarte Webmethode hinzufügen , um die Vorgänge anzuzeigen, die Sie im Assistenten für die Entwicklung des WCF-Adapterdiensts ausgewählt haben. Sie sehen die folgenden Methoden:

    • SD_RFC_CUSTOMER_GET

    • BAPI_SALESORDER_GETLIST

      Hinzufügen von Webmethoden zur BDC-Anwendung

      Ziehen Sie die Methoden auf die Entwurfsoberfläche. Ziehen Sie beide Vorgänge auf die verschiedenen Entitäten.

      Erstellen von Entitäten für die Webmethoden

  7. Klicken Sie auf OK.

  8. Geben Sie im Dialogfeld Name für das LOB-System eingeben einen Namen in das Feld Branchensystemname ein. Rufen Sie in diesem Beispiel Customer_Order auf, und klicken Sie dann auf OK.

  9. Im Business Data Catalog Definition Editor werden die beiden Entitäten als Entity0 und Entity1 aufgeführt. Geben Sie diesen Entitäten Anzeigenamen. Benennen Sie die Entität für SD_RFC_CUSTOMER_GET in Customer um, und benennen Sie die Entität für BAPI_SALESORDER_GETLIST in SalesOrder um. Führen Sie die folgenden Schritte aus, um die Entitäten umzubenennen:

    1. Erweitern Sie den Knoten Customer_Order und dann den Knoten Entitäten .

    2. Wählen Sie den Knoten Entity0 aus.

    3. Geben Sie im Bereich Eigenschaften den Namen Customer in das Feld Name ein.

      Umbenennen der Entität

    4. Wählen Sie den Knoten Entity1 aus.

    5. Geben Sie im Bereich Eigenschaften den Namen SalesOrder in das Feld Name ein.

Angeben von Benutzernamen- und Kennwortheadern für die Methoden

Beim Erstellen eines WCF-Diensts für die ausgewählten RFCs im SAP-System haben Sie Benutzernamen- und Kennwortheader als Teil der Endpunktverhaltenskonfiguration angegeben. Weitere Informationen finden Sie unter Schritt 1: Veröffentlichen der SAP-Artefakte als WCF-Dienst. Sie müssen dieselben Werte für die Methodeneigenschaften angeben.

So geben Sie Benutzernamen- und Kennwortheader an
  1. Fügen Sie den Benutzernamen und die Kennwortheader für die SD_RFC_CUSTOMER_GET-Methode hinzu.

    1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Kunde , und erweitern Sie dann den Knoten Methoden .

    2. Klicken Sie auf den Knoten SD_RFC_CUSTOMER_GET, und klicken Sie im Bereich Eigenschaften auf die Schaltfläche mit den Auslassungspunkten (...) im Feld Eigenschaften .

    3. Klicken Sie im Fenster PropertyView Collection Editor auf Hinzufügen, und geben Sie im Eigenschaftenbereich httpHeaderUserName als Feld Name ein. Geben Sie in ähnlicher Weise MyUserHeader für das Feld PropertyValue ein. Wählen Sie System.String für das Feld Typ aus.

      Hinzufügen einer Eigenschaft

    4. Klicken Sie im Fenster PropertyView Collection Editor auf Hinzufügen, und geben Sie im Eigenschaftenbereich httpHeaderPassword als Feld Name ein. Geben Sie in ähnlicher Weise MyPassHeader für das Feld PropertyValue ein. Wählen Sie System.String für das Feld Typ aus.

    5. Klicken Sie auf OK.

  2. Fügen Sie den Benutzernamen und die Kennwortheader für die BAPI_SALESORDER_GETLIST-Methode hinzu.

    1. Erweitern Sie im Bereich Metadatenobjekte den Knoten SalesOrder und dann den Knoten Methoden .

    2. Klicken Sie auf den Knoten BAPI_SALESORDER_GETLIST, und klicken Sie im Bereich Eigenschaften auf die Schaltfläche mit den Auslassungspunkten (...) für das Feld Eigenschaften .

    3. Klicken Sie im Fenster PropertyView Collection Editor auf Hinzufügen, und geben Sie im Eigenschaftenbereich httpHeaderUserName als Feld Name ein. Geben Sie in ähnlicher Weise MyUserHeader für das Feld PropertyValue ein. Wählen Sie System.String für das Feld Typ aus.

    4. Klicken Sie im Fenster PropertyView Collection Editor auf Hinzufügen, und geben Sie im Eigenschaftenbereich httpHeaderPassword als Feld Name ein. Geben Sie in ähnlicher Weise MyPassHeader für das Feld PropertyValue ein. Wählen Sie System.String für das Feld Typ aus.

    5. Klicken Sie auf OK.

Einrichten eines einzelnen Sign-On zum Herstellen einer Verbindung mit dem SAP-System

Nachdem Sie alle Prozeduren in diesem Thema ausgeführt haben, haben Sie eine Anwendungsdefinitionsdatei erstellt, die in eine SharePoint-Anwendung importiert werden kann. In der Anwendung rufen Sie die SAP-Methoden auf, um relevante Daten aus dem SAP-System abzurufen. Um dies zu aktivieren, müssen Sie eine Zuordnung zwischen einem Benutzer im SAP-System und dem Benutzer in der SharePoint-Anwendung erstellen. Sie erstellen diese Zuordnung in der SharePoint-Zentraladministrationskonsole, nachdem Sie die Anwendungsdefinitionsdatei importiert haben.

Zum Erstellen der Zuordnung müssen Sie jedoch eine Eigenschaft SecondarySsoApplicationId im Business Data Catalog Definition Editor festlegen.

So legen Sie die SecondarySsoApplicationId-Eigenschaft fest
  1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Customer_Order , und erweitern Sie dann den Knoten Instanzen .

  2. Klicken Sie auf Customer_Order_Instance, und klicken Sie im Bereich Eigenschaften auf die Schaltfläche mit den Auslassungspunkten (...) für das Feld Eigenschaften .

  3. Klicken Sie im Fenster PropertyView Collection Editor auf Hinzufügen, und geben Sie im Eigenschaftenbereich SecondarySsoApplicationId als Feld Name ein. Geben Sie in ähnlicher Weise SAPSSO für das Feld PropertyValue ein. Wählen Sie System.String für das Feld Typ aus.

    Hinzufügen der SSO-Eigenschaft

  4. Klicken Sie auf OK.

Anforderung 1: Suchen nach Kunden anhand des Kundennamens

Um eine Anwendungsdefinitionsdatei zu erstellen, die zum Suchen nach Kunden basierend auf dem Kundennamen verwendet werden kann, müssen Sie die folgenden Aufgaben ausführen.

  • Erstellen Sie in der SD_RFC_CUSTOMER_GET-Methode einen Filter, und ordnen Sie ihn dem Parameter zu, der den Kundennamen speichert.

  • Erstellen Sie eine Finder-Methode instance für die SD_RFC_CUSTOMER_GET-Methode. Eine Finder-Methode ruft eine Liste von Datensätzen basierend auf einem Filter ab.

So erstellen Sie einen Filter und ordnen ihn dem Kundennamenparameter zu
  1. Erstellen Sie einen Filter.

    1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Kunde , und erweitern Sie dann den Knoten Methoden .

    2. Erweitern Sie die SD_RFC_CUSTOMER_GET-Methode, klicken Sie mit der rechten Maustaste auf Filter, und klicken Sie dann auf Filter hinzufügen.

      Hinzufügen eines Filters zu einer Methode

    3. Geben Sie im Bereich Eigenschaften den Namen CustomerName in das Feld Name ein.

      Geben Sie einen Namen für den Filter an.

    4. Wählen Sie für die FilterType-Eigenschaftdie Option WildcardFilter aus.

  2. Ordnen Sie den Filter dem PARAMETER NAME1 in der SD_RFC_CUSTOMER_GET-Methode zu.

    1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Kunde , und erweitern Sie dann den Knoten Methoden .

    2. Erweitern Sie die SD_RFC_CUSTOMER_GET-Methode, und erweitern Sie dann den Knoten Parameter .

    3. Erweitern Sie den Knoten NAME1 , und klicken Sie auf den zweiten Knoten NAME1 . Der NAME1-Parameter enthält den Namen des Kunden.

    4. Wählen Sie im Bereich Eigenschaften die Option CustomerName aus der Liste FilterDescriptor aus.

      Zuordnen des Filters zu einem Methodenparameter

So erstellen Sie eine Finder-Methode instance für die SD_RFC_CUSTOMER_GET-Methode
  1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Kunde , und erweitern Sie dann den Knoten Methoden .

  2. Erweitern Sie den Knoten SD_RFC_CUSTOMER_GET , klicken Sie mit der rechten Maustaste auf Instanzen, und klicken Sie dann auf Methodeninstanz hinzufügen , um das Fenster Methodeninstanz erstellen zu öffnen.

    Hinzufügen einer Methode instance

  3. Klicken Sie im Fenster Methodeninstanz erstellen auf Finder für Methodeninstanztyp. Wählen Sie CUSTOMER_T für Return TypeDescriptor aus.

    Hinzufügen einer Findermethode instance

  4. Klicken Sie auf OK.

  5. Geben Sie im Bereich Eigenschaften in das Feld Name GetCustomerByName_Instance ein.

    Screenshot des Bereichs

Anforderung 2: Abrufen von Details für einen bestimmten Kunden aus der Kundenliste

Um eine Anwendungsdefinitionsdatei zu erstellen, die zum Suchen nach Kunden basierend auf dem Kundennamen verwendet werden kann, müssen Sie die folgenden Aufgaben ausführen.

  • Erstellen Sie in der SD_RFC_CUSTOMER_GET-Methode einen Bezeichner, und ordnen Sie ihn dem Parameter zu, der die Kundennummer speichert.

  • Erstellen Sie eine spezifische Finder-Methode instance für die SD_RFC_CUSTOMER_GET-Methode. Eine Spezifische Finder-Methode findet einen bestimmten Datensatz basierend auf einem Bezeichner.

So erstellen Sie einen Bezeichner und ordnen ihn dem Parameter "Kundennummer" zu
  1. Erstellen Sie einen Bezeichner für die Entität Customer .

    1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Kunde .

    2. Klicken Sie mit der rechten Maustaste auf den Knoten Bezeichner , und wählen Sie dann Bezeichner hinzufügen aus.

      Hinzufügen eines Bezeichners zu einer Methode

    3. Geben Sie im Bereich Eigenschaften den Namen CustomerID in das Feld Name ein.

    4. Wählen Sie System.String für das Feld Typ aus.

      Geben Sie einen Namen für den Bezeichner an.

  2. Ordnen Sie den Bezeichner dem Schlüsselparameter für die SD_RFC_CUSTOMER_GET-Methode zu.

    1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Kunde , und erweitern Sie dann den Knoten Methoden .

    2. Erweitern Sie die SD_RFC_CUSTOMER_GET-Methode, und erweitern Sie dann den Knoten Parameter .

    3. Erweitern Sie den KUNNR-Parameter , und klicken Sie dann auf den zweiten KUNNR-Knoten .

    4. Wählen Sie im Bereich Eigenschaften die Option CustomerID[Kunde] aus der Liste Bezeichner aus.

      Zuordnen des Bezeichners zu einem Parameter

  3. Richten Sie eine Zuordnung zwischen Eingabe- und Rückgabeparametern ein.

    1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Kunde , und erweitern Sie dann den Knoten Methoden .

    2. Erweitern Sie die SD_RFC_CUSTOMER_GET-Methode, und erweitern Sie dann den Knoten Parameter .

    3. Erweitern Sie den knoten CUSTOMER_T , dann den zweiten knoten CUSTOMER_T , dann den Knoten Element , und klicken Sie dann auf den Knoten KUNNR .

    4. Wählen Sie im Bereich Eigenschaften die Option CustomerID[Kunde] aus der Liste Bezeichner aus.

So erstellen Sie eine spezifische Finder-Methode instance für die SD_RFC_CUSTOMER_GET-Methode
  1. Erweitern Sie im Bereich Metadatenobjekte den Knoten Kunde und dann den Knoten Methoden .

  2. Erweitern Sie den Knoten SD_RFC_CUSTOMER_GET , klicken Sie mit der rechten Maustaste auf Instanzen, und wählen Sie dann Methodeninstanz hinzufügen aus, um das Fenster Methodeninstanz erstellen zu öffnen.

    Hinzufügen einer Methode instance

  3. Wählen Sie im Fenster Methodeinstanz erstellen die Option Spezifischer Finder für Methodeninstanztyp aus. Wählen Sie auf ähnliche Weise CUSTOMER_T für Return TypeDescriptor aus.

    Hinzufügen einer bestimmten Findermethode Instanz

  4. Klicken Sie auf OK.

  5. Geben Sie im Bereich Eigenschaften im Feld NameGetCustomerByNumber_Instance ein.

    Screenshot des Bereichs

Anforderung 3: Abrufen von Verkaufsauftragsdetails für einen bestimmten Kunden aus der Kundenliste

Um eine Anwendungsdefinitionsdatei zu erstellen, die zum Abrufen von Auftragsdetails für einen bestimmten Kunden verwendet werden kann, müssen Sie die folgenden Aufgaben ausführen.

  • Richten Sie eine Zuordnung zwischen den Entitäten Customer und SalesOrder ein.

  • Erstellen Sie eine Association-Methode für die BAPI_SALESORDER_GETLIST-Methode.

So erstellen Sie eine Zuordnung zwischen den Entitäten Customer und SalesOrder
  1. Erweitern Sie im Bereich Metadatenobjekte den Knoten SalesOrder und dann den Knoten Methoden .

  2. Erweitern Sie die BAPI_SALESORDER_GETLIST-Methode, und erweitern Sie dann den Knoten Parameter .

  3. Erweitern Sie den Knoten CUSTOMER_NUMBER , und klicken Sie dann auf den zweiten knoten CUSTOMER_NUMBER .

  4. Wählen Sie im Bereich Eigenschaften die Option CustomerID[Kunde] aus der Liste Bezeichner aus.

    Erstellen einer Zuordnung zwischen den beiden Entitäten

So erstellen Sie eine Association-Methode instance für die BAPI_SALESORDER_GETLIST-Methode
  1. Erweitern Sie im Bereich Metadatenobjekte den Knoten SalesOrder und dann den Knoten Methoden .

  2. Erweitern Sie den Knoten BAPI_SALESORDER_GETLIST , klicken Sie mit der rechten Maustaste auf Instanzen, und wählen Sie dann Methodeninstanz hinzufügen aus, um das Fenster Methodeninstanz erstellen zu öffnen.

    Hinzufügen einer Association-Methodeninstanz

  3. Wählen Sie im Fenster Methodeninstanz erstellen die Option Zuordnung für Methodeninstanztyp aus.

  4. Wählen Sie in der Liste Quellentitätendie Option Kunde aus.

  5. Wählen Sie in der Liste Return TypeDescriptordie Option SALES_ORDERS.. aus.

    Erstellen einer Association-Methodeninstanz

  6. Klicken Sie auf OK.

  7. Geben Sie im Bereich Eigenschaften für das Feld Name SalesOrderForCustomer_Instance ein.

    Geben Sie einen Namen für die Association-Methode an.

Entfernen von Parametern des System.Nullable-Typs

Beim Erstellen der Association-Methode instance für die BAPI_SALESORDER_GETLIST-Methode haben Sie den Rückgabetyp als SALES_ORDERS ausgewählt. Wenn Sie den parameter SALES_ORDER erweitern, werden Sie feststellen, dass einige Parameter vom Typ System.Nullable sind. Sie können den Parametertyp anzeigen, indem Sie den Parameter im Business Data Catalog Definition Editor auswählen und den Wert für die TypeName-Eigenschaft betrachten.

Für solche Parameter erstellt der Business Data Catalog Definition Editor einen weiteren Parameter mit dem gleichen Namen, aber mit dem Suffix "Angegeben". Sehen Sie sich beispielsweise Parameter ITM_NUMBER und ITM_NUMBERSpecified an. Microsoft Office SharePoint Server unterstützt keine System.Nullable-Parameter. Wenn Sie also Datensätze ausprobieren, die den Parametertyp System.Nullable enthalten, wird eine Ausnahme ausgelöst. Daher müssen Sie beide Parameter (mit und ohne das Suffix "Angegeben" und denselben Namen) aus dem Business Data Catalog Definition Editor entfernen.

So entfernen Sie die Parameter des Typs System.Nullable
  1. Erweitern Sie im Bereich Metadatenobjekte den Knoten SalesOrder und dann den Knoten Methoden .

  2. Erweitern Sie den Knoten BAPI_SALESORDER_GETLIST und dann den Knoten Parameter .

  3. Erweitern Sie SALES_ORDERS, den zweiten SALES_ORDERS, und erweitern Sie dann Element.

  4. Klicken Sie mit der rechten Maustaste auf den Parameter, der das Suffix "Angegeben" im Namen enthält, und wählen Sie dann Löschen aus.

  5. Klicken Sie mit der rechten Maustaste auf den Parameter, der denselben Namen wie der gelöschte Parameter ohne das Suffix hat, und wählen Sie dann Löschen aus. In der Regel befindet sich dieser Parameter direkt vor dem Parameter mit dem Suffix "Angegeben".

Festlegen von Standardparametern

Die BAPI_SALESORDER_GETLIST benötigt zwei Parameter. Einer dieser Parameter, TRANSACTION_GROUP, ist der Standardparameter. Daher müssen Sie den Standardwert für diesen Parameter festlegen.

So legen Sie den Standardwert für TRANSACTION_GROUP
  1. Erweitern Sie im Bereich Metadatenobjekte den Knoten SalesOrder und dann den Knoten Methoden .

  2. Erweitern Sie den Knoten BAPI_SALESORDER_GETLIST und dann den Knoten Instanzen .

  3. Wählen Sie die SalesOrderForCustomer_Instance-Methode instance aus, und klicken Sie im Bereich Eigenschaften auf die Schaltfläche mit den Auslassungspunkten (...) für das Feld DefaultValues.

  4. Erweitern Sie im Fenster Bearbeiten TRANSACTION_GROUP Knoten, und geben Sie für das Feld TRANSACTION_GROUP den Standardwert 0 an.

    Geben Sie einen Standardwert für die Methode instance

  5. Klicken Sie auf Schließen.

Exportieren der Anwendungsdefinition in eine Datei

Sie haben nun eine Anwendungsdefinition erstellt, die das SAP-System instance Metadaten enthält. Sie müssen diese Definition in eine XML-Datei exportieren, die in Microsoft Office SharePoint Server importiert werden kann.

So exportieren Sie die Anwendungsdefinition in eine Datei
  1. Klicken Sie im Bereich Metadatenobjekte mit der rechten Maustaste auf den Knoten Customer_Order , und klicken Sie dann auf Exportieren.

  2. Speichern Sie die Datei als Customer_Order.xml.

Nächste Schritte

Sie müssen jetzt eine SharePoint-Anwendung erstellen, um Daten aus einem SAP-System abzurufen. Anweisungen finden Sie unter Schritt 3: Erstellen einer SharePoint-Anwendung zum Abrufen von Daten aus SAP .

Weitere Informationen

Tutorial 1: Darstellen von Daten aus einem SAP-System auf einer SharePoint-Website