✒️ABAP El testing y el reproceso de un idoc
ABAP El testing y el reproceso de un idoc
Unidad 4: IDocs.
Lección 9: Testing y reproceso de un IDoc.
1.- Introducción al Testing de IDocs.
Desde el menú WEDI puede accederse a las transacciones para probar IDocs.
Podemos realizar diferentes tipos de pruebas, en función de las diferentes etapas de envío o recepción de un mensaje ALE:
- Generación de mensajes de salida.
- Generación de IDocs de entrada.
- Reenvio de IDocs de salida.
- Proceso salida de IDocs desde la tabla NAST.
La tabla NAST se utiliza para almacenar los mensajes de estatus en el sistema. Contiene todos los mensajes creados en el mismo.
2.- Transacción WE19.
Útil para la validación de IDocs de entrada o salida.
Para los IDocs de entrada se valida los siguiente:
- Funcionamiento correcto de la conexión
- Código de proceso (módulo de función) se ejecuta correctamente.
Al generarse manualmente no se puede validar en esta transacción las funciones de generación de segmentos.
Para los IDocs de salida se valida:
- Ejecución correcta del proceso post-envio. Es especialmente útil para puertos de tipo ABAP donde valida la correcta ejecución del módulo de función correspondiente.
No se valida la generación del IDoc ya que se carga manualmente.
3.- Test de IDocs de Salida.
- Para la validación de un IDoc de salida, no hay mejor opción que ejecutar la transacción que genera el IDoc en cuestión. Proceder de esta manera permite asegurar la ejecución del circuito completo.
- Si queremos validar individualmente la función de un port ABAP y debuguear el programa, podemos hacerlo desde SE37 y ejecutar el módulo de funciones asignado al port ABAP, pasándole como parámetro el número de IDOC.
- Mediante la transacción WE14 podemos enviar al port un IDoc con estatus diferente de 53 "Procesado correctamente".
- Mediante WE15 podemos enviar IDocs acumulados en la pila de salida, tabla NAST.
4. Test de IDocs de entrada.
Para validar datos de entrada podemos utilizar la transacción WE19. Con esta transacción:
- Es posible validar el proceso completo. Desde el acuerdo de interlocutores hasta la generación del documento de negocio.
- Podemos también informar el módulo de funciones que generará el documento de negocios, sin tener configurada la interfaz de entrada.
Otra posibilidad es hacer que el sistema externo que interactúa con nuestro SAP, envie un IDoc a validar. Si tenemos el archivo a validar o procesar podemos ejecutar y debugar el módulo EDI_DATA_INCOMING.
5.- Códigos de estado.
Los códigos de estado de los IDocs nos informan, que etapas pudieron procesarse correctamente y cuales generaron errores. Los estados de un IDoc son acumulativos y mediante transacciones de monitorización podemos seguir el historial de un IDoc.
Los valores de los estatus varían en función de si el IDoc es de entrada o de salida:
- IDocs Salida. Valores de 01 a 49.
- IDocs Entrada. Valores del 50 en adelante.
Es posible obtener un listado con todos los estatus posibles de un IDoc, mediante la transacción WE61. Visualizaremos el registro de control genérico.
Es posible cambiar el estatus de un IDoc, mediante el programa RC1_IDOC_SET_STATUS. Deberemos informar los siguientes parámetros en la pantalla de selección:
- Nº IDoc
- Tipo de Mensaje.
- Código de estatus actual.
- Código de estatus nuevo.
- Es posible marcar un flag para que el report se ejecute en modo test.
6.- Listado y Visualización IDocs.
Podemos obtener un listado de los IDocs recibidos y enviados mediante las transacciones, WE02 y WE05.
Podemos filtrar por diferentes conceptos:
- Fecha proceso.
- Tipo de mensaje o Tipo base.
- Dirección del IDoc (entrada o salida)
- Número de IDoc.
- Información del acuerdo entre interlocutores.
No hay grandes diferencias entre usar WE02 o WE05 con estos menesteres ya que ambas están vinculadas al programa estándar RSEIDOC. La causa por la que no existe una única transacción para esto, se debe a un tema de objetos de autorización en el programa vinculado.
7.- Reproceso de IDocs.
Los IDocs que quedaron con error, pueden ser modificados y reprocesados. Para ello contamos con la transacción BD87 sin son IDocs de entrada.
Esta transacción tiene una serie de diferencias con respecto a la WE19:
- En la WE19 solo se pueden procesar los IDocs individualmente en la BD87 es posible procesar cualquier cantidad de IDocs.
- Si intentamos reprocesar un IDoc con WE19 se generará un nuevo número de IDoc, Con BD87 se mantiene la numeración del IDoc reprocesado.
- En BD97 no se puede procesar un IDoc con estatus OK. En la WE19 si.
- En resumen no utilizar la WE19 para reprocesar, utilizarla para testing y debug.
La transacción BD87 admite los siguientes filtros de selcción:
- Seleccionar IDocs individuales.
- Por grupos de estado
- Port Tipos de Mensaje y otros.
- Es posible especificar el número de un IDOC a reprocesar.
Los IDocs reprocesados se generarán con una nueva entrada en la lista de estatus.
Para reprocesar y reenviar IDocs de salida tenemos la transacción WE14.
Cualquier IDoc con estado de error al envío o agrupado para la salida se mándara al puerto de salida preseleccionando en el Acuerdo de interlocutores.
 
 
 
Sobre el autor
Publicación académica de Francisco Compte Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Compte Sanchez
Profesión: Sap Business&integration Architect - España - Legajo: QQ38S
✒️Autor de: 105 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Consultor sap mm y sd con algún conocimiento abap a nivel de debug. quiero consolidar conocimientos técnicos para reforzar mi perfil profesional.
Certificación Académica de Francisco Compte