Microsoft .NET-Datenprovider für mySAP Business Suite

Aktualisiert: 14. April 2006

SQL Server 2005 schließt Unterstützung für den Zugriff auf SAP-Daten mithilfe des Microsoft .NET-Datenproviders für mySAP Business Suite ein. Mit diesem Anbieter können Sie ein Paket erstellen, das eine Verbindung zu einer mySAP Business Suite-Lösung herstellen und dann Befehle auf dem Server ausführen kann. Außerdem können Sie Reporting Services-Berichte für einen SAP-Server erstellen. Der Microsoft .NET-Datenprovider für mySAP Business Suite wurde auf SAP R/3, Version 4.6C und höher, getestet. Frühere Versionen von SAP R/3 werden nicht unterstützt.

Sie können den Microsoft .NET-Datenprovider für mySAP Business Suite im SQL Server-Import/Export-Assistenten, im Skripttask, in der DataReader-Quelle und in der von Integration Services bereitgestellten Skripttransformation sowie in den Datenverarbeitungserweiterungen in Reporting Services verwenden.

Da der Microsoft .NET-Datenprovider für mySAP Business Suite nicht in SQL Server 2005 enthalten ist, müssen Sie ihn von https://msdn.microsoft.com/downloads/ downloaden.

Voraussetzungen

Bevor Sie den Microsoft .NET-Datenprovider für mySAP Business Suite verwenden können, müssen Sie Folgendes installieren:

  • Die SAP-DLL librfc32.dll. Die SAP-DLL wird beim Ausführen der ausführbaren Datei SAPgui installiert. Die SAP-DLL muss auf demselben Computer wie der Microsoft .NET-Datenprovider für mySAP Business Suite und Integration Services bzw. Reporting Services installiert sein.
  • Auf dem SAP-Server müssen zwei benutzerdefinierte Remotefunktionsaufrufe installiert werden. Die Remotefunktionsaufrufe werden zunächst auf demselben Computer installiert wie die SAP-DLL und anschließend durch den SAP-Administrator auf den SAP-Server übertragen.

Weitere Informationen zum Installieren des Microsoft .NET-Datenproviders für mySAP Business Suite finden Sie in der Infodatei, die Sie zusammen mit dem Anbieter von https://msdn.microsoft.com/downloads/ downloaden können.

Features

Der Microsoft .NET-Datenprovider für SAP unterstützt zwei Befehlstypen: Exec RFCs/BAPIs und SELECT-Abfragen für SAP-Tabellen.

Exec RFCs/BAPIs

Für den Microsoft .NET-Datenprovider für SAP kann ein Befehl angegeben werden, um einen Remotefunktionsaufruf (Remote Function Call, RFC) auszuführen oder um einen Aufruf für die SAP Business Application Programming Interfaces (BAPI) auszuführen.

Syntax

Die folgende Syntax wird für den EXEC-Befehl unterstützt:

EXEC rfc_name
[{value | @variable [OUTPUT]}][,...n]
[@parameter = {value | @variable [OUTPUT]}][,...n] [;]

Die folgende Tabelle enthält eine Auflistung der Syntaxelemente.

Element Beschreibung

rfc_name

Gibt den Namen der Funktion an, bei der es sich um eine RFC oder BAPI handeln kann.

@parameter

Gibt den Namen des Parameters in der Schnittstellendefinition der Funktion an.

Wert

Gibt den Parameterwert an. Bei dem Wert kann es sich um eine Zeichenfolge, eine ganze Zahl oder eine XML-Konstante handeln.

@variable

Gibt die Variable mit dem Parameterwert an.

OUTPUT

Gibt an, ob es sich bei dem RFC-Parameter um einen INPUT- oder einen INPUT/OUTPUT-Parameter handelt.

Beispiele:

Die folgenden Beispiele zeigen die Syntax für EXEC-Anweisungen.

Die folgende EXEC-Anweisung führt eine BAPI ohne Eingabeparameter aus.

