Truco 120. Transacciones para la gestión de IDOCs. Nuevo monitor WLF_IDOC, la «navaja suiza» de los Idocs.


En los últimos años, los Idocs me han perseguido por todos las empresas en las que he trabajado. En un mundo cada vez más interconectado, los idocs son un elemento fundamental para gestionar las comunicaciones de entrada / salida con sistemas propios o externos, tales como:

  • Operadores logísticos: envio de pedidos, entregas, recepción del picking, documentos de transporte, etc.
  • Comunicaciones EDI: envio/recepcion de pedidos, entregas, confirmaciones de pedido, facturas. Para nuestra comunicaciones con clientes o proveedores.
  • Ecommerce: envio de materiales, precios, recepción de pedidos, confirmaciones, envio de albaranes, facturas, etc.
  • Portales internos: portales de comerciales, portales de proveedores, sistema CRM, etc.
  • Retail: integraciones con terminal punto de venta (POS), integraciones con sistema CAR, etc.
  • Distribución de datos maestros o documentos entre sistemas SAP (Ale).

Solo por poner algunos ejemplos.

Como la mayoria de vosotros conoceis, los Idocs son unos documentos electrónicos intermedios que nos permiten realizar el intercambio de información, con una estructura normalizada, que siempre incluye los siguientes elementos.

  • Registro de control: un unico registro donde se indica quien envia, el destinatario, tipo de mensaje, tipo base, puertas, etc.
  • Registros de datos: estructura jerarquica, con uno o varios registros, donde se detalla toda la información del documento. Podemos tener diferentes tipos de segmentos, cada uno con su estructura de datos y con repetición (por ejemplo, posiciones de un documento) y anidación de segmentos en forma jerarquica. Por ejemplo, una factura recibida de un proveedor, con sus diferentes segmentos de cabecera (fechas, interlocutores, identificadores de documentos) y detalle de posiciones.
  • Registros de estado: uno o varios registros en donde se historifican los diferentes estados por los que van pasando el idoc, pudiendo incluir informacion asociada a cada estado (log de errores, información de documentos creados, etc).

En un entorno así, con sistemas cada vez más interconectados, necesitamos herramientas para poder monitorizar y gestionar los problemas más frecuentes que se producen con los idocs. Hasta la fecha, y según la mania de cada uno, utilizabamos las siguientes transacciones:

Monitor de Idoc. Transacción WE02

Es una de las transacciones más usadas por los consultores que gestionan idocs (a mi personalmente me gusta más la BD87). Nos muestra los idocs seleccionados organizados en carpetas según Entrada/Salida, Tipo de Mensaje y Status. Nos permite de una forma más o menos rapida ver lo que se ha procesado correctamente, lo que esta pendiente o lo que esta erroneo. Y desde allí realizar el analisis de los sucedido.

Desde el monitor podemos acceder a los idocs individuales para visualizar o modificarl si es necesario (desde el segmento de control o en un segmento de datos, opción Registro de datos –> Visualizar/Modificar) o ver el contenido completo del idoc con la opción Visualización de datos.

El monitor no permite relanzar el procesamiento de idocs erróneos, pero si nos permite una opción muy interesante. Seleccionando un nodo, y con la opción Lista de segmento especial, indicamos el segmento que queremos visualizar y nos muestra el contenido de ese segmento en todos los idocs seleccionados.

Una opción muy interesante para analizar de una forma rápida el contenido de un grupo de idocs o para realizar comprobaciones.

Monitor de Idoc. Transacción BD87.

Este monitor ha sido hasta hoy mi preferido. Basicamente, se diferencía de la WE02 en la forma de mostrar la información y en las acciones que se pueden realizar con los idocs.

A nivel de formato de visualización, me gusta que de un vistazo podemos ver lo estados de los idocs, lo que ha ido bien, lo que esta pendiente o erroneo. De una forma rápida.

Desde la visualización inicial podemos:

  • Realizar filtrado de los idocs.
  • Reprocesar los idocs erroneos o procesar idocs en estado inicial.
  • Navegar a la lista de idocs.

En este listado podremos acceder a los idocs individuales (y realizar las mismas operaciones descritas en la WE02 a nivel de cada documenbto individual), visualizar las vinculaciones (si un idoc ha creado un documento, desde aqui podremos ver el numero de documento asociado y navegar hasta el), ver información de status y el texto explicativo (interesante para ver el detalle de los errores), etc.

Busqueda de contenido en idocs. Transacción WE09.

