Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de Fabric, Power BI y SQL más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
SE APLICA A: Azure Data Factory
Azure Synapse Analytics
Sugerencia
Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga más información sobre cómo iniciar una nueva evaluación gratuita.
En este artículo se resume el uso de la actividad de copia en canalizaciones de Azure Data Factory y Azure Synapse Analytics para copiar datos con una tabla de SAP como origen y destino. Para obtener más información, consulte la información general sobre la actividad de copia.
Sugerencia
Para obtener información sobre la compatibilidad general con el escenario de integración de datos de SAP, consulte el informe técnico sobre la integración de datos de SAP mediante Azure Data Factory que contiene una introducción detallada con comparaciones y una guía sobre cada conector de SAP.
Este conector de tabla de SAP es compatible con las funcionalidades siguientes:
Funcionalidades admitidas | IR |
---|---|
Actividad de copia (origen/-) | ② |
Actividad de búsqueda | ② |
① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado
Consulte la tabla de almacenes de datos compatibles para ver una lista de almacenes de datos que la actividad de copia admite como orígenes o receptores.
En concreto, este conector para tablas de SAP admite las siguientes funcionalidades:
Copiar datos de una tabla de SAP en:
Copiar datos de una tabla transparente de SAP, una tabla agrupada, una tabla en clúster y una vista.
Copiar datos mediante la autenticación básica o las comunicaciones de red segura (SNC), si es que tiene SNC configuradas.
Conexión a un servidor de aplicaciones SAP o a un servidor de mensajes SAP.
Recuperación de datos a través de RFC personalizado o predeterminado.
Para obtener más información sobre SNC, consulte Introducción a las integraciones de SAP SNC para RFC: blog de SAP.
La versión 7.01 o posterior hace referencia a la versión de SAP NetWeaver en lugar de a la versión de SAP ECC. Por ejemplo, SAP ECC 6.0 EHP 7 en general tiene una versión de NetWeaver>= 7.4. En caso de que no esté seguro de su entorno, estos son los pasos para confirmar la versión del sistema de SAP:
Para usar este conector de tabla de SAP, necesitará lo siguiente:
Configure un entorno de ejecución de integración autohospedado (versión 3.17 o posterior). Para obtener más información, consulte Creación y configuración de un entorno de ejecución de integración autohospedado.
Descargue el conector de SAP de 64 bits para Microsoft.NET 3.0 del sitio web de SAP e instálelo en la máquina del entorno de ejecución de integración autohospedado. Al instalarlo, asegúrese de seleccionar la opción Install Assemblies to GAC (Instalar ensamblados en GAC) en la ventana Optional setup steps (Pasos de configuración opcionales).
El usuario de SAP que se está usando en el conector de SAP Table debe tener los siguientes permisos:
Para realizar la actividad de copia con una canalización, puede usar una de los siguientes herramientas o SDK:
Siga estos pasos para crear un servicio vinculado a una tabla de SAP en la interfaz de usuario de Azure Portal.
Vaya a la pestaña Administrar del área de trabajo de Azure Data Factory o Synapse y seleccione Servicios vinculados; luego haga clic en Nuevo:
Busque SAP y seleccione el conector de SAP Table.
Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.
En las secciones siguientes se proporcionan detalles sobre las propiedades que se usan para definir las entidades específicas del conector de SAP Table.
Las siguientes propiedades son compatibles con el servicio vinculado del centro de SAP BW abierto:
Propiedad | Descripción | Obligatorio |
---|---|---|
type |
La propiedad type debe establecerse en SapTable . |
Sí |
server |
El nombre del servidor en el que se encuentra la instancia de SAP. Úselo para conectarse a un servidor de aplicaciones de SAP. |
No |
systemNumber |
Número del sistema de SAP. Úselo para conectarse a un servidor de aplicaciones de SAP. El valor permitido es: un número decimal de dos dígitos que se representa en forma de cadena. |
No |
messageServer |
El nombre de host del servidor de mensajes de SAP. Úselo para conectarse a un servidor de mensajes de SAP. |
No |
messageServerService |
El nombre del servicio o el número de puerto del servidor de mensajes. Úselo para conectarse a un servidor de mensajes de SAP. |
No |
systemId |
El id. del sistema SAP en el que se encuentra la tabla. Úselo para conectarse a un servidor de mensajes de SAP. |
No |
logonGroup |
El grupo de inicio de sesión para el sistema SAP. Úselo para conectarse a un servidor de mensajes de SAP. |
No |
clientId |
El id. del cliente en el sistema SAP. El valor permitido es: un número decimal de tres dígitos que se representa en forma de cadena. |
Sí |
language |
El idioma que usa el sistema SAP. El valor predeterminado es EN . |
No |
userName |
El nombre del usuario que tiene acceso al servidor SAP. | Sí |
password |
Contraseña del usuario. Marque este campo con el tipo SecureString para almacenarlo de forma segura o para hacer referencia a un secreto almacenado en Azure Key Vault. |
Sí |
sncMode |
El indicador de activación de SNC para acceder al servidor SAP en que se encuentra la tabla. Aplicable si quiere usar SNC para conectarse al servidor SAP. Los valores permitidos son 0 (OFF es el valor predeterminado) o 1 (ON). |
No |
sncMyName |
El nombre SNC del iniciador para acceder al servidor de SAP en que se encuentra la tabla. Se aplica cuando sncMode está activado. |
No |
sncPartnerName |
El nombre SNC del asociado de comunicación para obtener acceso al servidor SAP en el que se encuentra la tabla. Se aplica cuando sncMode está activado. |
No |
sncLibraryPath |
La biblioteca del producto de seguridad externo para acceder al servidor SAP donde se encuentra la tabla. Se aplica cuando sncMode está activado. |
No |
sncQop |
El nivel de calidad de protección de SNC a aplicar. Se aplica sncMode cuando está activado. Los valores permitidos son 1 (Autenticación), 2 (Integridad), 3 (Privacidad), 8 (valor predeterminado), 9 (Máximo). |
No |
connectVia |
El entorno de ejecución de integración que se usará para conectarse al almacén de datos. Tal y como se mencionó en los requisitos previos, se requiere un entorno de ejecución de integración autohospedado. | Sí |
{
"name": "SapTableLinkedService",
"properties": {
"type": "SapTable",
"typeProperties": {
"server": "<server name>",
"systemNumber": "<system number>",
"clientId": "<client ID>",
"userName": "<SAP user>",
"password": {
"type": "SecureString",
"value": "<Password for SAP user>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
{
"name": "SapTableLinkedService",
"properties": {
"type": "SapTable",
"typeProperties": {
"messageServer": "<message server name>",
"messageServerService": "<service name or port>",
"systemId": "<system ID>",
"logonGroup": "<logon group>",
"clientId": "<client ID>",
"userName": "<SAP user>",
"password": {
"type": "SecureString",
"value": "<Password for SAP user>"
}
},
"connectVia": {
"referenceName": "<name of integration runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
{
"name": "SapTableLinkedService",
"properties": {
"type": "SapTable",
"typeProperties": {
"server": "<server name>",
"systemNumber": "<system number>",
"clientId": "<client ID>",
"userName": "<SAP user>",
"password": {
"type": "SecureString",
"value": "<Password for SAP user>"
},
"sncMode": 1,
"sncMyName": "<SNC myname>",
"sncPartnerName": "<SNC partner name>",
"sncLibraryPath": "<SNC library path>",
"sncQop": "8"
},
"connectVia": {
"referenceName": "<name of integration runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Para obtener más información sobre SNC, consulte Introducción a las integraciones de SAP SNC para RFC: blog de SAP.
Para obtener una lista completa de las secciones y propiedades para definir conjuntos de datos, consulte Conjuntos de datos. En la sección siguiente se proporciona una lista de las propiedades que admite el conjunto de datos de la tabla de SAP.
Para copiar datos desde y hacia el servicio vinculado del centro de SAP BW abierto, se admiten las siguientes propiedades:
Propiedad | Descripción | Obligatorio |
---|---|---|
type |
La propiedad type debe establecerse en SapTableResource . |
Sí |
tableName |
El nombre de la tabla de SAP desde la que se copian los datos. | Sí |
{
"name": "SAPTableDataset",
"properties": {
"type": "SapTableResource",
"typeProperties": {
"tableName": "<SAP table name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<SAP table linked service name>",
"type": "LinkedServiceReference"
}
}
}
Para obtener una lista completa de las secciones y propiedades para definir actividades, consulte Canalizaciones. En la sección siguiente se proporciona una lista de las propiedades que admite el origen de tabla de SAP.
Para copiar datos de una tabla de SAP, se admiten las siguientes propiedades:
Propiedad | Descripción | Obligatorio |
---|---|---|
type |
La propiedad type debe establecerse en SapTableSource . |
Sí |
rowCount |
El número de filas que se van a recuperar. | No |
rfcTableFields |
Los campos (columnas) que se copiarán de la tabla de SAP. Por ejemplo, column0, column1 . |
No |
rfcTableOptions |
Las opciones para filtrar las filas de la tabla de SAP. Por ejemplo, COLUMN0 EQ 'SOMEVALUE' . Consulte también la tabla del operador de consultas de SAP que encontrará en este artículo. |
No |
customRfcReadTableFunctionModule |
Un módulo de función RFC personalizado que puede usarse para leer datos de la tabla de SAP. Puede usar el módulo de función RFC personalizado para definir cómo se recuperan los datos del sistema SAP y cómo se devuelven al servicio. El módulo de función personalizado debe tener una interfaz implementada (importación, exportación, tablas) que sea similar a /SAPDS/RFC_READ_TABLE2 , que es la interfaz predeterminada que usa el servicio. |
No |
partitionOption |
El mecanismo de partición para leer desde una tabla de SAP. Las opciones admitidas incluyen:
|
No |
partitionColumnName |
El nombre de la columna que se usa para particionar los datos. | No |
partitionUpperBound |
El valor máximo de la columna especificada en partitionColumnName que se usará para continuar con la partición. |
No |
partitionLowerBound |
El valor mínimo de la columna especificada en partitionColumnName que se usará para continuar con la partición. (Nota: partitionLowerBound no puede ser "0" si la opción de partición es PartitionOnInt ). |
No |
maxPartitionsNumber |
Número máximo de particiones para dividir los datos. El valor predeterminado es 1. | No |
sapDataColumnDelimiter |
El único carácter que se usa como delimitador que se pasa al RFC de SAP para dividir los datos de salida. | No |
Sugerencia
Si su tabla de SAP tiene un gran volumen de datos, como varios miles de millones de filas, use partitionOption
y partitionSetting
para dividir los datos en particiones más pequeñas. En este caso, los datos se leen por partición, y cada partición de datos se recupera de su servidor SAP a través de una sola llamada a RFC.
Tomando partitionOption
como partitionOnInt
a modo de ejemplo, el número de filas de cada partición se calcula con esta fórmula: (filas totales entre partitionUpperBound
y partitionLowerBound
)/maxPartitionsNumber
.
Para cargar particiones de datos en paralelo para acelerar la copia, el grado paralelo se controla mediante el valor parallelCopies
de la actividad de copia. Por ejemplo, si establece parallelCopies
en cuatro, el servicio genera y ejecuta al mismo tiempo cuatro consultas de acuerdo con la configuración y la opción de partición que ha especificado, y cada consulta recupera una porción de datos de la tabla de SAP. Se recomienda encarecidamente hacer que maxPartitionsNumber
sea un múltiplo del valor de la propiedad parallelCopies
. Cuando se copian datos en un almacén de datos basado en archivos, también se recomienda escribir en una carpeta como varios archivos (sólo hay que especificar el nombre de la carpeta), ya que el rendimiento es mejor que escribir en un único archivo.
Sugerencia
BASXML
está habilitado de forma predeterminada para este conector de SAP Table en el lado del servicio.
En rfcTableOptions
, puede usar los siguientes operadores de consulta SAP comunes para filtrar las filas:
Operator | Descripción |
---|---|
EQ |
Igual a |
NE |
No es igual a |
LT |
Menor que |
LE |
Menor o igual que |
GT |
Mayor que |
GE |
Mayor o igual que |
IN |
Como en TABCLASS IN ('TRANSP', 'INTTAB') |
LIKE |
Como en LIKE 'Emma%' |
"activities":[
{
"name": "CopyFromSAPTable",
"type": "Copy",
"inputs": [
{
"referenceName": "<SAP table input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SapTableSource",
"partitionOption": "PartitionOnInt",
"partitionSettings": {
"partitionColumnName": "<partition column name>",
"partitionUpperBound": "2000",
"partitionLowerBound": "1",
"maxPartitionsNumber": 500
}
},
"sink": {
"type": "<sink type>"
},
"parallelCopies": 4
}
}
]
Actualmente, el conector de SAP Table solo admite una tabla con el módulo de función predeterminado. Para obtener los datos combinados de varias tablas, puede aprovechar la propiedad customRfcReadTableFunctionModule en el conector de SAP Table después de los pasos siguientes:
<TABLE1>
INNER JOIN <TABLE2>
ON COLUMN0".Aquí tiene un ejemplo:
Sugerencia
También puede considerar la posibilidad de que los datos combinados se agreguen en la VISTA, que es compatible con el conector de SAP Table. También puede intentar extraer tablas relacionadas para incorporarlas a Azure (por ejemplo, Azure Storage o Azure SQL Database) y, después, usar Data Flow para continuar con la combinación o el filtro.
En el caso de SAP Table, actualmente se admite la propiedad customRfcReadTableFunctionModule en el origen de la copia, lo que le permite aprovechar su propia lógica y procesar los datos.
A modo de guía rápida, estos son algunos requisitos para empezar a trabajar con el "módulo de función personalizado":
Definición:
Exporte los datos a una de las tablas siguientes:
A continuación se ilustra cómo funciona el conector de SAP Table con el módulo de función personalizado:
Cree una conexión con un servidor SAP a través de SAP NCO.
Invoque "Módulo de función personalizado" con los parámetros establecidos como se indica a continuación:
Obtenga el resultado y analice los datos como se indica a continuación:
Analice el valor de la tabla Fields para obtener los esquemas.
Obtenga los valores de la tabla de salida para ver qué tabla contiene estos valores.
Obtenga los valores de OUT_TABLE, analice los datos y escríbalos en el receptor.
Al copiar datos desde una tabla de SAP, se usan las siguientes asignaciones de tipos de datos de SAP Table en los tipos de datos provisionales del servicio. Consulte el artículo sobre asignaciones de tipos de datos y esquema para más información sobre cómo la actividad de copia asigna el tipo de datos y el esquema de origen al receptor.
Tipo ABAP para SAP | Tipo de datos provisional del servicio |
---|---|
C (cadena) |
String |
I (entero) |
Int32 |
F (float) |
Double |
D (fecha) |
String |
T (hora) |
String |
P (BCD empaquetado, moneda, decimal, cantidad) |
Decimal |
N (numérico) |
String |
X (binario y sin procesar) |
String |
Para obtener información detallada sobre las propiedades, consulte Actividad de búsqueda.
Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de Fabric, Power BI y SQL más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyCursos
Módulo
Conversión de la información en acción mediante la combinación de SAP y otros datos - Training
Explore soluciones y productos de Microsoft que pueden ayudarle a abordar las necesidades de análisis que incluyen SAP y otros datos. Aprenderá a usar la plataforma de Azure Synapse Analytics para combinar datos de varios orígenes y examinar cómo se usa Power Platform para mostrar y analizar datos empresariales para convertir la información en acción.
Certificación
Microsoft Certified: Azure for SAP Workloads Specialty - Certifications
Muestre la planeación, la migración y el funcionamiento de una solución de SAP en Microsoft Azure mientras aprovecha los recursos de Azure.
Documentación
Copia de datos desde SAP HANA - Azure Data Factory & Azure Synapse
Obtenga información sobre cómo copiar datos de SAP HANA en almacenes de datos receptores compatibles a través de una actividad de copia en una canalización de Azure Data Factory o Synapse Analytics.
Copia de datos desde SAP ECC - Azure Data Factory & Azure Synapse
Aprenda a copiar datos de SAP ECC en almacenes de datos receptores compatibles mediante una actividad de copia en una canalización de Azure Data Factory o Synapse Analytics.
Conectores de SAP - Azure Data Factory
Introducción a los conectores de SAP