Su Template de datos para la gestión del transporte
Su Template de datos para la gestión del transporte
- Atributos recomendados para recopilar
- Actividades clave que debe registrar
- Guía de extracción
Atributos de gestión del transporte
| Nombre | Descripción | ||
|---|---|---|---|
| Envío ShipmentId | Identificador único de un envío, que sirve como ID del caso principal para hacer seguimiento de todas las actividades de transporte relacionadas. | ||
| Descripción El ID del envío identifica de forma única un traslado de mercancías desde el remitente hasta el destinatario. Este atributo es la base del análisis del proceso: agrupa en un solo caso todos los eventos relacionados, como la planificación, la reserva, la recogida, el tránsito, la entrega y la facturación. En Process Mining, analizar los eventos por ID del envío permite obtener una visión completa del ciclo de transporte, de principio a fin. Este identificador se utiliza para calcular métricas clave, como el tiempo total de ciclo, el rendimiento de las entregas a tiempo y el coste por envío, y ofrece una visión integral de la eficiencia del proceso y del nivel de servicio al cliente. Por qué es importante Este es el ID del caso principal que conecta todos los pasos del proceso y permite analizar el recorrido completo de cada envío. Dónde obtenerlo Es una clave principal de Oracle Transportation Management que suele encontrarse en las tablas de gestión de envíos o pedidos. Consulte la documentación de OTM para conocer los nombres específicos de las tablas y los campos. Ejemplos SH-0012345SH-0012346SH-0012347 | |||
| Hora del evento EventTime | Fecha y hora exactas en que tuvo lugar una actividad o un evento de transporte. | ||
| Descripción Esta marca de tiempo indica el momento exacto en que se registró en el sistema una actividad, como «Transportista asignado» o «Comprobante de entrega recibido». Las marcas de tiempo son fundamentales en Process Mining, ya que establecen el orden cronológico de los eventos de cada envío. Su precisión es esencial para todos los análisis basados en el tiempo. Se utilizan para calcular los tiempos de ciclo entre actividades, medir la duración de los procesos, detectar retrasos y evaluar el rendimiento frente a los acuerdos de nivel de servicio. Analizar la hora del evento ayuda a localizar en qué parte del proceso se pierde tiempo. Por qué es importante Esta marca de tiempo es esencial para ordenar cronológicamente los eventos y calcular todas las métricas de rendimiento, como los tiempos de ciclo y los retrasos. Dónde obtenerlo Se obtiene de los campos de marca de tiempo asociados a los eventos en las tablas de seguimiento de eventos o del historial de estados de OTM. Ejemplos 2023-10-26T08:00:00Z2023-10-27T14:30:00Z2023-10-28T09:15:00Z | |||
| Nombre de la actividad ActivityName | Nombre de un evento o hito específico que tuvo lugar durante el proceso de transporte de un envío. | ||
| Descripción Este atributo describe un paso del ciclo de transporte, como «Envío planificado», «Mercancía recogida» o «Mercancía entregada». Cada actividad representa un evento empresarial concreto que acerca el envío a su finalización. Analizar la secuencia y la duración de estas actividades es fundamental en Process Mining. Permite descubrir el flujo real del proceso, identificar cuellos de botella entre pasos y medir el cumplimiento de los procedimientos operativos estándar. Las variaciones en el flujo de actividades pueden revelar excepciones, retrabajos o desviaciones de la ruta óptima. Por qué es importante Define los pasos del mapa de procesos y permite visualizar y analizar el recorrido del envío, los cuellos de botella y las desviaciones. Dónde obtenerlo Esta información se obtiene de las tablas de seguimiento de eventos o de los registros de cambios de estado de Oracle Transportation Management. El nombre específico de la actividad puede formarse concatenando códigos y descripciones de eventos. Ejemplos Envío planificadoMercancía recogidaDespacho de aduanas completadoMercancía entregada | |||
| Coste del envío ShipmentCost | Coste total del transporte de carga o importe cobrado por transportar el envío. | ||
| Descripción Este atributo representa el coste financiero total asociado a un envío, incluidos los cargos del transportista, los recargos por combustible y otras tarifas adicionales. Es una medida clave del rendimiento financiero del proceso de transporte. Analizar el coste del envío permite calcular el KPI del coste medio por envío y transportista. Se puede segmentar por transportista, ruta, modalidad de transporte o tipo de envío para identificar oportunidades de ahorro. También se utiliza en el análisis de discrepancias en facturas de transporte para comparar los costes previstos con los reales. Por qué es importante Aporta los datos financieros necesarios para analizar el gasto en transporte, identificar oportunidades de ahorro y medir el impacto financiero de las ineficiencias del proceso. Dónde obtenerlo Esta información suele encontrarse en las secciones financieras o de costes de un envío en OTM y, a menudo, se completa después de calcular las tarifas de transporte y liquidar los importes. Ejemplos 250.751200.00545.50 | |||
| Fecha de entrega solicitada RequestedDeliveryDate | Fecha y hora de entrega solicitadas por el cliente o acordadas como objetivo del acuerdo de nivel de servicio (SLA). | ||
| Descripción Este atributo registra la fecha y hora de entrega previstas para un envío. Representa el compromiso con el cliente y sirve como referencia principal para medir el rendimiento de las entregas a tiempo. En Process Mining, esta fecha se compara con la fecha y hora reales de entrega (de la actividad «Mercancía entregada») para determinar si el envío llegó a tiempo o con retraso. Es la base del KPI de tasa de entregas a tiempo y resulta esencial para el Dashboard de resumen del rendimiento de las entregas. Analizar las desviaciones ayuda a identificar las causas sistémicas de los retrasos y a mejorar la satisfacción del cliente. Por qué es importante Es la referencia principal para medir el rendimiento de las entregas a tiempo, un KPI fundamental para la satisfacción del cliente y la excelencia operativa. Dónde obtenerlo Esta información suele almacenarse en el nivel del pedido o del envío en OTM, a menudo en campos relacionados con las fechas de entrega o las citas. Ejemplos 2023-11-15T17:00:00Z2023-11-20T12:00:00Z2023-11-22T09:00:00Z | |||
| Modalidad de transporte TransportationMode | Medio de transporte utilizado para el envío, como camión, ferrocarril, barco o avión. | ||
| Descripción Este atributo clasifica el envío según la modalidad de transporte. Entre las modalidades habituales se encuentran la carga completa (FTL), la carga parcial (LTL), el transporte marítimo, aéreo y ferroviario. Es una característica fundamental del envío que influye en el coste, el tiempo de tránsito y la complejidad. En el análisis, la modalidad de transporte es una dimensión clave para la segmentación. Permite comparar el rendimiento y los costes de los procesos según la modalidad. Por ejemplo, ayuda a identificar qué modalidades son más propensas a sufrir retrasos durante el tránsito o tienen un coste por kilómetro más alto, lo que facilita la toma de decisiones estratégicas sobre las redes logísticas. Por qué es importante Permite segmentar el análisis del rendimiento y los costes por modalidad de transporte y obtener información específica sobre la logística por carretera, aérea, marítima o ferroviaria. Dónde obtenerlo Es un atributo estándar del envío en OTM y suele encontrarse en un campo específico de «modalidad» o «tipo de transporte». Ejemplos FTLLTLMARÍTIMOAIR | |||
| Motivo del retraso DelayReason | Código o descripción que explica la causa de un retraso en el avance del envío. | ||
| Descripción Cuando un envío sufre un retraso, este atributo indica el motivo, como «Condiciones meteorológicas», «Retención aduanera», «Congestión portuaria» o «Avería mecánica». Esta información se obtiene de las actualizaciones del transportista o de entradas manuales en OTM. Este atributo es esencial para analizar las causas raíz de las entregas tardías. Al clasificar y contar los motivos de los retrasos, las empresas pueden identificar los problemas más frecuentes de su cadena de suministro. Así pueden poner en marcha iniciativas de mejora específicas, como seleccionar transportistas más fiables para determinadas rutas o mejorar la documentación para agilizar el despacho de aduanas. Por qué es importante Aporta información clave sobre las causas raíz de los retrasos en los envíos y permite tomar medidas específicas para reducir los problemas habituales y mejorar el rendimiento de las entregas a tiempo. Dónde obtenerlo Normalmente, se registra en los detalles de los eventos de seguimiento de OTM. Puede estar asociado a códigos de excepción o de retraso específicos. Ejemplos RETRASO_POR_CLIMAINSPECCIÓN_ADUANERACONGESTIÓN_PORTUARIATRÁFICO | |||
| Nombre del transportista CarrierName | Nombre del transportista o proveedor de servicios responsable del traslado del envío. | ||
| Descripción Este atributo identifica al socio logístico asignado para transportar la mercancía. Puede tratarse de grandes empresas de transporte de carga, servicios de mensajería locales o navieras. Analizar el rendimiento por transportista es uno de los principales objetivos de Process Mining aplicado al transporte. Este atributo permite segmentar los envíos y comparar a los transportistas según métricas como la tasa de entregas a tiempo, el coste por envío, el tiempo de tránsito y la frecuencia de problemas, como retrasos o discrepancias en la facturación. Esta información es fundamental para seleccionar transportistas, negociar contratos y gestionar su rendimiento. Por qué es importante Permite comparar el rendimiento de distintos transportistas, algo fundamental para optimizar su selección, negociar contratos y reducir costes. Dónde obtenerlo Se encuentra en los detalles del envío en OTM y está vinculado a los registros del transportista o proveedor de servicios asignado. Puede almacenarse en tablas relacionadas con los envíos y los proveedores de servicios. Ejemplos FedEx FreightUPS Supply Chain SolutionsMaersk LineKnight-Swift Transportation | |||
| Agente de aduanas CustomsAgent | Agente o representante aduanero responsable de gestionar el despacho de aduanas del envío. | ||
| Descripción En los envíos internacionales, este atributo identifica al agente externo o al equipo interno encargado de gestionar la documentación y los trámites aduaneros. El rendimiento de este agente puede influir considerablemente en el tiempo total de tránsito. Analizar el tiempo de ciclo del despacho de aduanas por agente permite comparar su rendimiento. También ayuda a identificar qué agentes son más eficientes en determinados países o para ciertos tipos de mercancía. Esta información resulta útil para elegir a los mejores socios aduaneros y colaborar con los agentes cuyo rendimiento debe mejorar. Por qué es importante Permite medir el rendimiento de los agentes aduaneros, identificar a los socios más eficientes y reducir los retrasos relacionados con las aduanas. Dónde obtenerlo En OTM, esta información puede almacenarse como proveedor de servicios o como función de una parte en los detalles del envío internacional. Ejemplos Global Customs ServicesLivingston InternationalFlexport | |||
| Discrepancia en la factura de transporte FreightBillDiscrepancy | Indicador que señala si se detectó una discrepancia durante la auditoría de la factura de transporte. | ||
| Descripción Este atributo booleano se establece en «true» si la factura de transporte recibida del transportista no coincide con el coste previsto calculado en OTM. Las discrepancias pueden deberse a tarifas incorrectas, cargos adicionales u otros errores de facturación. Este atributo sirve de base para el KPI de tasa de discrepancias en facturas de transporte. Analizar la frecuencia de estos indicadores por transportista, ruta o tipo de envío ayuda a identificar las causas principales de los errores de facturación. Esto permite mejorar la precisión de los datos, agilizar el proceso de auditoría y evitar pagos en exceso. Por qué es importante Contribuye directamente al análisis de discrepancias en facturas de transporte, ya que identifica los envíos con errores de facturación y ayuda a reducir los pagos en exceso y mejorar los controles financieros. Dónde obtenerlo Suele ser un estado o indicador que se establece durante el proceso de liquidación del transporte y conciliación de facturas en OTM. Ejemplos truefalse | |||
| Estado del envío ShipmentStatus | Estado actual del envío en su ciclo de vida, como «Planificado», «En tránsito» o «Entregado». | ||
| Descripción Este atributo ofrece un resumen general de la etapa del proceso en que se encuentra el envío. A diferencia de una actividad, que es un evento puntual, el estado representa la situación del caso de envío. Aunque Process Mining se centra en el flujo de actividades, el estado general resulta útil para filtrar casos y aportar contexto en los Dashboards. Por ejemplo, un análisis puede centrarse únicamente en los envíos «Completados» o investigar por qué tantos envíos permanecen en estado «En tránsito» durante un tiempo inusualmente largo. Por qué es importante Ofrece un resumen general del avance del envío, útil para filtrar y segmentar casos en el análisis. Dónde obtenerlo Está disponible en el registro principal del envío en OTM y representa su estado actual en el flujo de trabajo. Ejemplos PLANIFICADORESERVADOEN_TRÁNSITOENTREGADO | |||
| Nombre de usuario UserName | Nombre o ID de la persona usuaria que realizó una actividad determinada o es responsable de ella. | ||
| Descripción Este atributo identifica a la persona usuaria o al agente del sistema que ejecutó un evento específico, como «Envío planificado» o «Transportista asignado». Esta información permite determinar responsabilidades y conocer la participación de los recursos en el proceso. En Process Mining, analizar las actividades por usuario ayuda a comprender cómo se distribuye la carga de trabajo, detectar necesidades de formación y comparar el rendimiento de distintas personas o equipos. También permite distinguir las actividades realizadas manualmente de las ejecutadas automáticamente por el sistema. Por qué es importante Permite determinar responsabilidades y analizar la carga de trabajo y el rendimiento por persona usuaria o equipo. Dónde obtenerlo Se obtiene de campos de ID de usuario, como INSERT_USER, asociados a cambios de estado o eventos en las tablas de historial o de registro de OTM. Ejemplos JSMITHLOGISTICS_PLANNER_ASYSTEM_AUTO | |||
| País de destino DestinationCountry | País donde está prevista la entrega del envío. | ||
| Descripción Este atributo especifica el país de destino final del envío según la ubicación del destinatario. Complementa el país de origen en el análisis geográfico de los procesos. Al igual que el país de origen, el país de destino es fundamental para comprender las diferencias de rendimiento entre las distintas rutas comerciales. Es especialmente importante para analizar los tiempos de despacho de aduanas, el rendimiento de las entregas de última milla y la eficacia de los transportistas en cada región. Esto ayuda a adaptar las estrategias logísticas a las necesidades de los distintos mercados de destino. Por qué es importante Es fundamental para analizar el rendimiento de rutas comerciales específicas y comprender los retos relacionados con las aduanas, los transportistas y la normativa de los mercados de destino. Dónde obtenerlo Se obtiene de los datos de dirección de la ubicación de destino del envío o del destinatario, almacenados en los datos maestros de ubicaciones de OTM. Ejemplos CANFRAJPNBRA | |||
| País de origen OriginCountry | País donde comienza el recorrido del envío. | ||
| Descripción Este atributo especifica el país de origen del envío según la ubicación del remitente. Es un dato geográfico clave para el análisis logístico. Analizar los procesos por país de origen ayuda a comprender las diferencias de rendimiento entre regiones. Por ejemplo, los tiempos de despacho de aduanas, los costes de los transportistas y los tiempos de tránsito pueden variar considerablemente según el país de origen. Esta segmentación es fundamental para gestionar la logística internacional e identificar cuellos de botella específicos de cada región. Por qué es importante Permite analizar geográficamente el proceso de transporte y ayuda a identificar cuellos de botella, costes y diferencias de rendimiento específicos de cada región. Dónde obtenerlo Se obtiene de los datos de dirección de la ubicación de origen del envío o del remitente, almacenados en los datos maestros de ubicaciones de OTM. Ejemplos USADEUCHNMEX | |||
| Se cambió la ruta IsRerouted | Indicador que señala si la ruta del envío cambió después de la reserva inicial. | ||
| Descripción Este atributo booleano se establece en «true» si un envío sufre un cambio significativo de ruta después de haber sido planificado y reservado. Esto puede deberse a una solicitud del cliente, a imprevistos o a oportunidades de optimización. Este atributo contribuye directamente al KPI de tasa de cambios de ruta de los envíos y al Dashboard de información sobre cambios de ruta y envíos urgentes. Registrar la frecuencia de estos cambios ayuda a detectar problemas subyacentes en la planificación o la ejecución. También pone de manifiesto la inestabilidad operativa y los costes asociados, lo que permite a los responsables buscar formas de reducir los cambios costosos y disruptivos. Por qué es importante Ayuda a cuantificar la frecuencia y el impacto de excepciones operativas, como los cambios de ruta, y pone de manifiesto las ineficiencias en la planificación y la ejecución. Dónde obtenerlo Este indicador se obtiene al detectar eventos específicos de cambio de ruta en el registro de eventos o al comparar la ruta final con la ruta planificada inicialmente. Ejemplos truefalse | |||
| Se entregó a tiempo IsOnTimeDelivery | Indicador calculado que señala si el envío se entregó en la fecha solicitada o antes. | ||
| Descripción Este atributo booleano se calcula comparando la marca de tiempo de la actividad «Mercancía entregada» con la «Fecha de entrega solicitada». Su valor es «true» si la entrega se realizó a tiempo o antes, y «false» si se retrasó. Este atributo alimenta directamente el KPI de tasa de entregas a tiempo y es un componente clave del Dashboard de resumen del rendimiento de las entregas. Facilita el análisis del rendimiento de las entregas al ofrecer un resultado claro, binario, para cada envío. Así, resulta sencillo filtrar, agregar y visualizar los envíos entregados a tiempo y los retrasados. Por qué es importante Este indicador calculado facilita la medición del KPI de entregas a tiempo y permite filtrar y analizar fácilmente los envíos entregados a tiempo y los retrasados. Dónde obtenerlo Este atributo no está en el sistema de origen. Se calcula durante la transformación de datos comparando la marca de tiempo de la actividad «Mercancía entregada» con el atributo «RequestedDeliveryDate». Ejemplos truefalse | |||
| Sistema de origen SourceSystem | Identifica el sistema del que proceden los datos del evento, por ejemplo, Oracle Transportation Management. | ||
| Descripción Este atributo especifica la aplicación de origen en la que se generaron los datos. En un entorno logístico complejo, los datos pueden proceder de OTM, de un sistema de gestión de almacenes (WMS), del sistema de un transportista mediante EDI o de otras plataformas integradas. Conocer el sistema de origen es importante para la gobernanza de datos, la evaluación de la calidad y la resolución de problemas. Ayuda a entender el contexto de los datos y puede explicar las diferencias en su nivel de detalle o actualidad. En el análisis, permite filtrar los eventos para incluir únicamente los que proceden de un sistema específico y de confianza. Por qué es importante Aporta contexto esencial sobre el origen de los datos, importante para validarlos y analizarlos en entornos con varios sistemas. Dónde obtenerlo Normalmente, es un valor estático que se añade durante la extracción de datos para identificar el origen de los registros. Ejemplos Oracle OTMOTM CloudSAP TM | |||
| Tipo de envío ShipmentType | Clasificación del envío según el nivel de servicio, el tipo de mercancía o la unidad de negocio. | ||
| Descripción Este atributo permite clasificar los envíos según criterios específicos del negocio, por ejemplo, «Estándar», «Urgente», «Materiales peligrosos» o «Entre empresas». Esta clasificación ayuda a aplicar distintas reglas de negocio, prioridades o vistas analíticas. Al usar el tipo de envío como dimensión en Process Mining, puede comparar los procesos de distintos tipos de envío. Así podrá descubrir si algunos tipos suelen sufrir más retrasos, tienen costes más elevados o siguen rutas de proceso no estándar. Esta información ayuda a adaptar los procesos a las necesidades específicas de cada tipo de envío. Por qué es importante Permite segmentar el análisis según el contexto del negocio y comprender si los distintos tipos de envío siguen procesos diferentes o tienen niveles de rendimiento distintos. Dónde obtenerlo Suele ser un campo configurable o un atributo del registro del envío o del pedido en OTM. Ejemplos EstándarUrgenteInternacionalNacional | |||
| Última actualización de los datos LastDataUpdate | Marca de tiempo que indica la última vez que se actualizaron los datos de este evento o se extrajeron del sistema de origen. | ||
| Descripción Este atributo registra cuándo se extrajeron por última vez los datos de Oracle Transportation Management. Indica la actualidad de los datos analizados, no el momento en que tuvo lugar el evento empresarial. Esta marca de tiempo es fundamental para conocer la actualidad del análisis de Process Mining. Permite saber si se está consultando información en tiempo real o una instantánea de un momento concreto. También es esencial para gestionar los ciclos de actualización de datos y garantizar que las decisiones se basen en información actualizada. Por qué es importante Indica la actualidad de los datos para que se sepa cuán reciente es el análisis y cuándo se espera la próxima actualización. Dónde obtenerlo Normalmente, es una marca de tiempo generada por el sistema durante la incorporación de datos o el proceso ETL. Ejemplos 2023-11-01T02:00:00Z2023-11-02T02:00:00Z | |||
Actividades de gestión del transporte
| Actividad | Descripción | ||
|---|---|---|---|
| Comprobante de entrega recibido | Representa la recepción y el registro de una confirmación formal de que la entrega se ha completado, como un documento firmado. A menudo, se registra como un tipo de documento específico adjunto al envío. | ||
| Por qué es importante El comprobante de entrega es fundamental para la facturación y la resolución de disputas. Hacer seguimiento de su recepción ayuda a garantizar el cumplimiento del proceso y agiliza el ciclo de liquidación financiera. Dónde obtenerlo Puede ser un evento explícito o inferirse de la fecha de creación de un documento de comprobante de entrega vinculado al envío. Busque en la tabla DOCUMENT los documentos con ese tipo. Capturar Utilice la marca de tiempo de creación de un documento de tipo «POD» asociado al envío. Tipo de evento explicit | |||
| Envío planificado | Esta actividad representa la planificación correcta de una o varias liberaciones de pedido en un envío viable mediante el motor de planificación de OTM. Se registra cuando el sistema cambia el estado del envío para indicar que se ha planificado, por ejemplo, «PLANNING_PLANNED FINAL». | ||
| Por qué es importante Este hito clave separa la fase de demanda de la fase de ejecución. Analizar el tiempo que transcurre hasta esta actividad ayuda a identificar la eficiencia de la planificación y los cuellos de botella en el rendimiento del motor. Dónde obtenerlo Se infiere del historial de estados del objeto Shipment en la tabla SHIPMENT. Busque un cambio a un estado que indique que la planificación ha finalizado. Capturar Identifique la marca de tiempo en que SHIPMENT.SHIPMENT_STATUS_VALUE_GID cambia a un estado «Planned». Tipo de evento inferred | |||
| Mercancía entregada | Esta actividad representa la entrega correcta del envío al destinatario en el destino final. Se registra cuando la última parada del envío tiene una hora de llegada real. | ||
| Por qué es importante Este es el principal hito para medir el rendimiento de las entregas a tiempo y el tiempo de ciclo de principio a fin. Marca la culminación del proceso de ejecución del transporte. Dónde obtenerlo Se infiere de la incorporación del campo ACTUAL_ARRIVAL en el registro de la última parada del envío en la tabla SHIPMENT_STOP. Capturar Utilice la marca de tiempo ACTUAL_ARRIVAL del último registro del envío en la tabla SHIPMENT_STOP. Tipo de evento inferred | |||
| Mercancía recogida | Esta actividad marca el inicio del transporte físico, cuando el transportista recoge la mercancía en el origen. El evento se registra cuando la primera parada del envío aparece como «DEPARTED». | ||
| Por qué es importante Este hito clave marca el inicio de la fase de tránsito. Es esencial para hacer seguimiento del rendimiento de las recogidas por parte de los transportistas y de los tiempos de tránsito reales. Dónde obtenerlo Se infiere del cambio de estado de la primera parada en la tabla SHIPMENT_STOP a «DEPARTED» o del seguimiento de un evento del estado del envío que indique la recogida. Capturar Utilice la marca de tiempo ACTUAL_DEPARTURE del primer registro del envío en la tabla SHIPMENT_STOP. Tipo de evento inferred | |||
| Pago procesado | Esta es la actividad final: representa el procesamiento correcto del pago al transportista por sus servicios y marca el cierre financiero del envío. | ||
| Por qué es importante Esta actividad concluye el ciclo de vida del transporte. Es esencial para medir los tiempos de procesamiento de los pagos a transportistas y gestionar eficazmente las relaciones con ellos. Dónde obtenerlo Se infiere del cambio de estado del comprobante de pago o la factura asociada a «PAID». Estos datos se encuentran en las tablas VOUCHER o BILL. Capturar Identifique la marca de tiempo en que VOUCHER.VOUCHER_STATUS_ID cambia a «PAID». Tipo de evento inferred | |||
| Solicitud de transporte recibida | Esta actividad marca la creación de una necesidad de transporte en el sistema, normalmente como una liberación de pedido. El evento se registra cuando se crea un nuevo registro de liberación de pedido en Oracle Transportation Management, que representa la demanda inicial del envío. | ||
| Por qué es importante Como punto de partida del proceso, esta actividad es fundamental para medir el tiempo total del ciclo de principio a fin y comprender los patrones de demanda. Permite analizar cuánto tiempo transcurre desde la solicitud hasta la planificación. Dónde obtenerlo Este evento explícito se obtiene de la marca de tiempo de creación del registro de liberación de pedido en la tabla ORDER_RELEASE. Se puede utilizar INSERT_DATE u otro campo específico con la fecha de creación. Capturar Utilice la marca de tiempo de creación de la liberación de pedido en la tabla ORDER_RELEASE. Tipo de evento explicit | |||
| Cita de entrega programada | Esta actividad marca la programación de una fecha y hora concretas para la entrega con el destinatario. El evento se obtiene de los datos de citas de la última parada del envío. | ||
| Por qué es importante Este paso es clave para coordinar la entrega final. Analizar el tiempo entre la llegada y la entrega programada puede revelar cuellos de botella en las operaciones de última milla. Dónde obtenerlo Se infiere de la incorporación de los campos de fecha y hora de la cita para la última parada del envío (el lugar de entrega), que se encuentran en la tabla SHIPMENT_STOP. Capturar Utilice la marca de tiempo en que se completan por primera vez los campos de la cita para la parada de entrega. Tipo de evento inferred | |||
| Cita de recogida programada | Esta actividad indica que se ha programado y registrado una fecha y hora concretas para la recogida. A menudo, se obtiene de los datos de citas de la parada del envío. | ||
| Por qué es importante La programación de citas es un paso clave de coordinación. Analizarla permite comprender la eficiencia de la programación y su efecto en la puntualidad de la recogida. Dónde obtenerlo Se infiere de la incorporación de los campos de fecha y hora de la cita para la primera parada del envío (el lugar de recogida), que se encuentran en la tabla SHIPMENT_STOP. Capturar Utilice la marca de tiempo en que se completan por primera vez los campos de la cita para la parada de recogida. Tipo de evento inferred | |||
| Despacho de aduanas completado | En los envíos internacionales, esta actividad representa el momento en que la mercancía supera correctamente los controles aduaneros en una frontera o un puerto. A menudo, se registra mediante un evento o una actualización de estado específicos del envío. | ||
| Por qué es importante El despacho de aduanas suele ser una fuente importante de retrasos en la logística internacional. Hacer seguimiento de esta actividad permite medir y optimizar los tiempos de ciclo del despacho aduanero. Dónde obtenerlo Este evento suele registrarse mediante un evento de envío «Customs» introducido manualmente o integrado. Busque en la tabla SHIPMENT_STATUS los códigos de evento específicos relacionados con aduanas. Capturar Identifique en la tabla SHIPMENT_STATUS la marca de tiempo de un evento «Customs Cleared». Tipo de evento explicit | |||
| Envío cancelado | Representa la cancelación de un envío después de su planificación, lo que pone fin a su ciclo de vida antes de tiempo. Se registra cuando el estado del objeto Shipment cambia a «cancelled». | ||
| Por qué es importante Hacer seguimiento de las cancelaciones es importante para comprender las excepciones y los fallos del proceso. Permite identificar los motivos de cancelación, como cambios en la demanda o errores de planificación. Dónde obtenerlo Se infiere del historial de estados del objeto Shipment en la tabla SHIPMENT. Busque un cambio a un estado como «PLANNING_CANCELED». Capturar Identifique la marca de tiempo en que SHIPMENT.SHIPMENT_STATUS_VALUE_GID cambia a un estado «Cancelled». Tipo de evento inferred | |||
| Envío en tránsito | Indica que la mercancía ya se ha recogido y está en camino al destino. No representa un momento puntual, pero el inicio de este estado se registra inmediatamente después de la actividad «Mercancía recogida». | ||
| Por qué es importante Esta actividad marca el inicio de la fase de tránsito, fundamental para supervisar el avance de las entregas y detectar retrasos durante el trayecto. Es la base del Dashboard de puntos críticos de retrasos en tránsito. Dónde obtenerlo Es el mismo evento que «Mercancía recogida», pero en los modelos de procesos suele representarse como una actividad distinta para señalar el inicio de una nueva fase. Se obtiene de la salida de la primera parada. Capturar Igual que en «Mercancía recogida»: utilice la marca de tiempo ACTUAL_DEPARTURE de la primera parada en SHIPMENT_STOP. Tipo de evento inferred | |||
| Envío reservado | Representa la confirmación formal de la reserva con el transportista tras aceptar la oferta. Normalmente se registra cuando el estado del envío cambia a «SECURE RESOURCES_BOOKED» o a un estado equivalente. | ||
| Por qué es importante Esta confirmación formaliza el compromiso del transportista y marca el inicio de la fase de ejecución del envío. Es un paso fundamental para medir el KPI del tiempo de ciclo de planificación del envío. Dónde obtenerlo Se infiere de un cambio de estado del objeto Shipment en la tabla SHIPMENT, que indica que, tras asignar un transportista, el envío pasa a un estado confirmado o reservado. Capturar Identifique la marca de tiempo en que SHIPMENT.SHIPMENT_STATUS_VALUE_GID cambia a un estado «Booked». Tipo de evento inferred | |||
| Factura de transporte auditada | Esta actividad marca la finalización de la auditoría de la factura de transporte, en la que se coteja y verifica la factura del transportista con los datos del envío. Se registra cuando el estado de la factura de un envío cambia a «VOUCHER_AUDITED» o a un estado similar. | ||
| Por qué es importante La auditoría es fundamental para el control financiero y la detección de discrepancias en la facturación. Analizar esta actividad ayuda a agilizar el proceso desde la auditoría hasta el pago y permite hacer seguimiento del KPI de tasa de discrepancias en facturas de transporte. Dónde obtenerlo Se infiere del cambio de estado del objeto Bill asociado al envío. Busque en la tabla BILL las actualizaciones de estado relacionadas con la finalización de la auditoría. Capturar Identifique la marca de tiempo en que BILL.BILL_STATUS_VALUE_GID cambia a un estado «Audited». Tipo de evento inferred | |||
| Transportista asignado | Este hito indica que el envío se ha ofrecido correctamente a un transportista específico y que este lo ha aceptado. Se registra al observar el cambio del estado de la oferta del envío a «TENDER_ACCEPTED» o a un estado similar. | ||
| Por qué es importante El seguimiento de este hito permite analizar la eficiencia de la selección del transportista y del proceso de oferta. Los retrasos en esta etapa pueden afectar considerablemente al cronograma general, incluso antes de que el envío se haya puesto en marcha. Dónde obtenerlo Se infiere del historial de estados de la tabla SHIPMENT_TENDER; en concreto, de la marca de tiempo en que el estado indica que un transportista ha aceptado la oferta. Capturar Utilice la marca de tiempo del cambio de estado a «TENDER_ACCEPTED» en el historial de ofertas del envío. Tipo de evento inferred | |||
Guías de extracción
Pasos
- Acceda a BI Publisher: Inicie sesión en su aplicación Oracle Transportation Management (OTM). Vaya a Business Process Automation, luego a Reporting y seleccione Report Manager. Se abrirá la interfaz de Oracle Business Intelligence Publisher.
- Cree un modelo de datos: En BI Publisher, haga clic en el botón New y seleccione Data Model. Se abrirá el editor de modelos de datos, donde definirá el origen de datos del informe.
- Defina la consulta SQL: En el editor del modelo de datos, haga clic en el icono más del diagrama Data Sets y seleccione SQL Query. Asigne un nombre al conjunto de datos, por ejemplo, «OTM_Process_Mining_DS». Seleccione la base de datos de OTM como Data Source. Copie la consulta SQL completa que se proporciona en la sección «query» de este documento y péguela en el cuadro de texto SQL Query.
- Añada parámetros: La consulta utiliza parámetros para el intervalo de fechas y el nombre del dominio (:P_START_DATE, :P_END_DATE, :P_DOMAIN_NAME). BI Publisher los detectará automáticamente. Puede configurar sus propiedades, por ejemplo, establecer el tipo de datos Date para los parámetros de fecha.
- Guarde el modelo de datos: Haga clic en el icono Save. Elija una ubicación en el catálogo de BI Publisher, asígnele un nombre descriptivo, como «OTM Shipment Process Extraction», y guarde el modelo de datos.
- Cree el informe: Vuelva al catálogo, haga clic en el botón New y seleccione Report. En el asistente de creación de informes, seleccione la opción «Use Data Model» y busque el modelo de datos que acaba de guardar.
- Configure la disposición del informe: El asistente le guiará para crear una disposición. Basta con una disposición sencilla de tipo «Table». Arrastre todas las columnas del conjunto de datos a la tabla. No aplique agrupaciones ni agregaciones.
- Guarde el informe: Cuando haya configurado la disposición, continúe hasta el último paso y guarde el informe. Asígnele un nombre similar al del modelo de datos.
- Ejecute el informe: Abra el informe que acaba de crear. Se le pedirá que introduzca los valores de los parámetros (Start Date, End Date, Domain Name). Indique el intervalo que desea consultar.
- Exporte los datos: Cuando el informe se ejecute y muestre los datos, haga clic en el menú Actions y seleccione Export. Elija el formato CSV. Se descargará un archivo CSV con el registro de eventos.
- Prepare la carga: Abra el archivo CSV descargado. Compruebe que los encabezados de columna coincidan con los atributos requeridos:
ShipmentId,ActivityName,EventTimey los atributos recomendados. Asegúrese de que la columnaEventTimeutilice un formato de fecha y hora uniforme. El archivo ya está listo para cargarse en ProcessMind.
Configuración
- Fuente de datos: La consulta debe ejecutarse en el esquema de la base de datos operativa principal de OTM, que suele llamarse GLOGOWNER.
- Parámetros del informe:
P_START_DATE: Inicio del período del informe. El formato debe ser «YYYY-MM-DD».P_END_DATE: Fin del período del informe. El formato debe ser «YYYY-MM-DD».P_DOMAIN_NAME: Dominio específico de OTM del que se extraerán los datos. Utilice «[Your Domain Name]».
- Intervalo de fechas: Para el análisis inicial, se recomienda extraer datos de un período de 3 a 6 meses, a fin de equilibrar el volumen de datos y el rendimiento. En las ejecuciones de producción, considere extraer los datos en lotes mensuales o trimestrales.
- Permisos: La persona usuaria de OTM que ejecute el informe necesita roles específicos, como BI PUBLISHER DATA MODEL DEVELOPER y BI PUBLISHER REPORT DEVELOPER, para crear y modificar modelos de datos e informes. También se requiere acceso de solo lectura a las tablas de la base de datos subyacente.
- Rendimiento: La consulta combina varias tablas grandes. Si el volumen de datos es elevado, se recomienda ejecutar el informe fuera de las horas de mayor actividad para evitar afectar el rendimiento del sistema. Mantenga el intervalo de fechas lo más acotado posible para que el informe se complete a tiempo.
Consulta de ejemplo sql
WITH SHIPMENTS_BASE AS (
SELECT
S.SHIPMENT_GID AS ShipmentId,
SP.SERVPROV_NAME AS CarrierName,
S.TOTAL_ACTUAL_COST AS ShipmentCost,
TM.TRANSPORT_MODE_NAME AS TransportationMode,
(
SELECT MAX(ORL.LATE_DELIVERY_DATE)
FROM SHIPMENT_S_SHIP_UNIT SSU
JOIN S_SHIP_UNIT SU ON SSU.S_SHIP_UNIT_GID = SU.S_SHIP_UNIT_GID
JOIN ORDER_RELEASE ORL ON SU.ORDER_RELEASE_GID = ORL.ORDER_RELEASE_GID
WHERE SSU.SHIPMENT_GID = S.SHIPMENT_GID
) AS RequestedDeliveryDate,
S.DOMAIN_NAME
FROM SHIPMENT S
LEFT JOIN SERVPROV SP ON S.SERVPROV_GID = SP.SERVPROV_GID
LEFT JOIN TRANSPORT_MODE TM ON S.TRANSPORT_MODE_GID = TM.TRANSPORT_MODE_GID
WHERE S.INSERT_DATE BETWEEN TO_DATE(:P_START_DATE, 'YYYY-MM-DD') AND TO_DATE(:P_END_DATE, 'YYYY-MM-DD') + 1
AND S.DOMAIN_NAME = :P_DOMAIN_NAME
)
-- 1. Transportation Request Received
SELECT
SB.ShipmentId,
'Transportation Request Received' AS ActivityName,
MIN(ORL.INSERT_DATE) AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_S_SHIP_UNIT SSU ON SB.ShipmentId = SSU.SHIPMENT_GID
JOIN S_SHIP_UNIT SU ON SSU.S_SHIP_UNIT_GID = SU.S_SHIP_UNIT_GID
JOIN ORDER_RELEASE ORL ON SU.ORDER_RELEASE_GID = ORL.ORDER_RELEASE_GID
WHERE SB.DOMAIN_NAME = ORL.DOMAIN_NAME
GROUP BY SB.ShipmentId, SB.CarrierName, SB.RequestedDeliveryDate, SB.ShipmentCost, SB.TransportationMode
UNION ALL
-- 2. Shipment Planned
SELECT
SB.ShipmentId,
'Shipment Planned' AS ActivityName,
SS.STATUS_CHANGE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STATUS SS ON SB.ShipmentId = SS.SHIPMENT_GID
WHERE SS.STATUS_CODE_GID = 'PLANNING_PLANNED FINAL'
UNION ALL
-- 3. Carrier Assigned
SELECT
SB.ShipmentId,
'Carrier Assigned' AS ActivityName,
ST.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_TENDER ST ON SB.ShipmentId = ST.SHIPMENT_GID
WHERE ST.TENDER_STATUS_GID = 'TENDER_ACCEPTED'
UNION ALL
-- 4. Shipment Booked
SELECT
SB.ShipmentId,
'Shipment Booked' AS ActivityName,
SS.STATUS_CHANGE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STATUS SS ON SB.ShipmentId = SS.SHIPMENT_GID
WHERE SS.STATUS_CODE_GID = 'SECURE RESOURCES_BOOKED'
UNION ALL
-- 5. Pickup Appointment Scheduled
SELECT
SB.ShipmentId,
'Pickup Appointment Scheduled' AS ActivityName,
SST.APPOINTMENT_START_TIME AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.APPOINTMENT_START_TIME IS NOT NULL
UNION ALL
-- 6. Goods Picked Up
SELECT
SB.ShipmentId,
'Goods Picked Up' AS ActivityName,
SST.ACTUAL_DEPARTURE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.ACTUAL_DEPARTURE_DATE IS NOT NULL
UNION ALL
-- 7. Shipment In Transit
SELECT
SB.ShipmentId,
'Shipment In Transit' AS ActivityName,
SST.ACTUAL_DEPARTURE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = 1 AND SST.ACTUAL_DEPARTURE_DATE IS NOT NULL
UNION ALL
-- 8. Customs Cleared
SELECT
SB.ShipmentId,
'Customs Cleared' AS ActivityName,
SE.EVENT_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
SE.EVENT_REMARK_TEXT AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_EVENT SE ON SB.ShipmentId = SE.SHIPMENT_GID
WHERE SE.EVENT_CODE = '[Your Customs Cleared Event Code]'
UNION ALL
-- 9. Delivery Appointment Scheduled
SELECT
SB.ShipmentId,
'Delivery Appointment Scheduled' AS ActivityName,
SST.APPOINTMENT_START_TIME AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = (SELECT MAX(SST2.STOP_NUM) FROM SHIPMENT_STOP SST2 WHERE SST2.SHIPMENT_GID = SB.ShipmentId)
AND SST.APPOINTMENT_START_TIME IS NOT NULL
UNION ALL
-- 10. Goods Delivered
SELECT
SB.ShipmentId,
'Goods Delivered' AS ActivityName,
SST.ACTUAL_ARRIVAL_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_STOP SST ON SB.ShipmentId = SST.SHIPMENT_GID
WHERE SST.STOP_NUM = (SELECT MAX(SST2.STOP_NUM) FROM SHIPMENT_STOP SST2 WHERE SST2.SHIPMENT_GID = SB.ShipmentId)
AND SST.ACTUAL_ARRIVAL_DATE IS NOT NULL
UNION ALL
-- 11. Proof of Delivery Received
SELECT
SB.ShipmentId,
'Proof of Delivery Received' AS ActivityName,
SE.EVENT_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
SE.EVENT_REMARK_TEXT AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT_EVENT SE ON SB.ShipmentId = SE.SHIPMENT_GID
WHERE SE.EVENT_CODE = '[Your POD Received Event Code]'
UNION ALL
-- 12. Freight Bill Audited
SELECT
SB.ShipmentId,
'Freight Bill Audited' AS ActivityName,
B.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN BILL B ON SB.ShipmentId = B.SHIPMENT_GID
WHERE B.BILL_STATUS_GID = 'VOUCHER_AUDITED'
UNION ALL
-- 13. Payment Processed
SELECT
SB.ShipmentId,
'Payment Processed' AS ActivityName,
B.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN BILL B ON SB.ShipmentId = B.SHIPMENT_GID
WHERE B.BILL_STATUS_GID = '[Your Payment Processed Bill Status]'
UNION ALL
-- 14. Shipment Cancelled
SELECT
SB.ShipmentId,
'Shipment Cancelled' AS ActivityName,
S.UPDATE_DATE AS EventTime,
SB.CarrierName,
SB.RequestedDeliveryDate,
SB.ShipmentCost,
SB.TransportationMode,
NULL AS DelayReason
FROM SHIPMENTS_BASE SB
JOIN SHIPMENT S ON SB.ShipmentId = S.SHIPMENT_GID
WHERE S.SHIPMENT_STATUS_GID = 'SHIPMENT_CANCELLED' Pasos
- Establezca la conexión con la base de datos: Obtenga credenciales de solo lectura y los datos de conexión (host, puerto e ID de servicio) de la base de datos de Oracle Transportation Management. Necesitará acceso al esquema
GLOGOWNER. - Configure el cliente SQL: Configure una herramienta cliente SQL, como Oracle SQL Developer, DBeaver o Toad, con los datos de conexión de la base de datos del paso anterior.
- Prepare la consulta: Copie la consulta SQL completa que se proporciona en este documento en el editor de consultas de su cliente SQL.
- Configure los parámetros de la consulta: Localice los valores de marcador de posición en las cláusulas
WHEREde la consulta. Debe sustituir[START_DATE],[END_DATE]y[YOUR_DOMAIN_NAME]por los valores adecuados para la extracción. Por ejemplo, indique un intervalo de 3 a 6 meses y especifique el dominio operativo que desea analizar. - Ejecute la consulta: Ejecute la consulta SQL modificada. Según el intervalo de fechas y el tamaño del sistema, puede tardar varios minutos.
- Revise los resultados: Cuando termine la consulta, revise brevemente los resultados en el cliente para comprobar que se hayan devuelto filas y que las columnas clave, como
ShipmentId,ActivityNameyEventTime, contengan datos. - Exporte a CSV: Exporte todo el conjunto de resultados a un archivo CSV. Utilice la configuración CSV estándar: coma como delimitador, comillas dobles para el texto y codificación UTF-8.
- Verifique los encabezados de columna: Antes de cargar el archivo, compruebe que los encabezados de columna del CSV coincidan exactamente con los nombres de atributo requeridos:
ShipmentId,ActivityName,EventTime,CarrierName,RequestedDeliveryDate,ShipmentCost,TransportationModeyDelayReason. - Cargue el archivo en ProcessMind: El archivo CSV preparado ya está listo para cargarse y analizarse en ProcessMind.
Configuración
- Esquema de la base de datos: La consulta está diseñada para ejecutarse en el esquema estándar de la base de datos de Oracle Transportation Management, que suele llamarse
GLOGOWNER. - Autorizaciones necesarias: Se requiere un usuario de base de datos con acceso de solo lectura a las tablas mencionadas en la consulta. Estas incluyen
SHIPMENT,SHIPMENT_STOP,ORDER_RELEASE,SHIPMENT_STATUS,SERVPROV,SHIPMENT_COST,DOCUMENT,BILLyVOUCHER. - Filtrado por dominio: En un entorno de OTM multiinquilino, es fundamental filtrar por
DOMAIN_NAME. La consulta incluye el marcador de posición[YOUR_DOMAIN_NAME], que debe configurarse para extraer los datos de la entidad empresarial correcta. - Intervalo de fechas: Para controlar el rendimiento y el volumen de datos, debe especificar una fecha de inicio y otra de fin. Se recomienda filtrar por una columna indexada, como
SHIPMENT.INSERT_DATE. Para un análisis inicial, suele utilizarse un período de 3 a 6 meses. - Personalización de códigos de estado: La consulta utiliza códigos de estado comunes y predeterminados, como
PLANNING_PLANNED FINALyTENDER_ACCEPTED. Su implementación de OTM puede utilizar códigos de estado personalizados. Es posible que deba ajustar los valores de las cláusulasWHEREpara que coincidan con la configuración de su sistema.
Consulta de ejemplo sql
WITH ShipmentBase AS (
SELECT s.SHIPMENT_GID, s.SERVPROV_GID, s.LATE_DELIVERY_DATE, s.TRANSPORT_MODE_GID, sc.TotalShipmentCost
FROM GLOGOWNER.SHIPMENT s
LEFT JOIN (
SELECT sc.SHIPMENT_GID, SUM(sc.COST) as TotalShipmentCost
FROM GLOGOWNER.SHIPMENT_COST sc
GROUP BY sc.SHIPMENT_GID
) sc ON s.SHIPMENT_GID = sc.SHIPMENT_GID
WHERE s.INSERT_DATE BETWEEN TO_DATE('[START_DATE]', 'YYYY-MM-DD') AND TO_DATE('[END_DATE]', 'YYYY-MM-DD')
AND s.DOMAIN_NAME = '[YOUR_DOMAIN_NAME]'
),
OrderReleaseInfo AS (
SELECT ssu.SHIPMENT_GID, MIN(orl.INSERT_DATE) as Earliest_OR_Date
FROM GLOGOWNER.S_SHIP_UNIT ssu
JOIN GLOGOWNER.S_SHIP_UNIT_LINE ssul ON ssu.S_SHIP_UNIT_GID = ssul.S_SHIP_UNIT_GID
JOIN GLOGOWNER.ORDER_RELEASE_LINE orl ON ssul.ORDER_RELEASE_LINE_GID = orl.ORDER_RELEASE_LINE_GID
GROUP BY ssu.SHIPMENT_GID
)
-- 1. Transportation Request Received
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Transportation Request Received' AS "ActivityName",
ori.Earliest_OR_Date AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN OrderReleaseInfo ori ON sb.SHIPMENT_GID = ori.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ori.Earliest_OR_Date IS NOT NULL
UNION ALL
-- 2. Shipment Planned
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Planned' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'PLANNING_PLANNED FINAL'
UNION ALL
-- 3. Carrier Assigned
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Carrier Assigned' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'TENDER_ACCEPTED'
UNION ALL
-- 4. Shipment Booked
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Booked' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID = 'SECURE RESOURCES_BOOKED'
UNION ALL
-- 5. Pickup Appointment Scheduled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Pickup Appointment Scheduled' AS "ActivityName",
stp.APPT_START_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.APPT_START_TIME IS NOT NULL
UNION ALL
-- 6. Goods Picked Up
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Goods Picked Up' AS "ActivityName",
stp.ACTUAL_DEPARTURE_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.ACTUAL_DEPARTURE_TIME IS NOT NULL
UNION ALL
-- 7. Shipment In Transit
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment In Transit' AS "ActivityName",
stp.ACTUAL_DEPARTURE_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = 1 AND stp.ACTUAL_DEPARTURE_TIME IS NOT NULL
UNION ALL
-- 8. Customs Cleared
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Customs Cleared' AS "ActivityName",
se.EVENT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
se.REMARK_TEXT AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_EVENT se ON sb.SHIPMENT_GID = se.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE se.EVENT_CODE_GID = '[Your Customs Cleared Event Code]'
UNION ALL
-- 9. Delivery Appointment Scheduled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Delivery Appointment Scheduled' AS "ActivityName",
stp.APPT_START_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = (SELECT MAX(s2.STOP_NUM) FROM GLOGOWNER.SHIPMENT_STOP s2 WHERE s2.SHIPMENT_GID = stp.SHIPMENT_GID)
AND stp.APPT_START_TIME IS NOT NULL
UNION ALL
-- 10. Goods Delivered
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Goods Delivered' AS "ActivityName",
stp.ACTUAL_ARRIVAL_TIME AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STOP stp ON sb.SHIPMENT_GID = stp.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE stp.STOP_NUM = (SELECT MAX(s2.STOP_NUM) FROM GLOGOWNER.SHIPMENT_STOP s2 WHERE s2.SHIPMENT_GID = stp.SHIPMENT_GID)
AND stp.ACTUAL_ARRIVAL_TIME IS NOT NULL
UNION ALL
-- 11. Proof of Delivery Received
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Proof of Delivery Received' AS "ActivityName",
d.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.DOCUMENT d ON sb.SHIPMENT_GID = d.OBJECT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE d.OBJECT_TYPE_GID = 'SHIPMENT' AND d.DOCUMENT_TYPE_GID = 'POD'
UNION ALL
-- 12. Freight Bill Audited
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Freight Bill Audited' AS "ActivityName",
b.UPDATE_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.BILL b ON sb.SHIPMENT_GID = b.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE b.APPROVAL_STATUS_GID = 'VOUCHER_AUDITED'
UNION ALL
-- 13. Payment Processed
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Payment Processed' AS "ActivityName",
v.UPDATE_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.BILL b ON sb.SHIPMENT_GID = b.SHIPMENT_GID
JOIN GLOGOWNER.VOUCHER v ON b.BILL_GID = v.BILL_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE v.VOUCHER_STATUS_GID = 'VOUCHER_PAID' -- This status may vary based on configuration
UNION ALL
-- 14. Shipment Cancelled
SELECT
sb.SHIPMENT_GID AS "ShipmentId",
'Shipment Cancelled' AS "ActivityName",
ss.INSERT_DATE AS "EventTime",
sp.SERVPROV_NAME AS "CarrierName",
sb.LATE_DELIVERY_DATE AS "RequestedDeliveryDate",
sb.TotalShipmentCost AS "ShipmentCost",
sb.TRANSPORT_MODE_GID AS "TransportationMode",
CAST(NULL AS VARCHAR(255)) AS "DelayReason"
FROM ShipmentBase sb
JOIN GLOGOWNER.SHIPMENT_STATUS ss ON sb.SHIPMENT_GID = ss.SHIPMENT_GID
LEFT JOIN GLOGOWNER.SERVPROV sp ON sb.SERVPROV_GID = sp.SERVPROV_GID
WHERE ss.STATUS_CODE_GID LIKE '%CANCELLED%'; ¿Todo listo para comenzar?
Utilice este Template para convertir sus datos sin procesar en información útil para la acción e impulsar mejoras importantes en sus procesos de transporte. Comience hoy mismo a optimizar sus operaciones.
Optimice hoy la gestión del transporte
Reduzca el tiempo de ciclo un 30 % y elimine los cuellos de botella de Oracle OTM.
No se requiere tarjeta de crédito • Prueba gratuita de 14 días