Fournisseur de données Microsoft .NET pour mySAP Business Suite

Mis à jour : 14 avril 2006

SQL Server 2005 prend en charge l'accès aux données SAP à l'aide du fournisseur de données Microsoft .NET pour mySAP Business Suite. Ce fournisseur vous permet de créer un package que vous connectez à une solution mySAP Business Suite, puis d'exécuter les commandes sur le serveur. Vous pouvez également créer des rapports Reporting Services sur un serveur SAP. Le fournisseur de données Microsoft .NET pour mySAP Business Suite est testé sur SAP R/3 versions 4.6C et supérieures. Les versions antérieures de SAP R/3 ne sont pas prises en charge.

Vous pouvez utiliser le fournisseur de données Microsoft .NET pour mySAP Business Suite dans l'Assistant Importation et Exportation SQL Server, la tâche de script, la source DataReader et la transformation de script que Integration Services fournit, ainsi que les extensions pour le traitement des données de Reporting Services.

Le fournisseur de données Microsoft .NET pour mySAP Business Suite n'est pas inclus dans SQL Server 2005, vous devez le télécharger à partir de l'adresse suivante : http://msdn.microsoft.com/downloads/.

Configuration requise

Avant d'utiliser le fournisseur de données Microsoft .NET pour mySAP Business Suite, vous devez installer les éléments suivants :

  • La DLL SAP librfc32.dll. La DLL SAP est installée par l'exécutable SAPgui. La DLL SAP doit être installée sur le même ordinateur que le fournisseur de données Microsoft .NET pour mySAP Business Suite et Integration Services ou Reporting Services.
  • Deux appels de fonction distants personnalisés doivent être installés sur le serveur SAP. Les appels de fonction distants sont d'abord installés sur le même ordinateur que la DLL SAP, puis transportés vers le serveur SAP par l'administrateur SAP.

Pour plus d'informations sur l'installation du fournisseur de données Microsoft .NET pour mySAP Business Suite, consultez le fichier LisezMoi téléchargé en même temps que le fournisseur à partir de http://msdn.microsoft.com/downloads/.

Fonctionnalités

Le fournisseur Microsoft .NET pour SAP prend en charge deux types de commandes : l'exécution de RFC/BAPI et les requêtes SELECT sur des tables SAP.

Exécution de RFC/BAPI

Une commande peut être spécifiée sur le fournisseur Microsoft .NET pour SAP afin d'exécuter une commande RFC (Remote Function Calls) ou un appel des interfaces BAPI (Business Application Programming Interfaces) SAP.

Syntaxe

La syntaxe suivante est prise en charge pour la commande EXEC :

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

Le tableau suivant décrit les éléments de la syntaxe.

Élément Description

rfc_name

Spécifie le nom de la fonction, qui peut être une fonction RFC ou BAPI.

@parameter

Spécifie le nom du paramètre dans la définition de l'interface de la fonction.

Valeur

Spécifie la valeur du paramètre. La valeur peut être une chaîne, un entier ou une constante XML.

@variable

Spécifie la variable qui contient la valeur du paramètre.

OUTPUT

Indique si le paramètre RFC est OUTPUT ou INPUT/OUTPUT.

Exemples

Les exemples suivants illustrent la syntaxe des instructions EXEC.

L'instruction EXEC suivante exécute une commande BAPI dépourvue de paramètres d'entrée.

EXEC BAPI_COMPANYCODE_GETLIST

L'instruction EXEC suivante exécute une commande RFC dotée d'un paramètre d'entrée. Le paramètre spécifie un nom et une valeur.

EXEC RFC_CUSTOMER_GET @NAME1='Contoso'

L'instruction EXEC suivante exécute une commande RFC dotée d'un paramètre d'entrée. Aucun nom n'est spécifié et seule une valeur est utilisée.

EXEC RFC_CUSTOMER_GET '1001'

L'instruction EXEC suivante exécute une commande RFC dotée d'un paramètre d'entrée spécifié dans une variable.

Pour exécuter cette instruction, vous devez créer un objet SAPParameter nommé **@var**, lui attribuer la valeur 1 001 et l'ajouter à l'objet SAPCommand correspondant à la requête. La valeur de la variable doit être 1001 car le premier paramètre de RFCRFC_CUSTOMER_GET correspond à KUNNR.

EXEC RFC_CUSTOMER_GET @var

L'instruction EXEC suivante exécute une commande RFC qui utilise deux paramètres. Le premier paramètre, KUNNR, a pour valeur *, afin de représenter tous les numéros de client, tandis que le second paramètre, NAME1, a pour valeur la variable **@var1**.

Pour exécuter cette instruction, vous devez créer un objet SAPParameter nommé **@var1**, spécifier sa valeur et ajouter le nouvel objet à l'objet SAPCommand correspondant à la requête. La direction de l'objet SAPParameter doit être input.

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

