Usted está aquí:
Configurar Orquestador de ingresos dinámico para poner en pausa cambios de estado
Coordine la realización entre Dynamic Revenue Orchestrator (DRO) y Gestión de pedidos configurando pasos de pausa que esperan eventos clave de Gestión de pedidos específicos. Por ejemplo, ponga en pausa la realización hasta que se entreguen todos los artículos pedidos.
Antes de empezar, active Orquestador de ingresos dinámico en su organización.
Asigne campos de OMS a su definición de contexto de modo que los Conjuntos de expresiones puedan evaluarlos cuando determinen si liberar pasos de pausa en planes de orquestación.
-
Amplíe su definición de contexto para asignar campos de OMS.
- En Configuración, vaya a Configuración de Dynamic Revenue Orchestrator y seleccione la definición de contexto preconfigurada.
-
Agregue etiquetas de contexto para los campos de OMS de los que desea realizar un seguimiento.
Ejemplos comunes:
- ItemStartQuantity: Asigna a OrderItemSummary.QuantityOrdered
- ItemEndQuantity: Asigna a OrderItemSummary.QuantityDelivered o QuantityShipped
- Asigne estas etiquetas a campos en el objeto SalesTransactionItem.
- Guarde la definición de contexto.
-
Cree un atributo transitorio para los cálculos.
Los conjuntos de expresiones requieren atributos transitorios para albergar valores de cálculo temporales.
- En su definición de contexto, agregue un atributo personalizado al mismo nodo que sus campos asignados.
- Establezca el Nombre de visualización y la Descripción para que coincidan exactamente con el nombre del atributo.
- Marque el atributo como Transitorio de modo que los datos no persistan.
- Guarde sus cambios.
Importante Si Nombre de visualización y Descripción no coinciden con el nombre del atributo, la evaluación de ExpressionSet falla. -
Cree un conjunto de expresiones para condiciones de realización.
- En Configuración, busque Conjuntos de expresiones y cree un conjunto de expresiones.
- Seleccione su definición de contexto ampliada.
- Establezca Tipo de uso en Condición de realización.
-
Configure la lógica para comparar valores de campo de OMS.
Ejemplo: Libere la pausa cuando se entreguen todos los artículos.
- Agregue un grupo de lista para gestionar múltiples OrderItemSummaries en un OrderSummary.
- Calcule la diferencia entre ItemStartQuantity y ItemEndQuantity para cada elemento.
- Sume las diferencias utilizando la función Lista agregada. Si todas las cantidades coinciden, la suma es igual a 0.
-
Agregue una variable booleana local denominada
isExecuteStepcon el valor predeterminadoFalse. -
Establezca la condición: Si suma es igual a 0, establezca
isExecuteStep = True. -
En el paso de cálculo final, seleccione Incluir en salida para la variable
isExecuteStep. - Guarde ExpressionSet.
Importante Establezca la variable de salida exactamente enisExecuteStep(distingue entre mayúsculas y minúsculas). Cuando es Verdadero, DRO reanuda el paso. Cuando es Falso, DRO mantiene el paso en pausa. -
Configure un paso de pausa en su flujo de trabajo de realización.
- En su definición de paso de realización, agregue un nuevo paso Pausa.
- En la configuración del paso, seleccione Utilizar ExpressionSet como el tipo de condición.
- Seleccione el ExpressionSet que creó en el paso 3.
- Configure la frecuencia con la que DRO vuelve a evaluar la condición (intervalo de sondeo).
- Guarde su definición de paso de realización.
Cuando se envía un pedido, DRO evalúa el conjunto de expresiones en cada intervalo de sondeo. Después de que Gestión de pedidos actualice las cantidades de OrderItemSummary y la condición devuelva Verdadero, el paso de pausa se libera y la realización continúa.
| Poner en pausa hasta | Lógica de ExpressionSet |
|---|---|
| Todos los artículos entregados | OrderItemSummary.QuantityDelivered = QuantityOrdered |
| Todos los artículos enviados | OrderItemSummary.QuantityShipped = QuantityOrdered |
| Umbral de envío parcial | OrderItemSummary.QuantityShipped >= (CantidadOrdenada × 0,8) |
| Inventario asignado | OrderItemSummary.QuantityReserve = QuantityOrdered |
Solución de problemas
| Problema | Resolución |
|---|---|
| ExpressionSet muestra "Algo ha fallado". | Defina isExecuteStep y seleccione Incluir en salida. |
| Las etiquetas de contexto no están disponibles en el ExpressionSet. | Confirme que Nombre de visualización y Descripción coinciden con el nombre del atributo para atributos transitorios. |
| El paso de pausa nunca se libera. | Compruebe que isExecuteStep es una variable booleana y la lógica la establece como Verdadero cuando se cumplen las condiciones. |
| Se muestra un error de evaluación genérico. | Active el permiso de organización DynamicCommonOrchestrator. |
