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.
Hinweis: |
---|
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 |
|
OR |
|
NOT |
|
() |
|
BETWEEN |
|
LIKE |
|
TOP |
|
= |
|
!= |
|
> |
|
>= |
|
!> |
|
< |
|
<= |
|
!< |
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 |
|