Configuración de SAP PO
Como vimos en el artículo anterior, es posible usar SAP PO para integrar archivos entre SAP ECC y soluciones en la nube de Microsoft, como OneDrive, cumpliendo unos requisitos previos.
En este ejemplo, vamos a ver cómo descargar ficheros o imágenes para usarlos, por ejemplo, en formularios de SAP usando la API de Microsoft Graph y OAuth en un adaptador REST en PI/PO.
El esquema de la integración, tanto para recuperar como para enviar archivos a OneDrive es el siguiente:
Lo primero que vamos a hacer es conectar a OneDrive y obtener una lista de los archivos o directorios disponibles. Usaremos los datos de configuración que vimos en la primera parte del artículo (TenantID, Client ID y Client secret). Una vez comprobada la conexión, se realiza una llamada mediante proxy usando el nombre del fichero para poder utilizarlo en SAP ECC.
El endpoint de Microsoft Graph consiste en:
- URL raíz de Microsoft Graph y versión: https://graph.microsoft.com/v1.0
- Identificación del usuario de acceso: /users/{user-id}
- Destino del recurso de la API de OneDrive :/drive or /drives/{drive-id}/items/{item-id} or /drive/root:/ruta/al/item
Para ver la lista de objetos de un directorio, podemos usar el siguiente endpoint:
https://graph.microsoft.com/v1.0/users/{id-usuario}/drive/root:/{ruta-a-patir-del-root}:/children
Si lo que queremos es acceder a fichero concreto, necesitaremos pasarle la ruta completa. También podemos incluir un parámetro con el nombre del archivo de manera que se pueda recuperar mediante una Dynamic Configuration en el ESR a partir de los datos enviados por el proxy
Vamos a obviar en este artículo la configuración de los tipos de mensaje y mapeos en el ESR, ya que dependen del escenario y no son diferentes de cualquier otro ejemplo de mapeos que queramos hacer.
Una vez creados los objetos, necesitaremos un Configuration Scenario con un canal REST y una ICO.
En la configuración del canal REST utilizaremos los datos recogidos en el registro de la aplicación. El uso del sistema de autorización OAuth permite recuperar el token para la conexión con OneDrive y hacer la llamada en un solo paso, sin necesidad de complicarnos la vida haciendo UDFs en los mapeos.
La url del servidor incluye el Tenant Id que obtuvimos al registrar la aplicación.
https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
Además, tendremos que haber configurado previamente el Client ID y el valor de Client secret.
En este caso, la operación que vamos a hacer es un GET, para traer la ruta de descarga del fichero, pero se permiten las operaciones CRUD (Create/Read/Update/Delete) usando los métodos POST/GET/PUT/DELETE. Esto nos permitirá mantener la coherencia en los nombres y contenido de los ficheros compartidos entre SAP y los servicios en la nube, facilitando su localización y uso.
Después podemos configurar los formatos de datos (si los queremos en binario, por ejemplo) y el tratamiento de errores, dependiendo de la respuesta del servidor.
A partir de este punto, podremos recuperar los ficheros que necesitemos e incluirlos en nuestros procesos en SAP, ya sea para incluir imágenes de albaranes en un formulario o leer o guardar datos de una hoja Excel para tenerlos actualizados en los dos sistemas.
Esperamos que estos dos artículos te hayan sido de utilidad. Si tienes alguna pregunta no dudes en dejarla en los comentarios o ponerte en contacto con nosotros.