Forzar cantidad por linea SA

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.

:heavy_heart_exclamation: Importante :exclamation: 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).


:bullseye: Escenario deseado

Quieres:

  1. Que los schedule lines se generen por una cantidad fija (por ejemplo, 100 unidades por línea).

  2. 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.


:white_check_mark: 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 segmentos E1EDP20 o E1EDP30 con 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).


:white_check_mark: 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:

:small_blue_diamond: 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_PROC para 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.


:small_blue_diamond: 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_UPDATE o BAPI_OUTB_DELIVERY_CREATE_SLS

  • Esto te da total control sobre:

    • Agrupación

    • Cantidad por entrega

    • Líneas por entrega


:small_blue_diamond: 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.


:magnifying_glass_tilted_right: 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, MV50AFZ1 o 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!