Hola Jonny,
A continuación tienes dos guías detalladas para que puedas resolver el redondeo de los 1,88 m en MIGO, de forma que cualquier usuario pueda seguirlas paso a paso.
1. Ajustes de configuración (sin código ABAP)
1.1. Validar decimales de la unidad “M” en CUNI
- Ejecuta la transacción CUNI.
- En “Unidad de medida” ingresa M y pulsa Enter.
- Revisa el campo “Decimales”:
- Debe estar al menos en 3 (para permitir 1,880).
- Si es menor, edita y pon 3, guarda.
1.2. Asegurar unidad alternativa en el material (MM02)
- Abre MM02 – Material → Vista “Unidades de medida adicionales”.
- Confirma que exista la línea:
- Unid. Alter.: M
- Equivalencia: 1 UN = 3 M
- Decimales: al menos 3
- Guarda cambios.
1.3. Revisar Lista de Materiales (CS02)
- Abre CS02, ingresa tu Órden de fabricación y material.
- En la pestaña Componentes, verifica que:
- La UM de cada componente aparezca como M, no “UN”.
- Si ves “UN”, edítalo pulsando el lápiz y cámbialo a M, guarda.
1.4. Revisar Hoja de Ruta (CA02)
- Abre CA02 con tu número de ruta.
- Selecciona la Operación que use el componente en cuestión.
- En la sección Componentes:
- Confirma que en la columna UM figure M.
- Si figura UN, selecciónalo y en la parte inferior cambia a M, guarda.
- Sal de CA02 y refresca CS02 para comprobar que ahora la hoja de ruta hereda correctamente la UM “M”.
1.5. Probar la salida en MIGO
- Abre MIGO – Tipo “201: Salida de mercancía”.
- Ingresa tu Órden de fabricación y pulsa Enter.
- En la línea del componente, verifica que la columna Cantidad (M) permita introducir 1,880.
- Si ya aparece 1,880, graba el documento y comprueba el material en inventario.
2. Solución técnica con BADI / Exit
Si tras lo anterior el sistema aún redondea, implementa esta BADI para forzar la cantidad exacta:
2.1. Creación de la implementación de la BADI
MB_MIGO_BADI
- Ejecuta SE18, entra a la definición MB_MIGO_BADI.
- Pulsa Implementaciones → Crear.
- Asigna un nombre (por ejemplo, Z_MB_MIGO_DECIMALES) y guarda en tu paquete de desarrollo.
2.2. Código en el método
LINE_MODIFY
- Abre tu implementación en SE19 y edita el método LINE_MODIFY.
- Añade esta lógica (ajústala según tu requerimiento):
- Notas:
- is_goitem contiene la línea de mercancía antes de la validación.
- MSEG-MENGE es el campo que lee SAP para la cantidad de salida.
- Ajusta la tabla de consulta si utilizas estructuras Z o una lógica distinta.
2.3. Alternativa con User-Exit
Si prefieres un exit en lugar de BADI:
- En SMOD busca el proyecto que contenga el exit EXIT_SAPMM07M_001.
- En CMOD, crea/añade este módulo al proyecto y añade código idéntico al anterior dentro de su INCLUDE correspondiente.
2.4. Pruebas
- Registra tu implementación en el sistema de Calidad.
- Repite el paso 1.5 en MIGO.
- Verifica en el documento de material (MB51) que la salida figure con 1,880 M exactos.
Resumen de decisiones:
- Sin código: asegúrate en CUNI, MM02, CS02 y CA02 de que la unidad “M” tenga decimales y esté correctamente asignada.
- Con código: usa MB_MIGO_BADI→LINE_MODIFY (o EXIT_SAPMM07M_001) para sobreescribir la cantidad con el valor exacto de la orden.
Quedo atento si necesitas más detalles o apoyo con el transporte de tu Quick Fix a producción.
¡Éxitos!
Luciano
