jueves, octubre 06, 2011

Definir RFC Lookup en mapeos gráficos


En el siguiente post voy a comentar los pasos necesarios para realizar mapeos de campos mediante conversiones  RFC Lookup.

NOTA: Este tipo de mapeos depende de parámetros y hay que tener en cuenta que en la versión de PI 7.3 no están soportados los mapeos parametrizados en los adaptadores java (Advanced Adapter Engine).

miércoles, septiembre 28, 2011

Asegurar envío únicos de mensajes por HTTP

En el caso se querer asegurar que no se procesen mensajes duplicados enviados por HTTP, se puede añadir el parámetro "msgguid" al final de la URL de llamada al servicio (válido para los mensajes enviados en modo EO o EOIO). En caso de que PI reciba 2 mensajes con el mismo ID, automáticamente devolverá un mensaje 500 informando de la duplicidad del mensaje. Un ejemplo de URL con ID es el siguiente:

http://sap-ag.com:8088/sap/xi/adapter_plain?service=sender&namespace=urn%3Asap-ag%2Ecom&interface=%2Fsap%2Forders&qos=EO&msgguid=3c61f6c1-2f1e-2dd1-e100-00000a1145ab

martes, septiembre 27, 2011

El Payload del contendido de un mensaje no aparece para AAE

Con la llegada del Advance Adapter Engine (AAE), los mensajes que se procesan por adaptadores de este tipo sólo se pueden monitorizar desde la interfaz web. Al igual que sucedía con los mensajes que pasaban por los adaptadores ABAP, por defecto, para los mensajes síncronos el sistema no almacena el payload.

Para definir que mantenga el payload de dichos mensajes habrá que modificar el valor de la propiedad messaging.syncMessageRemover.removeBody del servicio XPI Service: Messaging System desde el menú SAP NetWeaver Administrator->Configuration ->Infrastructure->Java System Properties.


Referencias:

lunes, septiembre 12, 2011

HttpAdapterException: CANNOT_FIND_BINDING

Recientemente me topé con un error de un adaptador HTTP Java asíncrono que decía que no se podía encontrar la entrada correspondiente para los valores P/S/A dados:

com.sap.aii.adapter.http.api.HttpAdapterException: CANNOT_FIND_BINDING,Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;...

viernes, septiembre 09, 2011

Confirmaciones de envíos mediante adaptador XISOAP

Cuando se realizan envíos de mensajes desde un backend SAP mediante ABAP proxy a partir de la versión SAP PI 7.11, SAP recomienda que se emplee el adaptador SOAP con protocolo de mensaje XI 3.0. En ese caso, si se desea obtener respuesta de confirmación (ojo, no confundir con respuestas de mensajes síncronos), se deberá indicar quién es el sistema destino en el propio adaptador.

martes, septiembre 06, 2011

Caracteres de escape

En las expresiones regulares, se pueden emplear ciertos caracteres comodín para realizar búsquedas que encajen con determinados patrones. Dichos caracteres dependen del entorno en el que se empleen.

Si se va a realizar comparaciones entre valores de variables del código ABAP, los comodines disponibles son:
  • Asterisco ('*') para ristras de caracteres
  • Signo más ('+') para caracteres individuales. 
Si la comparación se va a realizar a nivel de base de datos, en este caso los comodines son:
  • Signo porcentaje ('%') para las ristras de caracteres
  • Guión bajo ('_') para caracteres individuales.

lunes, agosto 29, 2011

SERIALIZATION ERROR

A la hora de enviar un eMail mediante el adaptador de correo de PI, es necesario pasar el contenido del mensaje a formato XSDANY (ver nota 748024), el cual se trata de un RAWSTRING.

Para realizar la conversión del contenido, nos vale alguna función que convierta de STRING a XSTRING, tal como SCMS_STRING_TO_XSTRING. El problema está en que, si pasamos este contenido al proxy encargado de realizar el envío del mail, así tal cual, lo más seguro es que el método devuelva una excepción indicando que ha habido un error en la serialización.

Esto es porque el mensaje del contenido que vamos a pasar debe estar contenido entre etiquetas (da igual lo que pongan), pero deben delimitar el mensaje.Ejemplo:



Enlaces relacionados:

jueves, agosto 11, 2011

Permanent error in BPE inbound processing

Haciendo pruebas con los ccBMP (o Integration Processes como lo denominan ahora) es posible que, en algún momento, se quede el escenario bloqueado con la banderita roja y aparezca el mensaje "Permanent error in BPE inbound processing" en la cola de entrada (tx. SMQ2). A partir de ese momento, las siguientes pruebas que se realicen aparecerán con bandera verde y el mismo error, independientemente de que hayamos corregido las últimas modificaciones que provocaron el error original.