L'instruction EXEC suivante exécute une commande BAPI qui renvoie des noms de sociétés et des informations sur chacune d'elles.

Pour exécuter cette instruction, vous devez créer un objet SAPParameter nommé **@tableVar**, spécifier sa valeur et ajouter l'objet SAPParameter à l'objet SAPCommand correspondant à la requête. La direction de l'objet SAPParameter créé doit être inputoutput.

EXEC BAPI_COMPANYCODE_GETLIST @COMPANYCODE_LIST=@tableVar OUTPUT

Requêtes Select sur une table SAP

Une commande peut être spécifiée sur le fournisseur Microsoft .NET pour SAP afin d'exécuter une syntaxe limitée de requêtes SELECT sur des tables SAP, y compris des tables transparentes, en cluster et en pool.

ms141761.note(fr-fr,SQL.90).gifRemarque :
La syntaxe de requête n'est pas une syntaxe standard Transact-SQL. Il s'agit d'une syntaxe limitée qui ne peut être appliquée qu'à une seule table.

Syntaxe

La syntaxe prise en charge pour la commande SELECT est la suivante :

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

Le tableau suivant répertorie les clauses prises en charge par la syntaxe SELECT.

Clause Description

SELECT liste_sélection

Colonnes du jeu de résultats. La liste_sélection est une liste d'expressions séparées par des virgules. Un nom de colonne peut être complet. Vous pouvez affecter un alias à chaque colonne. Le caractère générique * représente toutes les colonnes.

INTO FILE nom_fichier

Spécifie le nom du fichier dans lequel les données extraites sont écrites lors de l'utilisation du mode fichier plat dans la requête.

FROM nom_table

Table dont les données sont extraites.

WHERE conditions_recherche

Filtre définissant les conditions auxquelles chaque ligne des tables source doit satisfaire pour être sélectionnée par l'instruction SELECT.

OPTION

Macros qui s'appliquent aux données extraites de la table SAP. Si cette option a pour valeur « no_conversion », aucune macro n'est appliquée.

Pour plus d'informations sur les clauses SELECT, consultez Éléments d'une instruction SELECT.

Le tableau suivant répertorie les opérateurs logiques et de comparaison pris en charge par la syntaxe SELECT.

Opérateur Rubrique Transact-SQL

AND

AND (Transact-SQL)

OR

OR (Transact-SQL)

NOT

NOT (Transact-SQL)

()

Priorités des opérateurs (Transact-SQL)

BETWEEN

BETWEEN (Transact-SQL)

LIKE

LIKE (Transact-SQL)

TOP

TOP (Transact-SQL)

=

= (Equals) (Transact-SQL)

!=

!= (différent de) (Transact-SQL)

>

!> (Non supérieur à) (Transact-SQL)

>=

>= (Supérieur ou égal à) (Transact-SQL)

!>

!> (Non supérieur à) (Transact-SQL)

<

< (Inférieur à) (Transact-SQL)

<=

<= (Inférieur ou égal à) (Transact-SQL)

!<

!< (Non inférieur à) (Transact-SQL)

Exemples

Les exemples suivants illustrent la syntaxe des instructions SELECT.

L'instruction SELECT suivante retourne toutes les colonnes dans la table SPFLI.

SELECT * FROM SPFLI

L'instruction SELECT suivante écrit les données de la table SPFLI dans le fichier flight.txt situé dans le dossier Extracts de l'ordinateur SAPSERVER.

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

L'instruction SELECT suivante renvoie toutes les colonnes de la table SPFLI relatives aux vols au départ de New York et à destination de San Francisco.

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

L'instruction SELECT suivante retourne toutes les colonnes de la table SPFLI relatives aux vols au départ de New York et dont la valeur de l'identificateur est comprise entre 1 000 et 5 000.

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

Vous pouvez utiliser l'instruction suivante pour renvoyer le même jeu de résultats.

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

L'instruction SELECT suivante renvoie toutes les colonnes de la table SPFLI relatives aux vols au départ de New York et à destination d'une ville spécifiée par la valeur d'une variable.

Pour exécuter cette instruction, vous devez créer un objet SAPParameter nommé **@variable**, spécifier sa valeur et ajouter l'objet SAPParameter à l'objet SAPCommand correspondant à la requête.

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

Voir aussi

Autres ressources

Configuration de Reporting Services pour utiliser le fournisseur de données Microsoft .NET pour mySAP Business Suite
Connexions d'Integration Services

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

5 décembre 2005

Contenu modifié :
  • Suppression de la section sur Reporting Services. Ajout d'un lien Voir aussi vers la rubrique relative à Reporting Services.