Saltearse al contenido

SAP

Este modulo permite interactuar con sistemas SAP a traves de OData y RFC/BAPI. Soporta operaciones con Business Partners (clientes/proveedores), pedidos de venta, pedidos de compra, materiales, stock, facturas, consultas OData genericas y ejecucion de funciones RFC/BAPI via SOAP.

El modulo construye URLs OData con parametros de filtro ($filter), seleccion ($select), expansion ($expand), ordenamiento ($orderby) y paginacion ($top/$skip). Para operaciones de escritura, obtiene automaticamente el token CSRF necesario mediante una solicitud HEAD previa. Las fechas se formatean automaticamente al formato SAP (YYYYMMDD) y se parsean desde el formato SAP (/Date(timestamp)/).

ParametroTipoRequeridoDescripcion
credentials_idcredentialsSiCredencial SAP configurada
operationtextSiOperacion: getBusinessPartners, getBusinessPartner, createBusinessPartner, updateBusinessPartner, getSalesOrders, getSalesOrder, createSalesOrder, getMaterials, getMaterial, getStock, getPurchaseOrders, createPurchaseOrder, getInvoices, executeRfc, odataQuery, odataCreate, odataUpdate, odataDelete
filtertextNoFiltro OData (ej: BusinessPartnerCategory eq ‘1’)
selecttextNoCampos a retornar separados por coma
expandtextNoNavegaciones a expandir (ej: to_Item)
topnumberNoCantidad maxima de registros (default: 100)
skipnumberNoRegistros a omitir (paginacion)
business_partner_idtextCondicionalID del socio comercial
sales_ordertextCondicionalNumero de pedido de venta
materialtextCondicionalNumero de material
planttextNoCodigo de planta
service_pathtextCondicionalRuta del servicio OData (para consultas genericas)
entity_settextCondicionalConjunto de entidades OData
function_nametextCondicionalNombre de la funcion RFC/BAPI
parametersjsonNoParametros de la funcion RFC

Tipo de servicio: sap. Se almacenan en la tabla servicecredentials.

Campos de configuracion:

{
"nextModule": null,
"data": [
{
"BusinessPartner": "10000001",
"BusinessPartnerFullName": "Empresa ABC S.L.",
"BusinessPartnerCategory": "2",
"Industry": "MANU"
}
],
"_meta_": {
"operation": "getBusinessPartners",
"recordCount": 1,
"executionTime": "250ms"
}
}
{
"credentials_id": 1,
"operation": "getBusinessPartners",
"filter": "BusinessPartnerCategory eq '1'",
"top": 50,
"select": "BusinessPartner,BusinessPartnerFullName"
}
  • SAP OData Services: Business Partner API, Sales Order API, Purchase Order API, Product API, Stock API, Invoice API
  • SAP RFC/BAPI via SOAP
  • Rutas de servicio estandar: /sap/opu/odata/sap/API_BUSINESS_PARTNER/, /sap/opu/odata/sap/API_SALES_ORDER_SRV/, etc.
  • Las operaciones de escritura (POST/PATCH/DELETE) requieren token CSRF que se obtiene automaticamente
  • Las fechas SAP en formato /Date(timestamp)/ se parsean automaticamente a ISO 8601
  • Los pedidos de venta usan tipo “OR” por defecto; los de compra usan tipo “NB”
  • Los items de pedidos se numeran automaticamente en incrementos de 10 (10, 20, 30…)
  • Las operaciones OData genericas (odataQuery/odataCreate/odataUpdate/odataDelete) permiten consultar cualquier servicio OData de SAP
  • La ejecucion RFC construye un sobre SOAP y parsea la respuesta XML
  • El timeout de solicitudes es de 30 segundos (60 segundos para RFC)
  • Los datos de respuesta SAP se extraen de la estructura d.results o d segun el formato
  • Obtener Socios Comerciales, Obtener Socio Comercial, Crear Socio, Actualizar Socio
  • Obtener Pedidos Venta, Obtener Pedido Venta, Crear Pedido Venta
  • Obtener Materiales, Obtener Material, Consultar Stock
  • Obtener Pedidos Compra, Crear Pedido Compra, Obtener Facturas
  • Ejecutar RFC/BAPI, Consulta OData, Crear OData, Actualizar OData, Eliminar OData