EXEC BAPI_COMPANYCODE_GETLIST

Die folgende EXEC-Anweisung führt einen RFC mit einem Eingabeparameter aus. Der Parameter gibt einen Namen und einen Wert an.

EXEC RFC_CUSTOMER_GET @NAME1='Contoso'

Die folgende EXEC-Anweisung führt einen RFC mit einem Eingabeparameter aus. Es ist kein Name angegeben, und es wird nur ein Wert verwendet.

EXEC RFC_CUSTOMER_GET '1001'

Die folgende EXEC-Anweisung führt einen RFC mit einem Eingabeparameter aus, der in einer Variable angegeben ist.

Um diese Anweisung auszuführen, müssen Sie ein SAPParameter-Objekt mit dem Namen @var erstellen, seinen Wert auf 1001 festlegen und es entsprechend der Abfrage dem SAPCommand-Objekt hinzufügen. Der Wert der Variable muss 1001 ein, da der erste Parameter für RFCRFC_CUSTOMER_GET dem Wert KUNNR entspricht.

EXEC RFC_CUSTOMER_GET @var

Die folgende EXEC-Anweisung führt einen RFC mit zwei Parametern aus. Der Wert des ersten Parameters, KUNNR, ist auf * festgelegt, um alle Kundennummern anzugeben. Der zweite Parameter, NAME1, ist auf den Wert der Variablen, @var1, festgelegt.

Um diese Anweisung auszuführen, müssen Sie ein SAPParameter-Objekt mit dem Namen @var1 erstellen, seinen Wert festlegen und das neue Objekt entsprechend der Abfrage dem SAPCommand-Objekt hinzufügen. Die Richtung des SAPParameter-Objekts muss input sein.

RFC_CUSTOMER_GET @KUNNR='*',@NAME1=@var1

Die folgende EXEC-Anweisung führt eine BAPI aus, die Firmennamen und Informationen zu den einzelnen Firmen zurückgibt.

Um diese Anweisung auszuführen, müssen Sie ein SAPParameter-Objekt mit dem Namen @tableVar erstellen, seinen Wert festlegen und den SAP-Parameter entsprechend der Abfrage dem SAPCommand-Objekt hinzufügen. Die Richtung des SAPParameter-Objekts muss inputoutput sein.

EXEC BAPI_COMPANYCODE_GETLIST @COMPANYCODE_LIST=@tableVar OUTPUT

SELECT-Abfragen für eine SAP-Tabelle

Für den Microsoft .NET-Datenprovider für SAP kann ein Befehl angegeben werden, um eine begrenzte Syntax von SELECT-Abfragen für SAP-Tabellen auszuführen, einschließlich transparenter, Cluster- und Pooltabellen.

ms141761.note(de-de,SQL.90).gifHinweis:
Die Abfragesyntax entspricht nicht dem standardmäßigen Transact-SQL. Es handelt sich um eine begrenzte Syntax, die nur auf eine einzelne Tabelle angewendet werden kann.

Syntax

Die unterstützte Syntax für den SELECT-Befehl lautet folgendermaßen:

SELECT [TOP n] {ColumnName [AS Alias] | TableName.* | *}[1,..n]
[INTO FILE FileName [DELIMITED]]
FROM TableName [AS Alias]
[WHERE search_conditions] [OPTION 'no_conversion'] [;]

Die folgende Tabelle enthält eine Auflistung der Klauseln, die von der SELECT-Syntax unterstützt werden.

Klausel Beschreibung

SELECT select_list

Die Spalten des Resultsets. Die select_list ist eine durch Trennzeichen getrennte Liste von Ausdrücken. Ein Spaltenname kann vollqualifiziert sein. Sie können jeder Spalte einen Alias zuweisen. Das Platzhalterzeichen * gibt alle Spalten an.

INTO FILE FileName

Gibt den Namen der Datei an, in die die extrahierten Daten geschrieben werden, wenn in der Abfrage der Flatfilemodus verwendet wird.

