Microsoft .NET Data Provider para mySAP Business Suite
Actualizado: 14 de abril de 2006
SQL Server 2005 incluye compatibilidad para acceso a datos SAP mediante Microsoft .NET Data Provider para mySAP Business Suite. Este proveedor permite crear un paquete que se puede conectar a una solución mySAP Business Suite y luego ejecutar comandos en el servidor. También puede crear informes de Reporting Services en un servidor SAP. Microsoft .NET Data Provider para mySAP Business Suite se ha probado en SAP R/3 4.6C y versiones posteriores. Las versiones anteriores a SAP R/3 no son compatibles.
Puede usar Microsoft .NET Data Provider para mySAP Business Suite en el Asistente para importación o exportación de SQL Server, la tarea Secuencia de comandos, el origen DataReader y la transformación Secuencia de comandos que Integration Services proporciona, así como las extensiones de procesamiento de datos de Reporting Services.
Microsoft .NET Data Provider para mySAP Business Suite no se incluye en SQL Server 2005, sino que es preciso descargarlo de https://msdn.microsoft.com/downloads/.
Requisitos previos
Para poder utilizar Microsoft .NET Data Provider para mySAP Business Suite, debe instalar los siguientes elementos:
- La DLL de SAP librfc32.dll. La DLL de SAP se instala al ejecutar el ejecutable SAPgui. La DLL de SAP se debe instalar en el mismo equipo que Microsoft .NET Data Provider para mySAP Business Suite y Integration Services o Reporting Services.
- Se deben instalar dos llamadas a funciones remotas (RFC) personalizadas en el servidor SAP. Las RFC se instalan en primer lugar en el mismo equipo que la DLL de SAP y, a continuación, se transportan al servidor SAP mediante SAP Admin.
Para obtener más información sobre la instalación de Microsoft .NET Data Provider para mySAP Business Suite, vea el archivo Léame que se descarga junto con el proveedor desde https://msdn.microsoft.com/downloads/.
Características
El proveedor Microsoft .NET para SAP admite dos tipos de comandos: ejecutar RFC/BAPI y las consultas SELECT en tablas SAP.
Ejecutar RFC/BAPI
Se puede especificar un comando para el proveedor Microsoft .NET para SAP con el fin de ejecutar una llamada a funciones remotas (RFC) o ejecutar una llamada en las interfaces de programación de aplicaciones empresariales (BAPI) de SAP.
Sintaxis
La sintaxis admitida para el comando EXEC es la siguiente:
EXEC rfc_name
[{value | @variable [OUTPUT]}][,...n]
[@parameter = {value | @variable [OUTPUT]}][,...n] [;]
En la siguiente tabla se enumeran los elementos de la sintaxis.
Elemento | Descripción |
---|---|
rfc_name |
Especifica el nombre de la función, que puede ser RFC o BAPI. |
@parameter |
Especifica el nombre del parámetro en la definición de interfaz de la función. |
Valor |
Especifica el valor del parámetro. El valor puede ser una constante de tipo cadena, entero o XML. |
@variable |
Especifica la variable que contiene el valor del parámetro. |
OUTPUT |
Indica si el parámetro RFC es OUTPUT o INPUT/OUTPUT. |
Ejemplos
En los siguientes ejemplos se muestra la sintaxis de instrucciones EXEC.
La siguiente instrucción EXEC ejecuta una BAPI que no tiene parámetros de entrada.
EXEC BAPI_COMPANYCODE_GETLIST
La siguiente instrucción EXEC ejecuta una RCF que tiene un parámetro de entrada. El parámetro especifica un nombre y un valor.
EXEC RFC_CUSTOMER_GET @NAME1='Contoso'
La siguiente instrucción EXEC ejecuta una RCF que tiene un parámetro de entrada. No se especifica nombre, sólo se utiliza un valor.
EXEC RFC_CUSTOMER_GET '1001'
La siguiente instrucción EXEC ejecuta una RCF que tiene un parámetro de entrada especificado en una variable.
Para ejecutar esta instrucción, se debe crear un objeto SAPParameter de nombre @var, establecer su valor en 1001 y agregarlo al objeto SAPCommand correspondiente a la consulta. El valor de la variable debe ser 1001, porque el primer parámetro para RFCRFC_CUSTOMER_GET corresponde a KUNNR.
EXEC RFC_CUSTOMER_GET @var
La siguiente instrucción EXEC ejecuta una RCF que utiliza dos parámetros. El valor del primer parámetro, KUNNR, se establece en *, para indicar todos los números de cliente, y el segundo parámetro, NAME1, se establece en el valor de la variable, @var1.
Para ejecutar esta instrucción, se debe crear un objeto SAPParameter de nombre @var1, especificar su valor y agregar el nuevo objeto al objeto SAPCommand correspondiente a la consulta. La dirección del objeto SAPParameter debe ser input.
RFC_CUSTOMER_GET @KUNNR='*',@NAME1=@var1
La siguiente instrucción EXEC ejecuta una BAPI que devuelve nombres de compañía e información sobre cada compañía.
Para ejecutar esta instrucción, se debe crear un SAPParameter de nombre @tableVar, especificar su valor y agregarlo al objeto SAPCommand correspondiente a la consulta. La dirección del objeto SAPParameter creado debe ser inputoutput.
EXEC BAPI_COMPANYCODE_GETLIST @COMPANYCODE_LIST=@tableVar OUTPUT
Seleccionar consultas de una tabla SAP
Se puede especificar un comando para el proveedor Microsoft .NET para SAP con el fin de ejecutar una sintaxis limitada de consultas SELECT en tablas SAP, incluidas tablas transparentes, de clúster y de grupo.
[!NOTA] La sintaxis de la consulta no es Transact-SQL estándar. Es una sintaxis limitada y sólo se puede aplicar a una sola tabla.
Sintaxis
La sintaxis admitida para el comando SELECT es la siguiente:
SELECT [TOP n] {ColumnName [AS Alias] | TableName.* | *}[1,..n]
[INTO FILE FileName [DELIMITED]]
FROM TableName [AS Alias]
[WHERE search_conditions] [OPTION 'no_conversion'] [;]
En la siguiente tabla se enumeran las cláusulas admitidas por la sintaxis SELECT.
Cláusula | Descripción |
---|---|
SELECT select_list |
Columnas del conjunto de resultados. La lista select_list es una lista de expresiones separadas por comas. Es posible que el nombre de una columna sea completo. Se puede asignar un alias a cada columna. El carácter comodín * indica todas las columnas. |
INTO FILE FileName |
Especifica el nombre del archivo en el que se escriben los datos extraídos cuando se utiliza el modo de archivo plano en la consulta. |
FROM TableName |
Tabla de la que se recuperan los datos. |
WHERE search_conditions |
Filtro que define las condiciones que debe cumplir cada fila de las tablas de origen para satisfacer los requisitos de la instrucción SELECT. |
OPTION |
Macros que se aplican a los datos extraídos de la tabla SAP. Si esta opción se establece en 'no_conversion', no se aplican macros. |
Para obtener más información sobre las cláusulas SELECT, vea Componentes de una instrucción SELECT.
En la siguiente tabla se enumeran los operadores lógicos y de comparación admitidos por la sintaxis SELECT.
Operador | Tema de Transact-SQL |
---|---|
AND |
|
OR |
|
NOT |
|
() |
|
BETWEEN |
|
LIKE |
|
TOP |
|
= |
|
!= |
|
> |
|
>= |
|
!> |
|
< |
|
<= |
|
!< |
Ejemplos
En los siguientes ejemplos se muestra la sintaxis de instrucciones SELECT.
La siguiente instrucción SELECT devuelve todas las columnas de la tabla SPFLI.
SELECT * FROM SPFLI
La siguiente instrucción SELECT escribe los datos de la tabla SPFLI en el archivo, flight.txt, que se encuentra en la carpeta Extracts en el equipo SAPSERVER.
SELECT * INTO FILE '\\SAPServer\Extracts\flight.txt' FROM SPFLI
La siguiente instrucción SELECT devuelve todas las columnas de la tabla SPFLI para los vuelos de Nueva York a San Francisco.
SELECT* FROM SPFLI WHERE cityfrom='NEW YORK’ AND cityto=’SAN FRANCISCO’
La siguiente instrucción SELECT devuelve todas las columnas de la tabla SPFLI para los vuelos de Nueva York cuyo identificador se encuentra entre 1000 y 5000.
SELECT * FROM SPFLI where cityfrom=’NEW YORK' AND (connid BETWEEN 1000 and 5000)
Se puede utilizar la siguiente instrucción para que devuelva el mismo conjunto de resultados.
SELECT * FROM SPFLI where cityfrom='NEW YORK' AND (connid>1000 AND connid<5000)
La siguiente instrucción SELECT devuelve todas las columnas de la tabla SPFLI para los vuelos de Nueva York a una ciudad que se especifica mediante el valor de una variable.
Para ejecutar esta instrucción, se debe crear un SAPParameter de nombre @variable, especificar su valor y agregar el SAPParameter al objeto SAPCommand correspondiente a la consulta.
SELECT * FROM SPFLI WHERE cityfrom='NEW YORK' AND cityto=@variable
Vea también
Otros recursos
Configurar Reporting Services para utilizar Microsoft .NET Data Provider para mySAP Business Suite
Conexiones de Integration Services
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
5 de diciembre de 2005 |
|