✒️ABAP El testing y el reproceso de un idoc
ABAP El testing y el reproceso de un idoc
Desde el menú WEDI se puede acceder a las transacciones de testeo de IDocs.
Hay diferentes tipos de testeo, para diferentes etapas del envío o recepción del mensaje ALE:
Generación de mensajes de salida
Generación de IDocs de entrada
Reenvío de IDocs de salida
Procesos de salida de IDocs desde la tabla NAST
Tabla NAST: La tabla transparente estándar NAST se utiliza para almacenar los mensajes de status en el sistema. Contiene todos los mensajes creados por el sistema.
Todos estos test se utilizan para probar, desde la generación del mensaje y generación del IDoc, hasta el envío al puerto y el estado final del envío.
2 | La transacción WE19
La transacción WE19 se utiliza para testear IDocs de entrada o salida.
En los IDocs de entrada, se testea que la conexión sea correcta y que el código de proceso (módulo de función) se ejecute correctamente.
La generación del IDoc se hace manualmente, por lo tanto, no se puede testear por esta transacción, las funciones de generación de segmentos.
En los IDocs de salida, se testea que el proceso post-envío se ejecute correctamente. Esto es útil para puertos tipo ABAP donde se testea que el módulo de funciones correspondiente se ejecute correctamente. No se testea la generación del IDoc, ya que se carga manualmente.
3 | El test de IDocs de salida
Para testear un IDoc de salida, la mejor forma es ejecutar la transacción que genera el IDoc correspondiente. De esta manera, se asegura que se ejecuta el circuito completo (Módulo de funciones que genera los segmentos, envío del IDoc y módulo de funciones de la puerta, en caso de puerta ABAP).
Para testear individualmente la función de una puerta ABAP y debuguear el programa, se puede acceder directamente desde la transacción SE37 y ejecutar el módulo de funciones que tiene asignada la puerta ABAP, pasándole como parámetro, el número de IDoc.
Por medio de la transacción WE14, se puede enviar al puerto de salida, un IDoc con status diferente a 53 "Procesado correctamente".
Mediante la transacción WE15, se envía un IDoc que quedó acumulado en la pila de salida ( Tabla NAST ).
Transacciones WE14 y WE15: Utilizaremos las transacciones estándar WE14 y WE15 para procesar Idocs y enviar los Idocs acumulados a la pila de salida.
4 | El test de IDocs de entrada
Podemos testear un IDoc de entrada desde la transacción WE19 (como se vio anteriormente).
Utilizando esta transacción, se puede probar el proceso completo de entrada, desde la determinación del acuerdo de interlocutores, hasta la generación del documento de negocios.
Puede también informarse el módulo de funciones que generará el documento de negocios sin tener configurada la interfase de entrada (acuerdo de interlocutores).
Otra manera, es que el sistema externo que debe interactuar con SAP, envíe el IDoc a testear. Si se tiene un archivo con el IDoc a testear (o procesar) se puede ejecutar el módulo de funciones EDI_DATA_INCOMING.
5 | Los códigos de estado
Existen diferentes códigos de estado de los IDocs que informan al usuario responsable, que etapas pudieron ser procesadas correctamente y que etapas generaron errores en el proceso.
Los estados de un IDoc son acumulativos y por medio de las transacciones de monitoreo puede verse la historia del IDoc.
Los estados varían dependiendo si se trata de un IDoc de entrada o de salida. Los status para los IDocs salientes se sitúan entre "01" y "49", mientras que los valores de status para IDocs entrantes se inician con "50".
Para obtener un listado con todos los status posibles de un IDoc, se puede acceder a la transacción WE61 y visualizar el registro de control genérico.
AUDIO ACLARATIVO: Podemos cambiar el estatus de un IDoc ejecutando el programa estándar RC1_IDOC_SET_STATUS. En la pantalla de selección deberemos introducir el número de la IDoc, el tipo de mensaje, el estatus actual y el estatus nuevo. También podemos tildar un check en caso de querer ejecutar el reporte en modo test.
6 | El listado y la visualización de IDocs
Para obtener un listado de los IDocs recibidos y enviados, se usan las transacciones WE02 y WE05.
La lista puede ser filtrada por:
- Fecha de proceso.
- Tipo de mensaje o Tipo base.
- Dirección del IDoc (entrada o salida).
- Número de IDoc.
- Información del acuerdo de interlocutores, etc.
AUDIO ACLARATIVO: No existe mucha diferencia entre las transacciones estándar WE02 y WE05. Ambas transacciones están vinculadas al mismo programa estándar que es el programa RSEIDOC2. Ambas transacciones son utilizadas para verificar una IDoc creado. La razón por la cual existen estas dos transacciones y no una sola de ellas tiene que ver con un tema de objetos de autorización existente en el programa estándar. En conclusión, podemos utilizar cualquiera de las dos transacciones.
7 | El reproceso de IDocs
Los IDocs que quedaron con error pueden ser modificados y reprocesados. Para reprocesar un IDoc de entrada utilizaremos la transacción BD87.
Transacción BD87: Utilizaremos la transacción estándar BD87 para reprocesar IDocs.
AUDIO ACLARATIVO: La diferencias y similitudes existentes entre las transacciones WE19 y BD87 son las siguientes: en la transacción estándar WE19 solo podemos procesar IDoc al mismo tiempo, mientras que en la transacción estándar BD87 podemos procesar cualquier cantidad de IDocs. Si intentamos procesar un IDoc existente en la transacción WE19 se generará un nuevo número de heridos, mientras que en la transacción BD87 podemos reprocesar IDoc ya existente sin que se genere un IDoc nuevo, en la transacción estándar BD87 no es posible procesar IDoc con status OK, mientras que en la transacción estándar WE19 si es posible procesar una IDoc con status OK. En conclusión, no debemos utilizar la transacción WE19 para reprocesar, debemos utilizarla para realizar testing y debugg
Se pueden seleccionar IDocs individuales, grupos por estado o por tipo de mensaje, etc. Además, puede especificarse el número de IDoc a reprocesar.
Los IDocs reprocesados serán actualizados con una nueva entrada en la lista de status.
Para reprocesar y reenviar IDocs de salida, se utiliza además la transacción WE14.
Cualquier IDoc con estado de error al envío, o agrupado para la salida, será enviado al puerto de salida preseleccionado en el Acuerdo de interlocutores.
 
 
 
Sobre el autor
Publicación académica de Pedro Antonio Duarte, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Antonio Duarte
Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Pedro Duarte