Manejo de pedidos con un gran número de líneas de pedido en el adaptador de integración
Una orden grande se describe como una solicitud que contiene N número de líneas, donde N > 100 para comprobar la disponibilidad, las reservas o para actualizaciones de inventario.
Una solicitud de gran tamaño en la integración de Sterling™ Order Management System con Sterling Intelligent Promising Inventory Visibility podría provocar la degradación del rendimiento de las API de integración o un error de carga útil. La aplicación proporciona la capacidad de manejar la disponibilidad, las reservas y las actualizaciones de inventario para pedidos con un gran número de líneas de pedido. Para evitar este tipo de situaciones, Sterling Order Management System procesa las solicitudes de API de integración por lotes que se derivan por el número de líneas de la entrada de la API Sterling Intelligent Promising Inventory Visibility .
Como se ilustra, un lote se define como un subconjunto de n elementos de los N elementos iniciales donde N > n.
Elementos de API actuales ~ { 1, 2, 3, …. , N }
Elementos de la API de proceso por lotes ~ { 1, 2, … n }, { n+1, n+2 , … 2n } ………. { xn+1, xn+2, …., N
}
De forma predeterminada, al llamar a las API de cumplimentación, como findInventory, ReserveAvailableInventoryu otras, todas las líneas de una entrada de API se tienen en cuenta para la solicitud de API de Sterling Intelligent Promising Inventory Visibility en una sola llamada de API.
- Entrada de la API Reservar inventario disponible de Sterling Order Management del sistema
<Promise OrganizationCode="DEFAULT"> <ReservationParameters ReservationID="RESERVATION_00001"/> <PromiseLines> <PromiseLine ItemID="ITEM_1" LineId="1" RequiredQty="1" ShipNode="NODE_1" UnitOfMeasure="EACH"/> <PromiseLine ItemID="ITEM_2" LineId="2" RequiredQty="1" ShipNode="NODE_1" UnitOfMeasure="EACH"/> <PromiseLine ItemID="ITEM_3" LineId="3" RequiredQty="1" ShipNode="NODE_1" UnitOfMeasure="EACH"/> <PromiseLine ItemID="ITEM_4" LineId="4" RequiredQty="1" ShipNode="NODE_1" UnitOfMeasure="EACH"/> <PromiseLine ItemID="ITEM_5" LineId="5" RequiredQty="1" ShipNode="NODE_1" UnitOfMeasure="EACH"/> </PromiseLines> </Promise>
- Entrada de API de disponibilidad de nodos de Sterling Intelligent Promising Inventory Visibility
"demandType":"SCHEDULED" , "lines":[ {"itemId":"ITEM_1","shipNodes":["NODE_1"],"productClass":"","unitOfMeasure":"EACH","deliveryMethod":"SHP","lineId":"id1"}, {"itemId":"ITEM_2","shipNodes":["NODE_1"],"productClass":"","unitOfMeasure":"EACH","deliveryMethod":"SHP","lineId":"id2"}, {"itemId":"ITEM_3","shipNodes":["NODE_1"],"productClass":"","unitOfMeasure":"EACH","deliveryMethod":"SHP","lineId":"id3"}, {"itemId":"ITEM_4","shipNodes":["NODE_1"],"productClass":"","unitOfMeasure":"EACH","deliveryMethod":"SHP","lineId":"id4"}, {"itemId":"ITEM_5","shipNodes":["NODE_1"],"productClass":"","unitOfMeasure":"EACH","deliveryMethod":"SHP","lineId":"id5"}, ] }
- Entrada de API de reserva de Sterling Intelligent Promising Inventory Visibility
{"reference":"RESERVATION_00001","demandType":"SCHEDULED","timeToExpire":120,"considerSafetyStock":true, "lines":[ {"deliveryMethod":"SHP","itemId":"ITEM_1","lineId":"ITEM_1|DEFAULT|EACH|||NODE_1|1.0","productClass":"","quantity":1.0,"shipNode":"NODE_1","unitOfMeasure":"EACH"} {"deliveryMethod":"SHP","itemId":"ITEM_2","lineId":"ITEM_2|DEFAULT|EACH|||NODE_1|1.0","productClass":"","quantity":1.0,"shipNode":"NODE_1","unitOfMeasure":"EACH"} {"deliveryMethod":"SHP","itemId":"ITEM_3","lineId":"ITEM_3|DEFAULT|EACH|||NODE_1|1.0","productClass":"","quantity":1.0,"shipNode":"NODE_1","unitOfMeasure":"EACH"} {"deliveryMethod":"SHP","itemId":"ITEM_4","lineId":"ITEM_4|DEFAULT|EACH|||NODE_1|1.0","productClass":"","quantity":1.0,"shipNode":"NODE_1","unitOfMeasure":"EACH"} {"deliveryMethod":"SHP","itemId":"ITEM_5","lineId":"ITEM_5|DEFAULT|EACH|||NODE_1|1.0","productClass":"","quantity":1.0,"shipNode":"NODE_1","unitOfMeasure":"EACH"} ]}
Si habilita el proceso por lotes y si el número de líneas de una solicitud de API es mayor que el valor configurado, las llamadas de API se dividen y procesan en lotes simultáneamente. La salida del lote se consolida y se utiliza en su lugar.
- iv_integration.largeOrder.batchMode.habilitar
- Habilite el proceso por lotes para disponibilidad de nodo, disponibilidad de red o reservas en Sterling Order Management System-Integración deSterling Intelligent Promising Inventory Visibility para procesar las líneas adecuadas en lotes del tamaño configurado. Los valores válidos son true o false. El valor predeterminado se establece en false.
- iv_integration.largeOrder.nodeAvailability.batchSize
- Si el proceso por lotes está habilitado y el número de líneas supera el valor configurado para la API de disponibilidad de nodos, las llamadas a la API de disponibilidad de nodos Sterling Intelligent Promising Inventory Visibility se procesan en lotes del tamaño configurado. El valor predeterminado se establece en 5000. El rango de valores válidos es de 30 a 5000.
- iv_integration.largeOrder.networkAvailability.batchSize
- Si el proceso por lotes está habilitado y el número de líneas supera el valor configurado para la API de disponibilidad de red, las llamadas a la API de disponibilidad de red de Sterling Intelligent Promising Inventory Visibility se procesan en lotes del tamaño configurado. El valor predeterminado se establece en 5000. El rango de valores válidos es de 30 a 5000.
- iv_integration.largeOrder.reservation.batchSize
- Si el proceso por lotes está habilitado y el número de líneas supera el valor configurado para la API de reserva, las llamadas a la API de reserva Sterling Intelligent Promising Inventory Visibility se procesan en lotes del tamaño configurado. El valor predeterminado se establece en 5000. El rango de valores válidos es de 30 a 5000.
- iv_integration.largeOrder.asyncInventoryUpdateBatchSize
- Para la integración de Sterling Order Management System-Sterling Intelligent Promising Inventory Visibility , el tamaño de los ajustes exclusivos para la demanda o los suministros más allá de los cuales se forma la actualización en lotes del tamaño configurado. El valor predeterminado se establece en 5000.
- iv_integration.largeOrder.tempReservation.disableForLineSize
- El número de líneas excede la reserva temporal que se crea en Sterling Intelligent Promising Inventory Visibility durante la planificación o liberación de una orden para bloquear el inventario no está habilitado. El valor predeterminado se establece en 5000.
- iv_integration.largeOrder.batchFailure.considerUnavailable
- Qué disponibilidad o reserva de lectura en Sterling Intelligent Promising Inventory Visibility, si un lote falla con un error, la aplicación considera que las líneas fallidas no están disponibles y continúa. Si la propiedad se establece en false, y si uno o varios lotes no se procesan, la API muestra un mensaje de error.
- iv_integration.largeOrder.deleteReservationRetry
- Cuando una reserva en Sterling Intelligent Promising Inventory Visibility no se ajusta a los criterios de entrada, la reserva en Sterling Intelligent Promising Inventory Visibility debe suprimirse. Si se produce algún error al suprimir la reserva, la aplicación vuelve a intentar suprimir la reserva. El valor predeterminado se establece en 3.
- iv_integration.largeOrder.batchSplit.tolerancia
- Si el proceso por lotes está habilitado, el porcentaje permitido para no dividir las llamadas de API de disponibilidad de nodo, disponibilidad de red o reserva a Sterling Intelligent Promising Inventory Visibility. Por ejemplo, si el tamaño de lote para la disponibilidad de nodo es 500, considerando una tolerancia del 50% hasta que se llame a una solicitud de 750 líneas, las llamadas a Sterling Intelligent Promising Inventory Visibility no se dividirán en lotes. El valor predeterminado se establece en 0.