Avalados por :

Solución para validar y cancelar la publicación de documentos en SAP MIGO con BADI y User Exit.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 48 Vistas
0
Cargando...

¡Hola amigos, NECESITO VUESTRA AYUDA! (en español al final)

Donde:

VERSIÓN DE SAP: 4.6c.

Tx: MIGO

Mov: (101 recepción de mercancías GR)

El problema: Dentro de MB_DOCUMENT_BADI no podemos cancelar la publicación del documento si hay algún error y devolver el control a la Tx MIGO.

Debemos realizar algunas validaciones sobre todos los elementos de la recepción de mercancías dentro de una User EXIT o BADI. Si algo sale mal, debemos cancelar la publicación y permitir al usuario realizar cambios en el movimiento de recepción de mercancías.

Intentamos usar USER-EXIT EXIT_SAPMM07M_001 pero esta salida se llama para cada elemento y necesitamos hacer algunas validaciones al final del proceso para todos los elementos justo antes de guardar los datos.

Colocar un mensaje de error en la BADI produce ABENT, así que intentamos con LEAVE TRANSACTION y LEAVE SCREEN, pero esto no resuelve nuestro problema (permitir al usuario modificar datos después de la validación cancela el guardado de datos).

Gracias de antemano.

Versión en Español.

Donde?

El problema: No podemos hacer que la BADI devuelva el control del programa a la Transacción Migo y cancele la publicación del movimiento.

Tenemos que realizar una validación de los materiales recibidos en la transacción MIGO con una tabla z y mostrar el resultado en una dynpro para que el usuario decida si continúa con la grabación de los materiales o decide no ingresarlos y corregir los datos necesarios.

Al contabilizar la transacción pasa por la USER-EXIT EXIT_SAPMM07M_001 y por la BADI MB_DOCUMENT_BADI.

La User Exit se ejecuta una vez por cada material, por lo que no cubre las necesidades del requerimiento y en la BADI no he encontrado la forma de devolver a la Tx MIGO un mensaje de error o alguna otra forma de detener la Tx para que el usuario corrija los datos.

En la BADI, colocar un mensaje de error produce ABENT, y colocar sentencias de leave transaction o leave screen no proporciona ningún beneficio.

¡De antemano, muchas gracias!

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

Hola,

¿Podrías explicarme cómo resolviste el problema de mostrar mensajes al usuario y detener la transacción si es necesario con un mensaje de error? Desde ya, gracias.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?