Pero que ocurre cuando necesitamos encontrar un idoc por su contenido. Podriamos intentarlo con las tablas donde se guarda la información, que son las mismas para todos los tipos de idocs ( EDID4 / EDIDC / EDIDS ). Pero tenemos otra opción con la transacción WE09, donde podemos indicar uno o varios segmentos y los valores a buscar en un campo determinado.

El monitor hace un barrido por los idocs que cumplan las condiciones de seleccion generales indicadas y busca en sus segmentos los valores introducidos.

Desde la lista de resultados podremos navegar al idoc, modificarlo, ver su contenido completo (igual que en la visualización individual de la WE02 o BD87).

Cambio estado de idocs. Report RC1_IDOC_SET_STATUS.

Cuando necesitemos cambiar el status de un idoc, por ejemplo para dar por concluidos documentos erroneos o cuando necesitemos inicializar el estado de alguno de ellos, podemos utilizar el report abap RC1_IDOC_SET_STATUS.

El report nos permite indicar uno o varios idocs a actualizar, el estado actual y el estado destino, pudiendo realizar una ejecucion en test antes de hacerlo en real.

Herramienta de test. Transacción WE19.

Esta herramienta es muy util cuando estamos montando una nueva integración utilizando Idocs y queremos probar con datos «inventados». También nos puede valer para replicar idocs erroneos y modificar su contenido. A diferencia de las transacciones vistas hasta ahora, donde solo podiamos modificar el contenido de los segmentos existentes, en la WE09 podemos añadir o quitar segmentos tambien, lo que puede ser muy útil para solucionar determinados tipos de errores.

Indicaremos el idoc que queremos utilizar como modelo y realizaremos la edición de los segmentos, modificando los valores en segmentos existentes, añadiendo o quitando estos, copiando un segmento como un segmento nuevo, etc. Desde la misma herramienta se puede lanzar la creación y el procesamiento del idoc editado al sistema (tanto idocs de entrada como de salida al exterior).

Visualizar formato de idocs. Transacción WE30.

Esta es otra de mis favoritas, no orientada a monitorizar los idocs existentes, pero si para obtener información de las estructuras de los diferentes tipos de idocs que podemos gestionar en nuestro sistema.

En el ejemplo, el tipo base ORDERS05, que podremos utilizar tanto para enviar pedidos a nuestros proveedores, como para recibir pedidos de nuestros clientes.

La transacción nos muestra la estructura del idoc, con sus diferentes segmentos, la jerarquia de ellos y los campos componentes de cada segmento si vamos navegado en el arbol.

Documentacion de Idocs. Transacción WE60.

Con esta utilidad podemos obtener documentación referente a los idocs en diferentes formatos como HTML, XML, DTD o C. Muy util cuando tenemos que pasar documentación «a la otra parte» de la información que le vamos a enviar a través d elos idocs.

Transacción WLF_IDOC.

Gracias a Isa Bodur hemos conocido la transacción WLF_IDOC, la verdadera navaja suiza de los idocs, donde vamos a poder hacer casi todo lo que hemos descrito anteriormente desde un único lugar. El monitor fue introducido por Sap hace ya algún tiempo (EhP5 SP10 / EhP6 SP07), yo al menos lo he conocido recientemente.

Esta nueva transacción dispone de una pantalla inicial de selección con diferentes pestañas, incluyendo los criterios habituales de selección (fecha con la opción de mayor o igual, hora, tipo de mensaje, interlocutores, status, usuario, etc), mas la búsqueda por el contenido de los idocs (como la WE09), con ademas la opción de sustituir valores (ojo a esta opción).

Incluye un modo supervisión que nos permite planificar un job para realizar chequeos relacionados al procesamiento de los idocs. También nos permite, usando la ultima pestaña de los criterios de selección programar el procesamiento en segundo plano para procesar IDocs con el estado 30 (saliente) o 64 (entrante).

Una vez ejecutado el informe, nos aparecerá un informe ALV con toda la información posible de los idocs que cumplan los criterios de selección (tenemos disponibles todos los campos relacionados con un idoc).

Opciones de navegación.

Desde la lista de resultados, podremos:

  • Tenemos disponibles todas las opciones clásicas de un informe ALV: filtros, ordenación, exportación a excel, envio de email, gestión de variantes, etc.
  • Visualización del contenido del IDOC, es un formato mucho mas amigable que las transacciones clásicas. Se muestran tres secciones con la lista de los segmentos, el resumen de status con toda la información y el detalle de campos del segmento seleccionado.

