Condividi tramite


Microsoft .NET Data Provider for mySAP Business Suite

Data aggiornamento: 14 aprile 2006

SQL Server 2005 supporta l'accesso ai dati SAP mediante l'utilizzo del provider di dati Microsoft .NET per la famiglia di prodotti business mySAP. Questo provider consente di creare un pacchetto in grado di connettersi a una soluzione basata sulla famiglia di prodotti business mySAP e quindi eseguire comandi sul server. È inoltre possibile creare report Reporting Services su un server SAP. Microsoft .NET Data Provider for mySAP Business Suite è stato testato su SAP R/3 versioni 4.6C e successive. Le versioni precedenti di SAP R/3 non sono supportate.

È possibile utilizzare Microsoft .NET Data Provider for mySAP Business Suite in Importazione/Esportazione guidata SQL Server, nell'attività Script, nell'origine DataReader, nella trasformazione Script inclusa in Integration Services, nonché nelle estensioni per l'elaborazione dati di Reporting Services.

Microsoft .NET Data Provider for mySAP Business Suite non è incluso in SQL Server 2005, ma può essere scaricato dal sito https://msdn.microsoft.com/downloads/.

Prerequisiti

Per utilizzare il provider di dati Microsoft .NET per la famiglia di prodotti business mySAP, è necessario installare i componenti seguenti:

  • DLL librfc32.dll di SAP. La DLL di SAP può essere installata utilizzando l'eseguibile SAPgui e deve essere installata sul computer in cui si trovano Microsoft .NET Data Provider for mySAP Business Suite e Integration Services o Reporting Services.
  • Nel server SAP devono essere installate due RFC (Remote Function Calls) personalizzate. Le RFC vengono installate innanzitutto nello stesso computer della DLL SAP e quindi vengono trasferite nel server SAP dall'amministratore SAP.

Per ulteriori informazioni sull'installazione di Microsoft .NET Data Provider for mySAP Business Suite, vedere il file Leggimi che viene scaricato insieme al provider dal sito https://msdn.microsoft.com/downloads/.

Funzionalità

Il provider Microsoft .NET per SAP supporta due tipi di comandi: esecuzione di RFC o BAPI e query SELECT sulle tabelle SAP.

Esecuzione di RFC o BAPI

È possibile eseguire RFC (Remote Function Call) o una chiamata alla BAPI (Business Application Programming Interfaces) SAP specificando un apposito comando per il provider Microsoft .NET per SAP.

Sintassi

La sintassi supportata per il comando EXEC è la seguente:

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

Nella tabella seguente sono elencati elementi sintattici.

Elemento Descrizione

rfc_name

Specifica il nome della funzione, che può essere una RFC o BAPI.

@parameter

Specifica il nome del parametro nella definizione dell'interfaccia della funzione.

Value

Specifica il valore del parametro. Il valore può essere una stringa, un valore integer o una costante XML.

@variable

Specifica la variabile che contiene il valore del parametro.

OUTPUT

Indica se il parametro RFC è OUTPUT o INPUT/OUTPUT.

Esempi

Negli esempi seguenti viene illustrata la sintassi delle istruzioni EXEC.

L'istruzione EXEC seguente esegue una BAPI senza parametri di input.

EXEC BAPI_COMPANYCODE_GETLIST

L'istruzione EXEC seguente esegue una RFC con un parametro di input. Il parametro specifica un nome e un valore.

EXEC RFC_CUSTOMER_GET @NAME1='Contoso'

L'istruzione EXEC seguente esegue una RFC con un parametro di input. Non è specificato alcun nome, viene utilizzato solo un valore.

EXEC RFC_CUSTOMER_GET '1001'

L'istruzione EXEC seguente esegue una RFC con un parametro di input specificato in una variabile.

Per eseguire questa istruzione è necessario creare un oggetto SAPParameter con il nome @var, impostarne il valore su 1001 e aggiungerlo all'oggetto SAPCommand che corrisponde alla query. Il valore della variabile deve essere 1001 poiché il primo parametro per RFCRFC_CUSTOMER_GET corrisponde a KUNNR.

EXEC RFC_CUSTOMER_GET @var

L'istruzione EXEC seguente esegue una RFC che utilizza due parametri. Il valore del primo parametro, KUNNR, è impostato su *, a indicare tutti i numeri dei clienti e il secondo parametro, NAME1, è impostato sul valore della variabile, @var1.

