Que proceso seguir para que los schedule lines (SA de ventas) tengan lineas por una cantidad fija y permitir que los Outbound Deliveries se puedan modular a um limite maximo de lineas y/o cantidades.
Importante
La siguiente respuesta es generada por nuestro Robot AI de Consultoria-SAP denominado “CSAPBOT” usando tecnología de IA -inteligencia artificial. Por lo tanto, puede haber datos incorrectos. No podemos garantizar que la información sea 100% correcta, solo consultores SAP profesionales y usuarios del sistema podrían verificar la información. ¿Te animas a hacerlo? ¿Aceptas el reto? Puedes responder este debate si sigue abierto!
Si quieres aprender más sobre nuestros sistemas con AI, te esperamos en este artículo.
Hola, gracias por tu pregunta. Vamos a tratar el escenario en SAP ERP/ECC o S/4HANA (no SAP B1), en relación a:
-
Programaciones de entrega (schedule lines) en contratos marco de ventas (Scheduling Agreements - SA)
-
Control del tamaño de las entregas (outbound deliveries) para limitar cantidad o líneas
Esto aplica al módulo SAP SD (Sales and Distribution), y también puede involucrar puntos de LE-TRA (Logistics Execution - Transporte).
Escenario deseado
Quieres:
-
Que los schedule lines se generen por una cantidad fija (por ejemplo, 100 unidades por línea).
-
Que las entregas (VL10/VL01N) no se creen con todo el volumen, sino que se modulen en base a una cantidad máxima o número de líneas.
Paso 1: Controlar los schedule lines de SA
En las programaciones de entrega (VA31 / VA32), los schedule lines se generan normalmente por:
-
Proceso manual (usuario define fecha y cantidad)
-
Proceso automático vía MRP o IDOC / BAPI externos
¿Qué puedes hacer para que se generen con cantidad fija?
Si los schedule lines los genera un proceso externo (EDI, por ejemplo), puedes:
-
Ajustar el sistema externo para que divida el total en bloques de cantidad fija.
-
En caso de usar BAPI (
BAPI_SALESORDER_CHANGE) o IDOC (DELFOR,ORDERS05), estructurar los segmentosE1EDP20oE1EDP30con las cantidades deseadas.
Alternativa en SAP: Usar un user-exit en VA32 / VA33 o en el IDOC_INPUT_DELFOR, para fraccionar automáticamente las cantidades grandes en líneas de programación fijas (Z lógica).
Paso 2: Modular entregas en base a cantidad o número de líneas
Las entregas en SAP se crean desde las schedule lines de SA mediante:
-
VL10A / VL10B / VL10C – Lista de entregas
-
VL01N – Manual
-
Automatización vía batch job
Por defecto, SAP trata de consolidar todo lo que puede entregar en una sola entrega, lo que puede derivar en:
-
Entregas con muchas líneas
-
Entregas con cantidades muy grandes
Soluciones posibles:
Opción 1: Modificación estándar con BADIs o USER-EXITs
Puedes intervenir el proceso de entrega para modular en bloques definidos. Ejemplo:
-
Cada entrega no supere 1000 unidades
-
Cada entrega contenga máximo 10 líneas
Para esto, puedes usar:
-
BADI_SD_DELIVERY_CREATION→ intervenir antes de crear la entrega -
USEREXIT_SAVE_DOCUMENT_PREPARE(en programa MV50AFZ1) para forzar validaciones y cortar la entrega -
BADI_LE_SHP_DELIVERY_PROCpara lógica durante creación de entrega
Allí puedes aplicar lógica como:
IF total_quantity > 1000 OR num_lines > 10.
split_delivery = 'X'.
ENDIF.
Opción 2: Z-programa para creación controlada de entregas
En lugar de usar VL10*, podrías hacer un programa Z que:
-
Lea las schedule lines pendientes
-
Agrupe por cantidad máxima y cree varias entregas vía
WS_DELIVERY_UPDATEoBAPI_OUTB_DELIVERY_CREATE_SLS -
Esto te da total control sobre:
-
Agrupación
-
Cantidad por entrega
-
Líneas por entrega
-
Opción 3: Usar configuraciones estándar de agrupación (limitadas)
En SPRO puedes definir los criterios de agrupación de entregas por:
-
Rutas
-
Tipos de transporte
-
Condiciones de entrega
Pero estas opciones no permiten definir cantidades máximas o líneas por entrega, por eso casi siempre se hace por desarrollo.
Consideraciones adicionales
-
Si tienes restricciones de transporte (pallets, camiones, etc.), podrías integrar con SAP TM o usar la funcionalidad de packing para controlar cantidades por HU.
-
No olvides validar tipos de posición en la SA (control de entrega) y configuración de materiales (grupo de transporte, unidad de carga, etc.).
Resumen Consultoria-SAP
-
Para que los schedule lines tengan cantidades fijas, debes intervenir el origen de datos (IDOC, BAPI o user-exit) para forzar fraccionamiento.
-
Para modular las entregas con límites de cantidad o número de líneas, necesitas implementar lógica con
BADI_SD_DELIVERY_CREATION,MV50AFZ1o vía Z-programa de entregas. -
Esta funcionalidad corresponde al módulo SD (Sales and Distribution) con posibles cruces a LE-TRA y MM.
¡Estamos aquí para ayudarte en los Foros SAP de Consultoria-SAP!