FROM TableName

Die Tabelle, aus der die Daten abgerufen werden.

WHERE search_conditions

Der Filter, der die Bedingungen angibt, die die einzelnen Zeilen in den Quelltabellen erfüllen müssen, um für die SELECT-Anweisung berechtigt zu sein.

OPTION

Die Makros, die auf die aus der SAP-Tabelle extrahierten Daten angewendet werden. Ist diese Option auf 'no_conversion' festgelegt, werden keine Makros angewendet.

Weitere Informationen zu SELECT-Klauseln finden Sie unter Teile einer SELECT-Anweisung.

Die folgende Tabelle enthält eine Auflistung der logischen und Vergleichsoperatoren, die von der SELECT-Syntax unterstützt werden.

Operator Transact-SQL-Thema

AND

AND (Transact-SQL)

OR

OR (Transact-SQL)

NOT

NOT (Transact-SQL)

()

Operatorrangfolge (Transact-SQL)

BETWEEN

BETWEEN (Transact-SQL)

LIKE

LIKE (Transact-SQL)

TOP

TOP (Transact-SQL)

=

= (Gleich) (Transact-SQL)

!=

!= (Ungleich) (Transact-SQL)

>

!> (Nicht größer als) (Transact-SQL)

>=

>= (Größer als oder gleich) (Transact-SQL)

!>

!> (Nicht größer als) (Transact-SQL)

<

< (Kleiner als) (Transact-SQL)

<=

<= (Kleiner als oder gleich) (Transact-SQL)

!<

!< (Nicht kleiner als) (Transact-SQL)

Beispiele

Die folgenden Beispiele zeigen die Syntax für SELECT-Anweisungen.

Die folgende SELECT-Anweisung gibt alle Spalten in der SPFLI-Tabelle zurück.

SELECT * FROM SPFLI

Die folgende SELECT-Anweisung schreibt die Daten aus der SPFLI-Tabelle in die Datei Flight.txt, die sich im Ordner Extracts auf dem SAPSERVER-Computer befindet.

SELECT * INTO FILE '\\SAPServer\Extracts\flight.txt' FROM SPFLI

Die folgende SELECT-Anweisung gibt alle Spalten in der SPFLI--Tabelle für Flüge von New York nach San Francisco zurück.

SELECT* FROM SPFLI WHERE cityfrom='NEW YORK’ AND cityto=’SAN FRANCISCO’

Die folgende SELECT-Anweisung gibt alle Spalten in der SPFLI-Tabelle für die Flüge von New York zurück, deren Bezeichner zwischen 1000 und 5000 liegt.

SELECT * FROM SPFLI where cityfrom=’NEW YORK' AND (connid BETWEEN 1000 and 5000)

Mit der folgenden Anweisung wird dasselbe Resultset zurückgegeben.

SELECT * FROM SPFLI where cityfrom='NEW YORK' AND (connid>1000 AND connid<5000)

Die folgende SELECT-Anweisung gibt alle Spalten in der SPFLI-Tabelle für Flüge von New York in eine Stadt zurück, die durch den Wert einer Variablen festgelegt wird.

Um diese Anweisung auszuführen, müssen Sie ein SAPParameter-Objekt mit dem Namen @variable erstellen, seinen Wert angeben und das SAPParameter-Objekt entsprechend der Abfrage dem SAPCommand-Objekt hinzufügen.

SELECT * FROM SPFLI WHERE cityfrom='NEW YORK' AND cityto=@variable

Siehe auch

Andere Ressourcen

Konfigurieren von Reporting Services für die Verwendung des Microsoft .NET-Datenproviders für mySAP Business Suite
SQL Server Integration Services-Verbindungen

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Geänderter Inhalt:
  • Ein Abschnitt zu Reporting Services wurde entfernt. Eine Siehe auch-Verknüpfung mit einem Reporting Services-Thema wurde hinzugefügt.