Per eseguire questa istruzione è necessario creare un SAPParameter con il nome @var1, specificarne il valore e aggiungere il nuovo oggetto all'oggetto SAPCommand che corrisponde alla query. La direzione dell'oggetto SAPParameter deve essere input.

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

L'istruzione EXEC seguente esegue una BAPI che restituisce i nomi delle società e le informazioni su ognuna di esse.

Per eseguire questa istruzione è necessario creare un SAPParameter con il nome @tableVar, specificarne il valore e aggiungere l'oggetto SAPParameter all'oggetto SAPCommand che corrisponde alla query. La direzione dell'oggetto SAPParameter creato deve essere inputoutput.

EXEC BAPI_COMPANYCODE_GETLIST @COMPANYCODE_LIST=@tableVar OUTPUT

Query SELECT su tabelle SAP

È possibile eseguire query SELECT con sintassi limitata sulle tabelle SAP, incluse le tabelle trasparenti, cluster e pool, specificando un apposito comando per il provider Microsoft .NET per SAP.

[!NOTA] Tali query non utilizzano la sintassi Transact-SQL standard, ma una sintassi limitata, e possono essere applicate a una sola tabella.

Sintassi

La sintassi supportata per l'istruzione SELECT è la seguente:

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

Le clausole supportate da SELECT sono elencate nella tabella seguente.

Clausola Descrizione

SELECT select_list

Le colonne del set di risultati. Il parametro select_list è un elenco di espressioni delimitato da virgole. Un nome di colonna può essere completo. È possibile assegnare un alias a ogni colonna. Il carattere jolly * indica tutte le colonne.

INTO FILE FileName

Specifica il nome del file in cui vengono scritti i dati estratti quando si utilizza la modalità file flat nella query.

FROM TableName

La tabella dalla quale vengono recuperati i dati.

WHERE search_conditions

Il filtro che definisce le condizioni che ogni riga delle tabelle di origine deve soddisfare per essere inclusa nel risultato dell'istruzione SELECT.

OPTION

Le macro che si applicano ai dati estratti dalla tabella SAP. Se questa opzione è impostata su 'no_conversion', non verrà applicata alcuna macro.

Per ulteriori informazioni sulle clausole SELECT, vedere Parti di un'istruzione SELECT.

Gli operatori logici e di confronto supportati da SELECT sono elencati nella tabella seguente.

Operatore Argomento Transact-SQL

AND

AND (Transact-SQL)

OR

OR (Transact-SQL)

NOT

NOT (Transact-SQL)

()

Precedenza degli operatori (Transact-SQL)

BETWEEN

BETWEEN (Transact-SQL)

LIKE

LIKE (Transact-SQL)

TOP

TOP (Transact-SQL)

=

= (uguale a) (Transact-SQL)

!=

!= (diverso da) (Transact-SQL)

>

!> (non maggiore di) (Transact-SQL)

>=

>= (maggiore o uguale a) (Transact-SQL)

!>

!> (non maggiore di) (Transact-SQL)

<

< (minore di) (Transact-SQL)

<=

<= (minore o uguale a) (Transact-SQL)

!<

!< (maggiore o uguale a) (Transact-SQL)

Esempi

Negli esempi seguenti viene illustrata la sintassi delle istruzioni SELECT.

L'istruzione SELECT seguente restituisce tutte le colonne della tabella SPFLI.

SELECT * FROM SPFLI

L'istruzione SELECT seguente scrive i dati dalla tabella SPFLI nel file flight.txt che si trova nella cartella Extracts nel computer SAPSERVER.

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

L'istruzione SELECT seguente restituisce tutte le colonne nella tabella SPFLI per i voli da New York a San Francisco.

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

L'istruzione SELECT seguente restituisce tutte le colonne della tabella SPFLI per i voli da New York il cui identificatore è compreso tra 1000 e 5000.

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

È possibile utilizzare l'istruzione seguente per restituire lo stesso set di risultati.

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

L'istruzione SELECT seguente restituisce tutte le colonne nella tabella SPFLI per i voli da New York a una città che è specificata dal valore di una variabile.

Per eseguire questa istruzione, è necessario creare un SAPParameter con il nome @variable, specificarne il valore e aggiungere il SAPParameter all'oggetto SAPCommand corrispondente alla query.

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

Vedere anche

Altre risorse

Configurazione di Reporting Services per l'utilizzo di Microsoft .NET Data Provider for mySAP Business Suite
Connessioni in Integration Services

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

5 dicembre 2005

Contenuto modificato:
  • Rimozione della sezione relativa a Reporting Services. Aggiunta del collegamento Vedere anche all'argomento relativo a Reporting Services