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

S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram
#cpi  ·  #sap api business hub  ·  #sap cpi  ·  SAP Integration Suite  ·  Technical Articles

Crear mapeo de valor usando API

By s4pcademy 


Durante los últimos 5 años se publicaron muchos blogs muy interesantes sobre el mapeo de valor de CPI. Me di cuenta de que el proceso automático no era posible porque a la API le falta una manera fácil de crear un mapeo de valor.

En el último blog, SAP Cloud Integration: mantenimiento de artefactos de Value Mapping a través de la API de OData

el autor sugiere este paso preliminar manual:

“Cree un objeto de máquina virtual y mantenga las agencias de origen y de destino, así como los identificadores que necesita su escenario. Tenga en cuenta que es necesario mantener la primera entrada predeterminada manualmente, ya que no es posible guardar un objeto sin al menos una entrada de asignación de valor. Implemente su máquina virtual inicial en su inquilino”.

Mi primer blog sugiere una solución a este paso, para crear Mapeo de valor usando API.

Documentación existente

Primer método: «upsert» sugiere la capacidad de insertar o actualizar:

UpsertValMaps

UpsertValMaps

POST /UpsertValMaps permite agregar valores a un Value Mapping existente,

pero intentar insertar un valor en un no existente respondería con 404:

"Could not find source agency:SourceAgency, source identifier:123, target agency:TargetAgency and target identifier:456"

2do método:

Asignación de valoresTiempo de diseñoArtefactos

Asignación de valoresTiempo de diseñoArtefactos

POST /ValueMappingDesigntimeArtifacts

cargar un mapeo de valor

Disponible%20parámetros

Parámetros disponibles

Centrémonos en el parámetro ArtifactContent

“ArtifactContent”: “contenido zip del flujo de integración en formato codificado en base64”

Supongamos que se trata de una representación comprimida de una asignación de valor exportada.

Así que intentemos:

  • exportar (desde la interfaz CPI (Diseño => Artefactos) un mapeo de valor recién creado
  • eliminar este mapeo de valores (desde la misma interfaz)
  • codifique el archivo binario comprimido como cadena base64 (esto lo hace compatible con el contenido json)
  • intenta llamar a la API /ValueMappingDesigntimeArtifacts, valorando ArtefactoContenido parámetro con cadena previamente codificada en Base64

Y crea el Mapeo de Valor => ¡Hurra!

Ahora profundicemos en el archivo zip, revela la siguiente estructura

Zip%20archivo%20carpeta%20estructura

Estructura de carpetas del archivo zip

Buscando en el archivo value_mapping.xml:

contenido del archivo value_mapping.xml

Jugando con este contenido zip, podemos suponer que es posible:

-eliminar el mapeo de valores (a través de la interfaz CPI)

-alterar archivo zip para cambiar algunos valores en value_mapping.xml

-codificar error zip en base 64

-recrear el mapeo de valores a través de una llamada a la API.

Hemos entendido que el

  • El método POST nos permite crear un mapeo de valores.
  • podemos cambiar el contenido del archivo para crear el mapeo de valor que queremos (con al menos un par de entradas)

Ahora intentemos diseñar un flujo que nos permita crear un mapeo de valor:

Seguro: CPI tiene la caja de herramientas para manejar contenido zip y base64.

Punto de partida: me parece más fácil comenzar desde un archivo comprimido existente y modificar el contenido del archivo value_mapping.xml.

Comencemos con un archivo zip de asignación de valor existente y descargado.

Solo para estar seguros, vaciemos el archivo value_mapping.xml, dentro del archivo zip.

Luego, codifiquemos este zip como cadena base-64 usando el bloc de notas ++.

=> ¡esta cadena base64 será útil pronto!

Iflow sugerido

Esta es una propuesta de pasos para construir el iflow:

Paso 1: cuerpo de configuración del modificador de contenido con mi cadena base64

Paso 2: decodificación base64 (obtención de un archivo zip)

Paso 3: zip splitter: iteración en archivos comprimidos, uno por uno

nombre del archivo de prueba del enrutador = mapeo_valor.xml

${header.zipFileName} = ‘value_mapping.xml’

Paso 4: configure el cuerpo con la carga útil correspondiente a la representación xml de ValueMapping

que se pudo encontrar antes:

Paso 5: Reúna en modo zip => vuelve a crear el archivo zip

Paso 6: codificación base64 => el resultado es una cadena base64 que representa el mapeo de valores y que se puede pasar al método API

Por ahora, usando esta cadena base64 con una llamada API de Postman:

POST /ValueMappingDesigntimeArtifacts

como «Contenido de artefacto»

…obras…

Creado%20Valor%20Asignación

Mapeo de valor creado

Sugerí un flujo de CPI para crear esta cadena base64.

Sin embargo, no podemos crear un mapeo de valores sin un primer conjunto de valores. Por lo tanto, puede ser difícil separar la creación de mapas de valor de su conjunto de datos.

Espero que este blog te haya resultado útil, no dudes en comentar o hacer preguntas, haré todo lo posible para responderte rápidamente.

Enlaces de contenido comunitario relacionado y otras publicaciones de blog relacionadas

Mapeo de valor dinámico en SAP CPI | Blogs de SAP (2018)

El mapeo de valores clave en CPI para grandes conjuntos de datos nunca ha sido tan fácil | Blogs de SAP (2018)

Mapeo de valores clave en SAP Cloud Platform Integration (CPI) con un flujo de integración | Blogs de SAP (2018)

https://int4.com/sap-cpi-value-mapping-mantenimiento (2020)

SAP Cloud Integration: mantenimiento de artefactos de Value Mapping a través de la API de OData (2023)



Source link


APIcrearmapeousandovalor

Artículos relacionados


#AppGyver  ·  #Low Code No Code  ·  #SAPUniversityAlliances  ·  Business Trends  ·  future of work  ·  Getting Started with SAP ABAP on BTP  ·  next-gen
Los equipos comerciales pueden crear sus propias aplicaciones (¡con ayuda ocasional!)
Technical Articles
Crear contenido fiscal para países/regiones no localizados en SAP Cloud Applications Studio: parte 3
Technical Articles
Ejecutar BAPI para crear salida de mercancías contra la reserva

Deja tu comentario Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

Desglose del presupuesto de Movilidad Flexible 2022
Previo
FSM Cloud Connector compatible con S/4HANA Maintenance Service y SAP Field Service Management
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.
Cookies Para que este sitio funcione adecuadamente, a veces instalamos en los dispositivos de los usuarios pequeños ficheros de datos, conocidos como cookies. La mayoría de los grandes sitios web también lo hacen.
Aceptar
Cambiar ajustes
Configuración de Cookie Box
Configuración de Cookie Box

Ajustes de privacidad

Decida qué cookies quiere permitir. Puede cambiar estos ajustes en cualquier momento. Sin embargo, esto puede hacer que algunas funciones dejen de estar disponibles. Para obtener información sobre eliminar las cookies, por favor consulte la función de ayuda de su navegador. Aprenda más sobre las cookies que usamos.

Con el deslizador, puede habilitar o deshabilitar los diferentes tipos de cookies:

  • Bloquear todas
  • Essentials
  • Funcionalidad
  • Análisis
  • Publicidad

Este sitio web hará:

Este sitio web no:

  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
  • Recuerde sus detalles de inicio de sesión
  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
Guardar y cerrar