Truco 106. Personalización de la transacción MD04 (Lista de necesidades).


En nuestro truco de hoy volvemos a temas más funcionales y vamos a hablar un poco de la transacción MD04.

Esta transacción es uno de los pilares fundamentales para el trabajo de los planificadores en un sistema Sap o de las personas que se encargan de los procesos de compra.

Básicamente, la MD04 nos permite, a partir de un material en un centro determinado, visualizar los elementos de planificación existentes en el momento actual.

Por ejemplo, al ejecutar la transacción podremos visualizar los stocks existentes en el centro, entradas previstas (solicitudes de pedido, pedido), ordenes de producción, ordenes previsionales, reservas, documentos de salida (pedidos de cliente, entregas), pedidos de traslado, etc.

Si un material es requerido para otro proceso (por ejemplo, es componente de la lista de materiales de un material que se fabrica o se utiliza como componente de subcontratación), también aparecerán las necesidades secundarias que son disparados por la necesidad de otro producto.

Igualmente, si en nuestro sistema introducimos necesidades planificadas desde el módulo de Producción, podremos verlas como un elemento de planificación.

Los diferentes necesidades aparecen ordenadas por fecha, está identificada su tipología por el campo “Elemento Planificación” (os recomiendo echar un vistazo a la ayuda del campo en cuestión).

La transacción MD04 nos permite navegar por los elementos (haciendo doble clic en ellos). Incluso permite realizar acciones (por ejemplo, nos permite crear un pedido a partir de una solped o crear una orden de producción a partir de una orden previsional). Por ejemplo, desde una solicitud de pedido

La transacción nos permite visualizar las necesidades de forma detallada o de forma agrupada por periodos (días, semanas o meses). Esto nos permite analizar de forma fácil periodos del futuro, detectando infracoberturas, problemas con los stock en determinados periodos, etc.

La transacción dispone de muchas utilidades, como el poder realizar filtrado en los elementos que se visualizan (hay que habilitar el filtrado pulsando el botón del filtro).

Además Sap nos deja ciertas “puertas abiertas” para realizar una personalización de la transacción, que es lo que os voy a contar en nuestro truco de hoy.

Transacciones adicionales en la barra de botones.

Podemos añadir, por parametrización, acceso directos a transacciones relacionadas por poder ser llamadas directamente cuando estemos dentro de la MD04.

La parametrización se realiza con los llamados “Perfiles de navegación”, desde la transacción OM0K, opción “Llamadas de transacción generales”. teniendo una limitación de 5 botones. Básicamente definiremos un perfil de navegación (hay unos estándar y podremos añadir los Z que deseemos).

Para cada botón, indicaremos la transacción que será llamada, pudiendo personalizar el icono asociado, pasar parámetros de memoria o filtrar la disponibilidad del botón según determinados valores del maestro del material (clase de aprovisionamiento, tipo de material, grupo planificación o característica de planificación).

Opciones adicionales en cada elemento de planificación.

Utilizando igualmente los perfiles de navegación, podemos añadir, para cada elemento de planificación, botones de navegación hacia otras transacciones.

Por ejemplo, si estamos en una solicitud de pedido, podremos añadir una llamada a Liberar la solicitud de pedido (ME54) o enviar un email al proveedor ( MDM2).

En la transacción OM0K seleccionaremos un Perfil de navegación y añadiremos las diferentes opciones en la sección “Llamadas transacción por elemento planificación”. Por ejemplo, en mi perfil para el elemento de planificación BA (Solicitud de pedido), hemos añadido las dos opciones indicadas (Liberar solped y Enviar email).

La forma de hacer accesibles los botones, tanto a nivel de barra de botones, como por elemento de planificación es seleccionando uno de estos perfiles cuando estemos trabajando con la MD04. Para ello, seleccionaremos la opción de menú Entorno –> Perfil de navegación –> Asignar.

Desde aquí podremos seleccionar el perfil de navegación que deseemos utilizar en cada momento o guardarlo como valor por defecto para el usuario con el que estemos trabajando.

Añadir columnas adicionales en la MD04.

Sap nos permite, mediante user-exit o Badi, añadir hasta 3 columnas adicionales en la transacción MD04. Puede ser útil cuando tenemos que añadir información extra en el informe que sea requerida por nuestros usuarios.

Podemos hacerlo a través de la CMOD (ampliación M61X0002), donde podemos llenar el valor de uno de estos 3 campos adicionales. Hay un ejemplo de implementación en el estándar.

Si preferimos utilizar las Badis, realizaremos una implementación de la badi MD_ADD_COL_EZPS (usando los metodos ACTIVATE_ADD_COLUMNS  y FILL_ADD_COLUMNS). Ver ejemplo de implementación en este link (gracias a saptutorial.org).

Desarrollos Z con información de la MD04.

Para finalizar, en ocasiones se nos hace necesario desarrollar un report Z que tenga la información de la MD04, pero con la opción de poder incluir varios materiales a la vez, filtrar por el tipo de elemento de planificación, etc. Es relativamente sencillo utilizando el módulo de función MD_STOCK_REQUIREMENTS_LIST_API. Aquí os pego un trozo de código con lo que haría falta.

* Pasamos la regla de seleccion ERGBZ

    CALL FUNCTION ‘MD_STOCK_REQUIREMENTS_LIST_API’
      EXPORTING
        plscn                    = plscn
        matnr                    = it_marc-matnr
        werks                    = it_marc-werks
      IMPORTING
        e_mt61d                  = wa_mt61d
        e_mdkp                   = wa_mdkp
        e_cm61m                  = wa_cm61m
        e_mdsta                  = wa_mdsta
*       e_ergbz                  = wa_ergbz
      TABLES
        mdpsx                    = it_mdps
        mdezx                    = it_mdez
        mdsux                    = it_mdsu
      EXCEPTIONS
        material_plant_not_found = 1
        plant_not_found          = 2
        OTHERS                   = 3.

Datos que devuelve:
  DATA:
    wa_mt61d TYPE mt61d,
    wa_mdkp  TYPE mdkp,
    wa_cm61m TYPE cm61m,
    wa_mdsta TYPE mdsta.

Tablas que devuelve:
  DATA:
*”  TABLES
    it_mdps TYPE TABLE OF mdps WITH HEADER LINE,
    it_mdez TYPE TABLE OF mdez WITH HEADER LINE,
    it_mdsu TYPE TABLE OF mdsu WITH HEADER LINE.

Se le pasa la información del material y centro (se hace una iteracion para los diferentes materiales y centros para los que se quiera obtener los datos).
En la tabla it_mdez está el detalle de los elementos que aparecen en la MD04, pudiendo completar la información devuelta por el estándar con cualquier otra información adicional que se quisiera mostrar.

Espero os sea de utilidad.

Bibliografía:

https://blogs.sap.com/2013/06/15/icons-for-frequently-used-transactions-in-md04/

https://vdocuments.mx/md04-add-new-columns.html

https://www.saptutorial.org/add-custom-column-in-sap-md04-tcode/

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

2 respuestas a Truco 106. Personalización de la transacción MD04 (Lista de necesidades).

  1. hperloz dijo:

    Muy buena aportación, gracias por compartir

  2. Juan Manuel dijo:

    buenas tardes, consulta ¿desde esta transaccion puedo borrar Ord Previsionales o Solicitudes de Pedido creadas?

    Muchas gracias!

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 .