Compartir a través de


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

AND (Transact-SQL)

OR

OR (Transact-SQL)

NOT

NOT (Transact-SQL)

()

Prioridad de operador (Transact-SQL)

BETWEEN

BETWEEN (Transact-SQL)

LIKE

LIKE (Transact-SQL)

TOP

TOP (Transact-SQL)

=

= (Igual a) (Transact-SQL)

!=

!= (No es igual a) (Transact-SQL)

>

!> (No mayor que) (Transact-SQL)

>=

>= (Mayor o igual que) (Transact-SQL)

!>

!> (No mayor que) (Transact-SQL)

<

< (Menor que) Transact-SQL)

<=

<= (Menor o igual que) (Transact-SQL)

!<

!< (No menor que) (Transact-SQL)

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

Contenido modificado:
  • Se quitó la sección acerca de Reporting Services. Se agregó un vínculo Vea también al tema de Reporting Services