• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
FORMACIÓN SAP

Obtenga datos en fragmentos utilizando la paginación desde la API OData de S/4 Hana Cloud en cualquier sistema o en CPI

By s4pcademy 


Introducción: Este documento describe cómo recuperar datos en fragmentos usando la paginación desde la API OData de la nube S/4 Hana en cualquier sistema o en CPI.

Primero comprendamos la paginación,

En el contexto de OData (Protocolo de datos abiertos), la paginación se refiere a la práctica de dividir un gran conjunto de datos en fragmentos o páginas más pequeños y manejables. Esto se hace para mejorar el rendimiento de la recuperación de datos y reducir la cantidad de datos transferidos a través de la red. La paginación es una técnica común en API y servicios web para manejar grandes conjuntos de resultados de manera eficiente.

En OData, la paginación normalmente se logra mediante el uso de parámetros de consulta, específicamente los parámetros $skip y $top. Aquí hay una breve explicación de estos parámetros:

  1. $ saltar: Este parámetro se utiliza para especificar la cantidad de elementos que deben omitirse desde el principio del conjunto de resultados. A menudo se usa junto con $top para implementar la paginación. Por ejemplo, si desea recuperar los resultados del 11 al 20, establecería $skip=10.
  2. $arriba: Este parámetro se utiliza para especificar el número máximo de elementos que se devolverán en el conjunto de resultados. Funciona en conjunto con $skip para definir el tamaño de cada página. Por ejemplo, si desea recuperar los primeros 10 elementos, establecerá $top=0.
  3. $ recuento en línea: Este parámetro se utiliza para obtener el recuento total de registros pasando el valor «allpages» a este parámetro.

Al usar $skip,$top y $inlinecount juntos, puede navegar a través del conjunto de resultados en fragmentos, implementando efectivamente la paginación.

Por ejemplo, para recuperar la segunda página de resultados (elementos 501-600), puede usar $top=100 y $skip=500.

Ahora, tiene un escenario en el que necesita recuperar la carga completa de la API del socio comercial o cualquier otra API de la nube pública de S/4 Hana con 500 registros por página.

Aquí, el parámetro $inlinecount aparecerá en la imagen.

Primero llame a la API con https://<Nombre de host de S4hanaAPI>:<Puerto>/API_BUSINESS_PARTNER/A_BusinessPartner?$top=500&$skip=0$inlinecount=todas las páginas

en respuesta, obtendrá 500 registros si los registros son iguales a 500 o más; de lo contrario, la carga completa aparecerá en la primera página.

Junto con estos registros, también obtendrá el recuento del total de registros en el elemento «recuento»

si (cuenta>500)

luego calcule la cantidad de llamadas API que necesita realizar en función del recuento total

Después de cada llamada a la API, aumente el valor de skip en 500.

Para hacer todo esto, necesita escribir un programa en un lenguaje compatible con su aplicación o sistema middleware.

Llamemos a esta API en CPI con paginación

En CPI, el adaptador OData puede administrar todos los parámetros, solo necesitamos administrar la cantidad de veces que se debe llamar a la API mediante el artefacto de «llamada de proceso en bucle».

Como puede ver en la imagen a continuación, obtener datos de S/4 Hana, transformar los datos en el formato API de Salesforce Soap y transferirlos al sistema Salesforce se realiza en el «Proceso de integración local 1».

Y el proceso de integración solo se utiliza para llamar al «Proceso de integración local 1» en bucle.

En el adaptador OData, simplemente marque «Procesar en páginas» e ingrese el número total de registros que se deben llamar en una sola llamada en «Tamaño de página».

Cada vez que la llamada API recupera los datos, aparece una propiedad «${propiedad...hasMoreRecords} » se establece en verdadero si todavía quedan registros para recuperar de S/4 Hana o se establece en falso si no quedan registros para recuperar

Esta propiedad debemos establecerla en la llamada al proceso de corte para dar la condición para detener el ciclo.

Receptor: S4Hana

Canal:ODataS4

Condición en la llamada del proceso de poda: ${property.S4Hana.ODataS4.hasMoreRecords} contiene ‘verdadero’

Conclusión: Después de leer este documento, podrá utilizar fácilmente la API OData con paginación y cómo utilizarla en CPI.


Cómo Accenture y SAP unieron sus fuerzas para revolucionar la prestación de terapia celular y génica
Previo
CAP con Fiori Elements: Acciones en el informe de lista/página de objetos usando anotaciones – Parte 2
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.