Integración ERP: SAP S/4HANA
SAP S/4HANA es la plataforma ERP de nivel empresarial de SAP, utilizada por grandes organizaciones para la gestión integrada de finanzas, logística, compras, ventas y control de gestión. La integración se realiza mediante OData APIs disponibles de forma nativa en el sistema.
Este artículo orienta la preparación del entorno SAP, la configuración de la credencial y detalla los informes disponibles de este conector. Para ver el paso a paso de uso en el flujo de preparación de datos — selección del conector, credencial, informe y parámetros — consulte el artículo Paso ERP.
Preparación del entorno SAP — servicios y autorizaciones
La integración consume las APIs OData estándar de SAP S/4HANA, que por seguridad se entregan inactivas. Tres acciones del equipo que administra SAP (Basis/seguridad) preparan el entorno:
1. Activar los servicios OData
En la transacción /n/IWFND/MAINT_SERVICE (Activate and Maintain Services), active los servicios correspondientes a los informes que se utilizarán:
Informe | Servicio OData |
|---|---|
Saldo Contable (Balance de comprobación) |
|
Balance de comprobación (Trial Balance) |
|
Socios de negocio |
|
Órdenes de compra |
|
Pedidos de venta |
|
Facturas de proveedor |
|
Productos / Materiales |
|
Documentos de material |
|
Clasificación de materiales |
|
Centros de costo |
|
Centros de beneficio |
|
Para el balance de comprobación, los dos servicios confirmados son C_TRIALBALANCE_CDS / C_TRIALBALANCE y C_GLACCOUNTBALANCEQUERY_CDS / C_GLACCOUNTBALANCEQUERY — este último es común en entornos con SAP Fiori.
Además de los servicios de los informes, el servicio de catálogo de SAP Gateway (/IWFND/CATALOGSERVICE;v=2) debe estar accesible — es por él que la plataforma descubre los servicios disponibles en el entorno.
El patrón de endpoint es https://{host}:{porta}/sap/opu/odata/sap/{SERVICE}. La documentación pública de cada API está en SAP Business Accelerator Hub, y el paso a paso de activación en SAP Help Portal.
Cómo activar un servicio
En la transacción /n/IWFND/MAINT_SERVICE, verifique si el servicio está activo. Si no lo está:
Haga clic en Agregar servicio.
En System Alias, indique
LOCAL.Busque por el nombre del servicio (por ejemplo,
C_GLACCOUNTBALANCEQUERY_CDS).Seleccione y confirme.
Pruebe en el navegador:
https://{host}:{porta}/sap/opu/odata/sap/{SERVICE}/$metadata.
El enlace debe abrir y mostrar el XML del metadata. Use un usuario con permiso de acceso al servicio y, si es necesario, asigne las autorizaciones.
2. Autorizar al usuario de integración
Cree un usuario de sistema/comunicación dedicado a la integración (no un usuario de diálogo de una persona).
Conceda las autorizaciones de runtime de SAP Gateway (objetos
/IWFND/*y/IWBEP/*) y la autorización de ejecución de los servicios activados (objetoS_SERVICE).Conceda las autorizaciones de negocio de los datos de cada informe (por ejemplo, los objetos de FI para los balances), bajo el principio de mínimo privilegio — solo los informes que se consumirán.
3. Exponer el endpoint con seguridad
La plataforma accede a SAP mediante llamadas HTTPS salientes, solo lectura. Si S/4HANA no es accesible por internet, la conexión se realiza mediante una liberación de firewall o VPN/VPC site-to-site — contacte al soporte de Dattos para configurarlo en conjunto.
Uso de middleware
La integración puede usar un middleware entre la plataforma y SAP Gateway, siempre que opere en modo pass-through (bypass), sin alterar la solicitud ni la respuesta.
Deben preservarse:
el método HTTP;
la URL, la ruta y los parámetros;
los encabezados;
el cuerpo de la solicitud y de la respuesta;
los códigos de estado;
el formato de los datos;
los mensajes de error de SAP Gateway.
El middleware puede utilizarse para funciones de seguridad e infraestructura, como autenticación, autorización, control de acceso, políticas de red, logs, monitoreo, certificados, limitación de solicitudes y restricción por IP. La autenticación debe usar una de las modalidades admitidas por la integración, validada por el middleware o reenviada a SAP Gateway.
Si el middleware requiere un tipo de autenticación aún no admitido por la integración, hable con el soporte de Dattos.
Configuración de la credencial
SAP S/4HANA admite dos métodos de autenticación. Elija el que esté habilitado en su entorno:
Opción 1 — Login básico SAP (usuario y contraseña)
Campo | Descripción | Obligatorio |
|---|---|---|
Host | URL base del servidor SAP (ej: | Sí |
System Number | Número del sistema SAP (ej: | Sí |
Client | Código del mandante SAP (ej: | Sí |
Usuario | Usuario de integración de SAP | Sí |
Senha | Contraseña del usuario | Sí |
Opción 2 — OAuth 2.0 SAP
Campo | Descripción | Obligatorio |
|---|---|---|
Host | URL base del servidor SAP | Sí |
Client ID | ID del cliente OAuth registrado en SAP | Sí |
Client Secret | Secreto del cliente OAuth | Sí |
Token URL | URL del endpoint de generación de token OAuth | Sí |
Grant Type | Tipo de concesión (normalmente | No |
Dica: El usuario de integración SAP necesita autorización en los objetos de autorización de las APIs OData que se utilizarán (ej: /IWFND/ y /IWBEP/).
Informes disponibles
Módulo: Materiales
Productos / Materiales
Devuelve el registro de productos y materiales registrados en SAP.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
ProductType | Tipo de producto (ex: | No |
Plant | Código de planta para filtrar los productos asociados | No |
Campos devueltos:
Campo | Descripción |
|---|---|
Product | Código del producto |
ProductType | Tipo de producto |
ProductGroup | Grupo de producto |
BaseUnit | Unidad de medida base |
GrossWeight | Peso bruto |
NetWeight | Peso neto |
WeightUnit | Unidad de peso |
Division | División |
Documentos de material
Devuelve los documentos de movimiento de materiales (entradas, salidas, transferencias físicas).
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
MaterialDocumentYear | Año del documento de material (4 dígitos) | No |
Plant | Código de planta | No |
Campos devueltos:
Campo | Descripción |
|---|---|
MaterialDocument | Número del documento de material |
MaterialDocumentItem | Ítem del documento |
PostingDate | Fecha de contabilización |
Material | Código del material |
Plant | Planta |
Quantity | Cantidad movida |
UnitOfEntry | Unidad de entrada |
StorageLocation | Ubicación de almacenamiento |
MaterialDocumentYear | Año del documento |
Clasificación de materiales
Devuelve la clasificación de los materiales por tipo de clase.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
KeyDate | Fecha de referencia para la clasificación (formato | Sí |
ClassType | Tipo de clase (máx. 3 caracteres) | No |
Campos devueltos:
Campo | Descripción |
|---|---|
Material | Código del material |
ClassType | Tipo de clase |
Class | Clase |
KeyDate | Fecha clave de la clasificación |
ClassificationStatus | Estado de la clasificación |
Módulo: Socios de negocio
Socios de negocio
Devuelve clientes, proveedores y socios registrados en SAP.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio | Opciones |
|---|---|---|---|
BusinessPartnerCategory | Categoría del socio | No |
|
Campos devueltos:
Campo | Descripción |
|---|---|
BusinessPartner | Código del socio |
BusinessPartnerCategory | Categoría (persona/organización/grupo) |
BusinessPartnerFullName | Nombre completo |
SearchTerm1 | Término de búsqueda |
BusinessPartnerGrouping | Agrupación |
CreationDate | Fecha de creación |
Módulo: Compras
Órdenes de compra
Devuelve las órdenes de compra emitidas en SAP.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
CompanyCode | Código de empresa (4 caracteres) | No |
CreationDate | Fecha de creación (formato | No |
Campos devueltos:
Campo | Descripción |
|---|---|
PurchaseOrder | Número de la orden de compra |
CompanyCode | Código de empresa |
CreationDate | Fecha de creación |
Supplier | Código del proveedor |
PurchasingOrganization | Organización de compras |
PurchaseOrderType | Tipo de OC |
TotalNetOrderAmount | Valor neto total |
DocumentCurrency | Moneda del documento |
Módulo: Ventas
Pedidos de venta
Devuelve los pedidos de venta registrados en SAP.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
CreationDate | Fecha de creación del pedido (formato | No |
SalesOrganization | Código de la organización de ventas (4 caracteres) | No |
Campos devueltos:
Campo | Descripción |
|---|---|
SalesOrder | Número del pedido de venta |
SalesOrderType | Tipo de pedido |
CreationDate | Fecha de creación |
SalesOrganization | Organización de ventas |
SoldToParty | Cliente (sold-to) |
TotalNetAmount | Valor neto total |
TransactionCurrency | Moneda de la transacción |
Módulo: Cuentas por pagar
Facturas de proveedor
Devuelve las facturas de proveedor (facturas de entrada) contabilizadas en SAP.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
CompanyCode | Código de empresa (4 caracteres) | No |
FiscalYear | Año fiscal (4 dígitos) | No |
Campos devueltos:
Campo | Descripción |
|---|---|
SupplierInvoice | Número de la factura |
FiscalYear | Año fiscal |
CompanyCode | Código de empresa |
DocumentDate | Fecha del documento |
PostingDate | Fecha de contabilización |
InvoicingParty | Proveedor emisor |
InvoiceGrossAmount | Importe bruto de la factura |
DocumentCurrency | Moneda |
Módulo: Contabilidad
Saldo Contable (Balance de comprobación)
Devuelve el balance de comprobación contable por cuenta y período fiscal.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
P_Ledger | Ledger contable (predeterminado: | Sí |
P_CompanyCode | Código(s) de empresa. Acepta múltiples valores | Sí |
P_FiscalYear | Año fiscal. Se completa automáticamente con el año de la fecha de referencia | Sí |
P_FiscalPeriod | Período fiscal (mes). Se completa automáticamente con el mes de la fecha de referencia | Sí |
P_FromPostingDate | Fecha inicial del período de contabilización. Se completa automáticamente (1.º del mes de referencia) | Sí |
P_ToPostingDate | Fecha final del período de contabilización. Se completa automáticamente (último día del mes de referencia) | Sí |
Campos devueltos:
Campo | Descripción |
|---|---|
CompanyCode | Código de empresa |
GLAccount | Cuenta contable |
GLAcctLineDescription | Descripción de la cuenta |
FiscalYear | Año fiscal |
FiscalPeriod | Período fiscal |
DisplayCurrency | Moneda de visualización |
StartingBalAmtInDspCrcy | Saldo inicial |
DebitAmountInDisplayCrcy | Importe de débito |
CreditAmountInDisplayCrcy | Importe de crédito |
EndingBalAmtInDspCrcy | Saldo final |
Balance de comprobación (Trial Balance)
Devuelve el balance de comprobación con saldos por cuenta y período.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
Ledger | Ledger contable (predeterminado: | Sí |
CompanyCode | Código(s) de empresa. Acepta múltiples valores | Sí |
P_FromPostingDate | Fecha inicial. Se completa automáticamente (1.º del mes de referencia) | Sí |
P_ToPostingDate | Fecha final. Se completa automáticamente (último día del mes de referencia) | Sí |
Campos devueltos:
Campo | Descripción |
|---|---|
CompanyCode | Código de empresa |
GLAccount | Cuenta contable |
StartingBalanceAmtInCoCodeCrcy_F | Saldo inicial (moneda de la empresa) |
DebitAmountInCoCodeCrcy_F | Débitos del período |
CreditAmountInCoCodeCrcy_F | Créditos del período |
EndingBalanceAmtInCoCodeCrcy_F | Saldo final |
DebitCreditCodeName | Indicador de naturaleza (D/C) |
FiscalYear | Año fiscal |
FiscalPeriod | Período fiscal |
Módulo: Control de gestión
Centros de costo
Devuelve el registro de centros de costo configurados en SAP.
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
CompanyCode | Código de empresa | No |
Campos devueltos:
Campo | Descripción |
|---|---|
CostCenter | Código del centro de costo |
CompanyCode | Código de empresa |
CostCenterName | Nombre del centro de costo |
CostCenterCategory | Categoría |
ValidityStartDate | Inicio de vigencia |
ValidityEndDate | Fin de vigencia |
ResponsibleUser | Usuario responsable |
Centros de beneficio
Devuelve el registro de centros de beneficio (profit centers).
Parámetros de filtro:
Parámetro | Descripción | Obligatorio |
|---|---|---|
CompanyCode | Código de empresa | No |
Campos devueltos:
Campo | Descripción |
|---|---|
ProfitCenter | Código del centro de beneficio |
ProfitCenterName | Nombre del centro de beneficio |
CompanyCode | Código de empresa |
ValidityStartDate | Inicio de vigencia |
ValidityEndDate | Fin de vigencia |
ProfitCenterStandardHierarchy | Jerarquía estándar |
Parámetros fijos (gestionados automáticamente)
Estos parámetros se completan automáticamente por el sistema y no aparecen para el usuario:
Parámetro | Valor predeterminado | Motivo |
|---|---|---|
|
| Controla el número máximo de registros por solicitud. Valor alto para garantizar la extracción completa de los datos |
| (lista de campos preconfigurada) | Determina qué campos devuelve la API. Predefinido para traer solo los datos relevantes para el informe |
|
| Rol de moneda para el balance de comprobación (moneda de la empresa) |
|
| Muestra la cuenta alternativa en el balance de comprobación |
|
| Muestra la descripción dependiente del tiempo en el balance de comprobación |
Artículos relacionados
Paso ERP
Introducción a las integraciones
Integraciones personalizadas vía API Rest y conectores SQL