Planificación de materiales
En SAP MM, la planificacion de materiales (MRP) es el proceso por el cual se determinan de forma automática las necesidades de reaprovisionamiento de materiales.
Parámetros más relevantes
Nombre del Parámetro | Parámetro | Descripción | Propósito |
---|---|---|---|
MRP Type | MRP Tipo | Determina el método de planificación y reabastecimiento del material | Controla si el material se reabastece mediante producción o compra, y cómo se planifica. |
MRP Group | Grupo de MRP | Configuración que agrupa materiales con criterios de planificación similares | Facilita la gestión y configuración de materiales que deben ser planificados de manera similar. |
MRP Controller | Controlador de MRP | Responsable de la planificación de materiales dentro de un área específica | Asigna el responsable de planificación para una serie de materiales, facilitando la organización y responsabilidad. |
Lot Size | Tipo de Lote | Define cómo se calculan los tamaños de lote en los pedidos de material | Optimiza la cantidad de material pedido, minimizando el costo o maximizando la eficiencia de fabricación. |
Minimum Stock Level | Nivel de Stock Mínimo | Cantidad mínima de inventario que debe mantenerse en todo momento | Previene la ruptura de stock, asegurando que siempre haya material disponible para la producción o venta. |
Reorder Point | Punto de Pedido | Nivel de inventario que activa un nuevo pedido de reabastecimiento | Automatiza el proceso de pedido para asegurar un flujo constante de materiales sin interrupciones de producción. |
Replenishment Quantity | Cantidad de Reaprovisionamiento | Cantidad estándar a ordenar cada vez que se alcanza el punto de pedido | Simplifica el proceso de pedido al establecer una cantidad predeterminada para reordenar. |
Planning Horizon | Horizonte de Planificación | Periodo futuro para el cual se realiza la planificación de material | Define el rango temporal para la planificación de la producción y la compra, asegurando visibilidad a largo plazo. |
Planning Cycle | Periodicidad | Frecuencia con la que se ejecuta la planificación MRP | Determina cuán a menudo se actualiza y recalcula la planificación de necesidades de materiales. |
Safety Stock | Stock de Seguridad | Cantidad adicional de inventario mantenida para mitigar el riesgo de ruptura de stock | Proporciona un colchón contra fluctuaciones en la demanda o retrasos en el suministro, asegurando operaciones continuas. |
Lead Time | Plazo de Entrega | Tiempo requerido desde el pedido hasta la recepción del material | Importante para calcular cuándo ordenar materiales para cumplir con las fechas de producción sin mantener inventario excesivo. |
Forecasting Model | Modelo de Pronóstico | Modelo estadístico utilizado para predecir la demanda futura basada en datos históricos | Permite una planificación más precisa al estimar las necesidades futuras de materiales basadas en tendencias y patrones pasados. |
Scrap Percentage | Porcentaje de Desperdicio | Porcentaje estimado de material que se desperdiciará durante la producción | Ajusta la cantidad de material necesario para pedidos, considerando la pérdida esperada durante la fabricación. |
Código Python para Modificar un Parámetro de Planificación en SAP
Este script en Python utiliza win32com
para interactuar con SAP GUI. Automatiza el proceso de modificación de un parámetro de planificación de un material mediante la transacción MD02.
Requisitos
- Python 3
pywin32
instalado: puede instalarse conpip install pywin32
- SAP GUI instalado y configurado en el sistema
- Scripting de GUI habilitado en el lado del cliente y del servidor en SAP
Código
python
import win32com.client
import time
def main():
try:
# Conectar con SAP GUI
SapGuiAuto = win32com.client.GetObject("SAPGUI")
application = SapGuiAuto.GetScriptingEngine
connection = application.Children(0)
session = connection.Children(0)
# Acceder a la transacción MD02 para planificar un material
session.findById("wnd[0]/tbar[0]/okcd").text = "/nmd02"
session.findById("wnd[0]").sendVKey(0)
time.sleep(1) # Dar tiempo para que cargue la transacción
# Ingresar el número de material que deseamos planificar
session.findById("wnd[0]/usr/ctxtDISPO-PLNUM").text = "000000001000"
session.findById("wnd[0]").sendVKey(0)
# Navegar a la pestaña de parámetros donde se realiza la modificación
session.findById("wnd[0]/usr/tabsTABSTRIP/tabpT\\01").select()
time.sleep(0.5) # Esperar a que la GUI responda
# Modificar el campo de parámetro de planificación
session.findById("wnd[0]/usr/subSUBSCREEN:SAPLMDR1:1105/ctxtMDPA-PARAMETER").text = "Nuevo valor del parámetro"
session.findById("wnd[0]").sendVKey(0)
# Guardar los cambios
session.findById("wnd[0]/tbar[0]/btn[11]").press() # Botón guardar
print("Modificación de parámetro completada con éxito.")
except Exception as e:
print(f"Error: {str(e)}")
finally:
# Cerrar conexión
if session: session = None
if connection: connection = None
if application: application = None
if SapGuiAuto: SapGuiAuto = None
if __name__ == "__main__":
main()