Al seleccionar un segmento en la parte izquierda, en la parte derecha inferior veremos todos los segmentos del mismo tipo (por ejemplo, posiciones de un documento). Esta opción es super útil para poder ver todos los nodos que se repiten en diferentes posiciones del documento.

  • Acceso a la visualización clasica del idoc, haciendo doble click en el Status. Desde esta opción tenemos disponible la modificación del segmento de cabecera o de los segmentos de datos, tal y como teniamos en la WE02/BD87.
  • Visualización del log de aplicación, en el caso de que exista uno relacionado con el procesamiento del idoc (como si llamaramos a la transacción SLG1).
  • Visualización de documentos enlazados: podremos obtener los enlaces a otros idocs, datos maestros o documentos creados en el sistema, incluyendo la navegación a ellos con doble clic.
  • Navegación al formato del Idoc (como si entraramos a la transacción WE30), desde la columna Tipo Base.
  • Navegación a los acuerdos de interlocutor, puertas, etc utilizados en cada uno de los idocs.

Ademas de todo esto, tenemos disponibles las siguientes opciones de tratamiento:

  • Modificación del idoc: Si hemos completado la parametrización que permite modificar los segmentos o campos del idoc, podremos realizar la modificación directamente de los campos en el visor de los segmentos (sin necesidad de realizar la tediosa navegación segmento por segmento que realizabamos en la WE02/BD87).
  • Procesamiento del idoc: la misma opción que tenemos disponible en la BD87, teniendo disponibles tres modos de ejecución.
  • Cambio de vista de visualización, pudiendo pasar, para los idocs seleccionados en el alv, a una visualización similar a la WE02.
  • Enviar Idoc via RFC: nos permite enviar un idoc a otro sistema, indicando una conexión Rfc. Muy util para pasar idocs de un sistema productivo a un sistema de desarrollo, por ejemplo.
  • Comparación de dos idocs: podemos seleccionar dos idocs del mismo tipo y el sistema nos hace una verificación segmento por segmento, indicando los valores diferentes.
  • Modificación del registro de control del idoc: como indicamos más adelante, esta opción solo esta disponible en el modo experto. Pero es una forma mucho más rapida de modificar el segmento de control que la que tenemos ahora en la WE02/BD87.
  • Copiar idoc y borrar un segmento: podemos crear un idoc nuevo, borrando un segmento definido.
  • Modificación del status del idoc: como si realizaramos la ejecución del report RC1_IDOC_SET_STATUS. La modificación se puede realizar a uno o varios documentos seleccionados.

A tener en cuenta.

En un sistema productivo (mandante marcado como tal en la transacción SCC4), alguna de las funciones de la WLF_IDOC estan restringidas. En concreto:

  • Cambio del registro de cabecera de los idocs.
  • Cambio del status de idocs.
  • Copiar un idoc y borrar un segmento.

En ese caso, para perfiles de usuario avanzados, podemos hacer disponibles estas opciones con el parametro WLFIDOC_NEW_EXPERT = X. Al modo experto se accede ejecutando la funcion &EXPERT una vez estamos en la transacción.

Además, hay un tema importante respecto a la modificación de los idocs. Al contrario de la WE02 / BD87, donde podiamos modificar cualquier segmento de un documento, en la transacción WLF_IDOC tendremos que parametrizar que segmentos y que campos son modificables desde la transacción (si queremos realizar la modificación directamente en el visor de idocs).

La parametrización de modificación se encuentra en la SPRO, ruta Componentes Multiaplicaciones –> Monitor Idoc –> Especificar parametrizaciones de actualización de Idoc. Podemos indicar por tipo de mensaje, los segmentos editables (se podrá indicar que se pueden modificar todos los campos de un segmento o enumerar los campos editables).

Si no queremos realizar esta configuración, podremos realizar también la modificación del idoc navegado a la visualización clásica de los idocs (tal y como hemos indicado) o cambiando a la vistas clasicas desde la WLF_IDOC.

Ha sido una grata sorpresa descubrir esta transacción y poder, por fin, hacer todo desde el mismo sitio y de una forma mucho más sencilla y completa. ¡¡¡Felicidades Sap!!!

Bibliografia:

WLF_IDOC: Die Zauber-IDoc-Transaktion, die die WE02, WE09 und BD87 alt aussehen lässt.


Esta entrada fue publicada en Formacion, Productividad, S/4HANA, Sap Basis y etiquetada , , , , , , , , . Guarda el enlace permanente.

4 respuestas a Truco 120. Transacciones para la gestión de IDOCs. Nuevo monitor WLF_IDOC, la «navaja suiza» de los Idocs.

  1. NM dijo:

    Excelente post! no conocía la WLF_IDOC

  2. borofornes dijo:

    Roberto muy interesante, como siempre.
    Gracias.

  3. Juan dijo:

    Excelente información, muchas gracias!
    Cuando quieres generar un IDOC de un maestro de materiales, cual es el proceso a realizar?

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.