Truco 109. Verificaciones de cliente en la transacción MIGO


En nuestro truco de hoy vamos a hablar de la transacción MIGO y de como incluir chequeos propios en la transacción, cuando queramos realizar nuestras propias comprobaciones fuera del estándar.

¿Que es la transacción MIGO?

La transacción MIGO es una transacción enjoy diseñada para realizar los movimientos de material en el sistema (modulo MM). Vino a sustituir a un conjunto de transacciones especializadas en cada clase de movimiento que existían en versiones anteriores.

Por ejemplo, la MB01, MB1A, MB1B, MB1C, son algunas de las transacciones previas.

Truco109_img1

Transacción MB1A para realizar salidas de mercancía

Todas estas transacciones quedarán obsoletas con S4/HANA y ya no será posible utilizarlas mas.

Cuando Sap desarrolló la MIGO intento mejorar la experiencia de usuario y que la mayoría de operaciones relacionadas con gestión de stocks se pudieran realizar desde una única interfaz de usuario.

Truco109_img2

Transacción MIGO

La transacción es dinámica y varia su contenido según el tipo de operación  y la clase de movimiento de material que estemos realizando. Además, tenemos todos los campos disponibles en una única pantalla con diferentes secciones.

¿Como personalizar la transacción?

Mediante parametrización, se puede modificar el comportamiento de algunos campos, según cada clase de movimiento. Por ejemplo, podemos hacer un campo opcional u obligatorio.

Truco109_img3

Configuración de campos en la MIGO por clase de movimiento

Las parametrizaciones relacionadas con la MIGO las tenéis en la ruta: Gestión de materiales –> Gestión de stocks e inventario –> Parametrizaciones para transacciones Enjoy –> Parametrizaciones para movimientos de mercancia (MIGO).

Por ejemplo, también podréis hacer obligatorios campos a nivel de cabecera en la transacción.

Ademas, mediante programación podemos en la transacción MIGO añadir nuestro propios campos si fuera necesario. Para ello podéis utilizar la BADI MB_MIGO_BADI que permite realizarlo. Os dejo un vídeo de como hacerlo. En la sección de Bibliografia tenéis dos ejemplos más de personalización utilizando esta BADI.

¿Como incluir nuestras propias validaciones?.

Si lo que necesitáis hacer es añadir verificaciones adicionales en la transacción, la alternativa sería utilizar la BADI MB_MIGO_ITEM_BADI. Algunas consideraciones sobre esta BADI:

  • La badi es llamada cuando una nueva linea es insertada en la MIGO o cuando una linea existente se modifica.
  • Si los cambios se realizan en la cabecera, no se llama a la BADI si no hay cambios en las posiciones.
  • Toda la información de la cabecera y de las posiciones es transferida a la BADI para que pueda ser utilizada para realizar las comprobaciones.
  • En la BADI se puede ademas realizar la modificación del almacén o del texto de posición.

En mi ejemplo, estoy verificando que posiciones de pedido que se gestionan con entrega entrante no se contabilice la entrada de mercancía desde la MIGO, sino desde la VL32N.

Truco109_img4

Estos son los parámetros que se pueden gestionar en la BADI:

Truco109_img6

En la estructura ET_RETURN podemos pasar los mensajes que queremos que se devuelvan al usuario (E Error, W Warning, etc).

Cuando estoy en la transacción, al intentar hacer el movimiento de mercancía, se realiza la comprobación y se dispara el error:

Truco109_img5

Podríamos haber utilizado igualmente la BADI MB_CHECK_LINE_BADI método CHECK_LINE, pero a mi me parece más sencilla la implementación que os he mostrado. Podéis ver un ejemplo de implementación en este enlace de implementación.

Espero que os sea de utilidad.

Bibliografia:

https://blogs.sap.com/2013/06/14/how-to-create-a-custom-tab-for-migo-item-details/

Video: Add Custom Tab Screen in MIGO

http://saptechnical.com/Tutorials/ExitsBADIs/MIGO/screenexit.htm

BAdI MB_MIGO_BADI – In the middle of nowhere: http://scn.sap.com/docs/DOC-68084

https://blogs.sap.com/2018/11/21/adding-multiple-messages-in-migo-transaction-via-mb_check_line_badi/

En el libro “ABAP Development for Materials Management in SAP: User Exits and Badis” de Jürgen Schwaninger (Sap Press), tenemos ejemplos de código de la badi Ejemplos de código de la Badi MB_MIGO_BADI, para añadir campos de cliente en la transacción MIGO así como para realizar chequeos con el método MB_MIGO_ITEM_BADI (páginas 125 a 127). Os recomiendo la lectura de la versión parcial de este libro disponible gratuitamente.

Haz clic para acceder a 373_ucg.pdf

 

 

Esta entrada fue publicada en Abap, Formacion, SAP MM y etiquetada , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

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