Dependencia de transacción
En el ciclo de cumplimentación de orden, puede tener determinados productos y servicios en una orden que deban cumplirse en una secuencia concreta. En una transacción puede configurar dependencias, de tal manera que una línea de pedido no pueda procesarse hasta que se cumplan determinadas condiciones.
Las dependencias le permiten definir reglas basadas en las clasificaciones de artículos, ID de artículos, tipos de servicio y muchas otras condiciones que pueden definirse en una línea de pedido.
Las dependencias de transacción pueden configurarse en una empresa, tipo de documento y nivel de tipo de proceso específicos. Por ejemplo, una dependencia especificada por una empresa para una transacción de planificación se aplica a todas las órdenes de venta de la empresa, independientemente del conducto utilizado.
Antes del proceso, se comprueba que cada línea de pedido cumpla las dependencias de la transacción. Si se han definido varias dependencias para una transacción, deben satisfacerse todas las dependencias para que se pueda procesar la línea.
Las dependencias también pueden definirse para los componentes de paquete, y en base a cualquier fecha de orden. En el caso de los componentes de paquete, las líneas de pedido pueden tener interdependencias al cumplimentar una orden de paquete. La línea padre de paquete no puede facturarse hasta que cada línea hijo haya finalizado la transacción especificada. Por tanto, es necesario permitir que las transacciones comprendan que una línea de pedido no pueda procesarse hasta que se cumplan determinadas condiciones.
La dependencia relacionada de la fecha de orden puede configurarse para una transacción, en base a fechas de orden específicas. Puede especificar estas dependencias utilizando plantillas proporcionadas con Sterling™ Order Management System.
Caso de uso de dependencia de transacción
La dependencia de transacción para una orden puede utilizarse en el caso siguiente:
En el caso de las líneas de pedido que tengan las clasificaciones de MODEM, FILTER o CABLE, no se permite que la transacción de planificación se procese hasta 24 horas después de que todas las líneas de pedido que contengan artículos con la clasificación de LINE ACTIVATION hayan completado la transacción de orden de envío.
Si se especifica esta dependencia, la transacción de planificación comprueba, en primer lugar, ver si hay un artículo que tenga la clasificación de MODEM en la orden. Si se identifica el artículo, se comprueban otras líneas de la orden para ver si alguna de ellas tiene un artículo de clase LINE ACTIVATION. Para cada línea que tenga una clasificación de artículo de LINE ACTIVATION, se determina si ha sido, como mínimo, 24 horas desde que dicha línea haya alcanzado la transacción “SHIP_ORDER".
Detención de dependencia de transacción de otras transacciones
Cuando una dependencia de transacción detiene una transacción de nivel de orden como, por ejemplo, el proceso de pago, se devuelve un distintivo en el XML de salida de la API, para indicar que la orden no se puede procesar debido a un problema relativo a las dependencias. El distintivo no se devuelve en el XML de salida de todas las API. Para obtener más información, consulte IBM Sterling® Order Management: Javadoc. Puesto que la mayoría de transacciones se basan en el estado, éstas ignoran las líneas que no cumplan las dependencias. No obstante, cuando un agente detecta una orden que no se pueda procesar, ya sea en su totalidad o en parte, debido a la falta de una dependencia, ignora las líneas que no se puedan procesar, de forma silenciosa, y actualiza la cola de tareas para procesarlas más adelante.
Sustitución de dependencias
Para sustituir dependencias transacción, puede pasar un distintivo a la API que invoque la transacción, de forma que se ignoren dependencias de transacción. Sólo algunas API dan soporte a este distintivo. Para obtener más información sobre las API, consulte IBM Sterling Order Management: Javadoc.
Dependencias circulares
Dependencias circulares surgen cuando una transacción depende de otra que esté esperando que la transacción principal cambie de estado, o se complete. Puede configurar las dependencias de tal manera que una transacción nunca pueda procesar una orden debido a que se haya generado una dependencia circular.
Por ejemplo, puede haber una regla que diga que no se puede planificar ITEM1 hasta que ITEM2 haya completado la transacción de planificación. Puede haber otra regla que impida que ITEM2 se planifique hasta que se haya planificado ITEM1. Como resultado, se genera una dependencia circular. En este caso, la lógica de dependencia de transacción detecta la dependencia circular, y se genera una excepción, junto con una lista de las dependencias que hayan provocado este bucle circular.