l exit EXIT_SAPLMGMU_001 (enhancement MGA00001) te permite interceptar la lógica de PAI al momento de guardar/validar datos del maestro de materiales. Ahí tienes acceso a la tabla global de datos del maestro, incluyendo MARC (nivel planta).

A continuación un ejemplo para bloquear el campo SOBSL (MARC-SOBSL) cuando la planta = '0123' en MM02:


1. Activar el enhancement

  • Transacción SMOD → enhancement MGA00001 → doble clic en componente EXIT_SAPLMGMU_001.

  • Transacción CMOD → crea un proyecto, asigna MGA00001 y activa.


2. Código de ejemplo en include ZXMG0U01 (implementación del EXIT)

 
*---------------------------------------------------------------------* * INCLUDE ZXMG0U01 - Implementación EXIT_SAPLMGMU_001 *---------------------------------------------------------------------* * Aquí puedes acceder a datos del maestro mediante estructuras globales *---------------------------------------------------------------------* INCLUDE lmgmm... " ya viene en el entorno del exit FUNCTION EXIT_SAPLMGMU_001. *"---------------------------------------------------------------------- *" IMPORTING *" VALUE(I_BILDST) LIKE BILDST STRUCTURE BILDST *" EXPORTING *" VALUE(E_BILDST) LIKE BILDST STRUCTURE BILDST *"---------------------------------------------------------------------- * Nota: Estructuras globales como WMARA, WMARC están disponibles *---------------------------------------------------------------------- DATA: lv_werks TYPE werks_d, lv_sobsl TYPE sobsl. " Planta que el usuario está procesando lv_werks = wmarc-werks. lv_sobsl = wmarc-sobsl. IF sy-tcode = 'MM02' AND lv_werks = '0123'. " Si el usuario intenta cambiar SOBSL en planta 0123, error IF lv_sobsl IS NOT INITIAL. MESSAGE e001(zmm_mm) WITH 'No está permitido modificar el tipo de aprovisionamiento especial' 'en la planta 0123'. ENDIF. ENDIF. ENDFUNCTION.

3. Detalles clave

  • WMARC es la estructura global con datos de planta, incluye WERKS y SOBSL.

  • El mensaje E001(zmm_mm) debes crearlo en tu clase de mensajes Z.

  • Con MESSAGE e detienes la grabación y obligas al usuario a corregir.

  • Puedes refinar la condición: si quieres bloquear incluso que se visualice/edit el campo, combínalo con OMS9 (field selection) y pon SOBSL en Display para la planta 0123. El exit asegura el bloqueo al guardar.

Software Factory 2