Su Template de datos de gestión del transporte
Su Template de datos de gestión del transporte
- Atributos recomendados para recopilar
- Actividades clave que debe supervisar
- Guía de extracción
Atributos de la gestión del transporte
| Nombre | Descripción | ||
|---|---|---|---|
| Envío ShipmentId | El identificador único de un envío individual, que funciona como el ID de caso principal para realizar el seguimiento de todas las actividades de transporte relacionadas. | ||
| Descripción El Shipment ID identifica de forma única un movimiento individual de mercancías desde un remitente hasta un destinatario. Este atributo es la base del análisis del proceso, ya que agrupa en un único 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 Shipment ID permite obtener una visión completa del ciclo de vida del transporte de principio a fin. Se utiliza para calcular métricas clave, como el tiempo de ciclo total, el rendimiento de las entregas puntuales y el costo por envío, y proporciona una comprensión integral de la eficiencia del proceso y los niveles de servicio al cliente. Por qué es importante Este es el Case ID esencial que conecta todos los pasos del proceso y permite analizar de forma completa el recorrido de transporte de cada envío individual. Dónde obtenerlo Es una clave primaria de Oracle Transportation Management, que normalmente se encuentra 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 | La fecha y hora exactas en que tuvo lugar una actividad o un evento de transporte específico. | ||
| 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 para el Process Mining, ya que establecen la secuencia cronológica de los eventos de cada envío. La precisión de estas marcas de tiempo 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, identificar retrasos y evaluar el rendimiento frente a los acuerdos de nivel de servicio. El análisis de la hora del evento ayuda a localizar dónde se pierde tiempo en el proceso. 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 eventos de seguimiento o de historial de estados de OTM. Ejemplos 2023-10-26T08:00:00Z2023-10-27T14:30:00Z2023-10-28T09:15:00Z | |||
| Nombre de la actividad ActivityName | El nombre de un evento o hito específico que tuvo lugar dentro del proceso de transporte de un envío. | ||
| Descripción Este atributo describe un único paso del ciclo de vida del transporte, como «Envío planificado», «Mercancía recogida» o «Mercancía entregada». Cada actividad representa un evento empresarial distinto que acerca el envío a su finalización. El análisis de la secuencia y la duración de estas actividades constituye el núcleo del Process Mining. Permite descubrir el flujo de proceso real, identificar cuellos de botella entre pasos y medir el cumplimiento de los procedimientos operativos estándar. Las variaciones en el flujo de actividades pueden poner de manifiesto excepciones, retrabajos o desviaciones respecto a 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 eventos de seguimiento o de los registros de cambios de estado de Oracle Transportation Management. El nombre específico de la actividad puede concatenarse a partir de códigos y descripciones de eventos. Ejemplos Envío planificadoProductos recogidosDespacho de aduanas completadoProductos entregados | |||
| Coste del envío ShipmentCost | El coste total del transporte o el importe cobrado por trasladar 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. El análisis del coste del envío permite calcular el KPI de coste medio del transportista por envío. Puede segmentarse 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 de facturas de transporte para comparar los costes previstos con los reales. Por qué es importante Proporciona 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 Normalmente, esta información se encuentra en las secciones financieras o de costes de un envío en OTM y suele completarse después de calcular las tarifas y liquidar el transporte. Ejemplos 250.751200.00545.50 | |||
| Fecha de entrega solicitada RequestedDeliveryDate | La fecha y hora de entrega solicitadas por el cliente o acordadas como objetivo del acuerdo de nivel de servicio (SLA). | ||
| Descripción Este atributo recoge la marca de tiempo objetivo de entrega de un envío. Representa el compromiso adquirido 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 marca de tiempo real de entrega, procedente de la actividad «Mercancía entregada», para determinar si el envío llegó a tiempo o con retraso. Es la base del KPI de porcentaje de entregas a tiempo y resulta esencial para el Dashboard de visión general del rendimiento de las entregas. El análisis de 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 Normalmente, esta información se almacena en el nivel del pedido o del envío dentro de OTM, a menudo en campos relacionados con fechas o citas de entrega. Ejemplos 2023-11-15T17:00:00Z2023-11-20T12:00:00Z2023-11-22T09:00:00Z | |||
| Modalidad de transporte TransportationMode | El medio de transporte utilizado para el envío, como carretera, ferrocarril, marítimo o aéreo. | ||
| Descripción Este atributo clasifica el envío según la modalidad de transporte. Entre las modalidades habituales se incluyen carga completa de camión (FTL), carga parcial de camión (LTL), 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 los análisis, la modalidad de transporte es una dimensión clave de segmentación. Permite comparar el rendimiento y los costes del proceso entre distintas modalidades. Por ejemplo, puede ayudar a identificar qué modalidades son más propensas a sufrir retrasos durante el tránsito o tienen un coste por milla más elevado, lo que facilita las 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 en el nivel del envío en OTM y suele encontrarse en un campo específico de «modalidad» o «tipo de transporte». Ejemplos FTLLTLOCEANAIR | |||
| Motivo del retraso DelayReason | Un código o una descripción que explica la causa de un retraso en el avance del envío. | ||
| Descripción Cuando un envío se retrasa, 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 categorizar y contabilizar los motivos de retraso, las empresas pueden identificar los problemas más frecuentes de su cadena de suministro. Esto permite 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 Proporciona información esencial sobre las causas raíz de los envíos tardíos y permite aplicar medidas específicas para mitigar 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 específicos de eventos de excepción o retraso. Ejemplos WEATHER_DELAYCUSTOMS_INSPECTIONPORT_CONGESTIONTRAFFIC | |||
| Nombre del transportista CarrierName | El nombre del transportista o proveedor de servicios de transporte responsable de trasladar el envío. | ||
| Descripción Este atributo identifica al socio logístico asignado para transportar las mercancías. Algunos ejemplos son grandes empresas de transporte de carga, servicios de mensajería locales o navieras. Analizar el rendimiento por transportista es uno de los principales objetivos del Process Mining aplicado al transporte. Este atributo permite segmentar los envíos para comparar transportistas según métricas como el porcentaje de entregas a tiempo, el coste por envío, el tiempo de tránsito y la frecuencia de problemas como retrasos o discrepancias de facturación. Estos datos son esenciales para seleccionar transportistas, negociar contratos y gestionar el rendimiento. Por qué es importante Permite comparar el rendimiento de distintos transportistas, algo fundamental para optimizar su selección, las negociaciones y la reducción de costes. Dónde obtenerlo Se encuentra en los detalles del envío de OTM y está vinculado a los registros del transportista o proveedor de servicios asignado. Puede almacenarse en tablas relacionadas con envíos y proveedores de servicios. Ejemplos FedEx FreightUPS Supply Chain SolutionsMaersk LineKnight-Swift Transportation | |||
| ¿Se desvió la ruta? IsRerouted | Un indicador que señala si la ruta del envío cambió después de la reserva inicial. | ||
| Descripción Este atributo es un indicador booleano que se establece en «true» si un envío experimenta un cambio de ruta significativo después de haber sido planificado y reservado. Esto puede deberse a una solicitud del cliente, interrupciones imprevistas u oportunidades de optimización. Este atributo respalda directamente el KPI de porcentaje de desvíos de ruta y el Dashboard de información sobre desvíos y envíos urgentes. Hacer un seguimiento de la frecuencia de los cambios de ruta ayuda a identificar problemas subyacentes en la planificación o la ejecución. También pone de relieve las inestabilidades operativas y los costes asociados, lo que permite encontrar formas de minimizar 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 detectando eventos específicos de cambio de ruta en el registro de eventos o comparando la ruta final con la ruta planificada inicialmente. Ejemplos truefalse | |||
| ¿Se entregó a tiempo? IsOnTimeDelivery | Un indicador calculado que señala si el envío se entregó en la fecha de entrega solicitada o antes. | ||
| Descripción Este atributo booleano se obtiene 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 realizó tarde. Este atributo alimenta directamente el KPI de porcentaje de entregas a tiempo y es un componente clave del Dashboard de visión general del rendimiento de las entregas. Simplifica el análisis del rendimiento de las entregas al proporcionar un resultado binario claro para cada envío, lo que facilita filtrar, agregar y visualizar los envíos entregados a tiempo y los entregados tarde. Por qué es importante Este indicador calculado simplifica la medición del KPI de entregas a tiempo y permite filtrar y analizar fácilmente los envíos entregados a tiempo frente a los entregados tarde. Dónde obtenerlo Este atributo no existe 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 | |||
| Agente de aduanas CustomsAgent | El 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 procedimientos 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 tipos concretos de mercancía. Esta información resulta útil para seleccionar los mejores socios aduaneros y colaborar con los agentes de menor rendimiento para mejorar sus procesos. 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 Esta información puede almacenarse como proveedor de servicios o función de una parte en los detalles del envío internacional de OTM. Ejemplos Global Customs ServicesLivingston InternationalFlexport | |||
| Discrepancia en la factura de transporte FreightBillDiscrepancy | Un 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 constituye la base del KPI de porcentaje 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 raíz de los errores de facturación. Esto respalda las iniciativas para mejorar la precisión de los datos, agilizar el proceso de auditoría y evitar pagos excesivos. Por qué es importante Contribuye directamente al análisis de discrepancias en facturas de transporte al señalar los envíos con errores de facturación, lo que ayuda a reducir los pagos excesivos y mejorar los controles financieros. Dónde obtenerlo Normalmente es 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 | El estado general actual del envío en su ciclo de vida, como «Planificado», «En tránsito» o «Entregado». | ||
| Descripción Este atributo proporciona un resumen general de la situación del envío dentro del proceso completo. 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 «Completed» o investigar por qué muchos envíos permanecen en estado «In Transit» durante un tiempo inusualmente largo. Por qué es importante Ofrece un resumen general del avance de un envío y resulta útil para filtrar y segmentar casos en los análisis. Dónde obtenerlo Está disponible en el registro principal del envío en OTM y representa su estado actual en el Workflow. Ejemplos PLANNEDBOOKEDEN TRÁNSITOENTREGADO | |||
| Nombre de usuario UserName | El nombre o ID del usuario que realizó una actividad concreta o es responsable de ella. | ||
| Descripción Este atributo identifica al usuario individual o agente del sistema que ejecutó un evento específico, como «Envío planificado» o «Transportista asignado». Esta información aporta responsabilidad y permite conocer la participación de los recursos en el proceso. En Process Mining, analizar las actividades por usuario ayuda a comprender la distribución de la carga de trabajo, identificar necesidades de formación y comparar el rendimiento de distintos usuarios o equipos. También permite distinguir entre las actividades realizadas manualmente y las ejecutadas automáticamente por el sistema. Por qué es importante Aporta responsabilidad y permite analizar la carga de trabajo y el rendimiento por usuario o equipo. Dónde obtenerlo Se obtiene de los campos de ID de usuario, como INSERT_USER, asociados a cambios de estado o eventos en las tablas de historial o registro de OTM. Ejemplos JSMITHLOGISTICS_PLANNER_ASYSTEM_AUTO | |||
| País de destino DestinationCountry | El país donde está previsto entregar el envío. | ||
| Descripción Este atributo especifica el país de destino final del envío a partir de la ubicación del consignatario. Complementa al país de origen en el análisis geográfico de procesos. Al igual que el origen, analizar los datos por país de destino es fundamental para comprender las diferencias de rendimiento entre distintas rutas comerciales. Es especialmente importante para analizar los tiempos de despacho de aduanas, el rendimiento de la entrega 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 en 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 o del consignatario del envío, almacenados en los datos maestros de ubicaciones de OTM. Ejemplos CANFRAJPNBRA | |||
| País de origen OriginCountry | El país donde comienza el recorrido del envío. | ||
| Descripción Este atributo especifica el país de origen del envío a partir de la ubicación del expedidor. Es un dato geográfico clave para el análisis logístico. Analizar los procesos por país de origen ayuda a comprender las variaciones regionales del rendimiento. Por ejemplo, los tiempos de despacho de aduanas, los costes de los transportistas y la duración del 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 variaciones 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 o del expedidor del envío, almacenados en los datos maestros de ubicaciones de OTM. Ejemplos USADEUCHNMEX | |||
| 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 u 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 comprender el contexto de los datos y puede explicar las variaciones en su nivel de detalle o actualidad. En los análisis, permite filtrar los eventos que proceden únicamente de un sistema específico y fiable. Por qué es importante Proporciona un contexto esencial sobre el origen de los datos, importante para validarlos y realizar análisis 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 | Una clasificación del envío, por ejemplo, según el nivel de servicio, el tipo de mercancía o la unidad de negocio. | ||
| Descripción Este atributo proporciona una categorización del envío específica para el negocio, como «Estándar», «Urgente», «Materiales peligrosos» o «Entre empresas». Esta clasificación ayuda a aplicar distintas reglas empresariales, prioridades o vistas analíticas. Utilizar el tipo de envío como dimensión en Process Mining permite comparar los procesos de distintos tipos de envío. Esto puede revelar si determinados tipos son más propensos a sufrir retrasos, tienen costes más elevados o siguen rutas de proceso no estándar. Estos datos ayudan a adaptar los procesos para responder mejor a las necesidades específicas de cada tipo de envío. Por qué es importante Permite segmentar el análisis según el contexto empresarial y ayuda a comprender si los distintos tipos de envío siguen procesos diferentes o presentan niveles de rendimiento distintos. Dónde obtenerlo Normalmente es un campo o atributo configurable del registro del envío o del pedido en OTM. Ejemplos EstándarUrgenteInternacionalNacional | |||
| Última actualización de datos LastDataUpdate | La marca de tiempo que indica la última vez que se actualizaron o extrajeron del sistema de origen los datos de este evento. | ||
| Descripción Este atributo registra cuándo se obtuvieron más recientemente los datos de Oracle Transportation Management. Refleja la actualidad de los datos analizados, no el momento en que tuvo lugar el evento empresarial. Esta marca de tiempo es fundamental para comprender 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 y permite saber hasta qué momento está actualizado 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 el proceso de ingesta de datos o 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 la confirmación formal de que la entrega se completó, como un documento firmado. A menudo se registra como un tipo de documento específico adjunto al envío. | ||
| Por qué es importante El POD es fundamental para la facturación y la resolución de disputas. Realizar el seguimiento de su recepción ayuda a garantizar el cumplimiento del proceso y acelera el ciclo de liquidación financiera. Dónde obtenerlo Puede tratarse de un evento explícito o inferirse de la fecha de creación de un documento POD vinculado al envío. Busque en la tabla DOCUMENT los documentos cuyo tipo sea POD. Recopilar 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 uno o varios Order Release en un envío viable por parte del motor de planificación de OTM. Se captura cuando el sistema cambia el estado de un envío para indicar que se ha planificado, por ejemplo, «PLANNING_PLANNED FINAL». | ||
| Por qué es importante Este es un hito clave que separa la fase de demanda de la fase de ejecución. Analizar el tiempo previo a 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. Recopilar Identifique la marca de tiempo en la que SHIPMENT.SHIPMENT_STATUS_VALUE_GID cambia a un estado «Planned». Tipo de evento inferred | |||
| Pago procesado | Esta es la actividad final y representa el procesamiento correcto del pago al transportista por sus servicios. El evento 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 pagos a transportistas y gestionar eficazmente las relaciones con ellos. Dónde obtenerlo Se infiere del cambio de estado del voucher o la factura asociada a un estado «PAID». Estos datos se encuentran en las tablas VOUCHER o BILL. Recopilar Identifique la marca de tiempo en la que VOUCHER.VOUCHER_STATUS_ID cambia a «PAID». Tipo de evento inferred | |||
| Productos entregados | Esta actividad representa la entrega correcta del envío al destinatario en el destino final. Se captura cuando la última parada del envío se marca con una hora de llegada real. | ||
| Por qué es importante Este es el hito principal para medir el rendimiento de las entregas puntuales y el tiempo de ciclo de principio a fin. Culmina el proceso de ejecución del transporte. Dónde obtenerlo Se infiere de la cumplimentación del campo ACTUAL_ARRIVAL en el último registro de parada de la tabla SHIPMENT_STOP asociado al envío. Recopilar Utilice la marca de tiempo ACTUAL_ARRIVAL del último registro de la tabla SHIPMENT_STOP correspondiente al envío. Tipo de evento inferred | |||
| Productos recogidos | Esta actividad señala el inicio del transporte físico, cuando el transportista ha recogido las mercancías en el origen. El evento se captura cuando la primera parada del envío se marca como «DEPARTED». | ||
| Por qué es importante Este es un hito fundamental que marca el inicio de la fase en tránsito. Es esencial para realizar el seguimiento del rendimiento de recogida del transportista 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 de estado del envío que indique la recogida. Recopilar Utilice la marca de tiempo ACTUAL_DEPARTURE del primer registro de la tabla SHIPMENT_STOP correspondiente al envío. Tipo de evento inferred | |||
| Solicitud de transporte recibida | Esta actividad marca la creación de una necesidad de transporte en el sistema, normalmente como un Order Release. El evento se captura cuando se crea un nuevo registro de Order Release en Oracle Transportation Management, lo que representa la demanda inicial de un envío. | ||
| Por qué es importante Como punto de partida del proceso, esta actividad es fundamental para medir el tiempo de ciclo total de principio a fin y comprender los patrones de demanda. Ayuda a analizar el tiempo transcurrido desde la solicitud hasta la planificación. Dónde obtenerlo Este es un evento explícito capturado a partir de la marca de tiempo de creación del registro de Order Release en la tabla ORDER_RELEASE. Puede utilizarse INSERT_DATE o un campo de fecha de creación específico. Recopilar Utilice la marca de tiempo de creación del Order Release en la tabla ORDER_RELEASE. Tipo de evento explicit | |||
| Cita de entrega programada | Esta actividad marca el momento en que se ha programado una fecha y hora concretas para la entrega con el destinatario. El evento se captura a partir de los datos de la cita de la última parada del envío. | ||
| Por qué es importante Este es un paso 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 cumplimentación de los campos de fecha y hora de la cita para la última parada, que corresponde a la ubicación de entrega, en la tabla SHIPMENT_STOP. Recopilar Utilice la marca de tiempo en la que se completan por primera vez los campos de la cita de 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 captura a partir de los datos de citas del nivel de parada del envío. | ||
| Por qué es importante La programación de citas es un paso clave de coordinación. Analizarla ayuda a comprender la eficiencia de la programación y su impacto en la puntualidad de la recogida. Dónde obtenerlo Se infiere de la cumplimentación de los campos de fecha y hora de la cita para la primera parada, que corresponde a la ubicación de recogida, en la tabla SHIPMENT_STOP. Recopilar Utilice la marca de tiempo en la que se completan por primera vez los campos de la cita de la parada de recogida. Tipo de evento inferred | |||
| Despacho de aduanas completado | En los envíos internacionales, esta actividad representa el momento en que las mercancías han pasado correctamente por la aduana en una frontera o puerto. A menudo se captura mediante un evento o una actualización de estado específicos del envío. | ||
| Por qué es importante El despacho aduanero es una fuente habitual de retrasos importantes en la logística internacional. Realizar el seguimiento de esta actividad ayuda a medir y optimizar los tiempos de ciclo del despacho aduanero. Dónde obtenerlo Este evento suele capturarse mediante un evento de envío «Customs» introducido manualmente o integrado. Busque códigos de evento específicos relacionados con aduanas en la tabla SHIPMENT_STATUS. Recopilar Identifique la marca de tiempo de un evento «Customs Cleared» en la tabla SHIPMENT_STATUS. Tipo de evento explicit | |||
| Envío cancelado | Representa la cancelación de un envío después de su planificación, lo que termina prematuramente su ciclo de vida. Se captura mediante un cambio de estado del objeto Shipment a un estado «cancelled». | ||
| Por qué es importante Realizar el seguimiento de las cancelaciones es importante para comprender las excepciones y los fallos del proceso. Ayuda a 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». Recopilar Identifique la marca de tiempo en la que SHIPMENT.SHIPMENT_STATUS_VALUE_GID cambia a un estado «Cancelled». Tipo de evento inferred | |||
| Envío en tránsito | Indica que las mercancías se han recogido y se están desplazando hacia el destino. No corresponde a un único momento, pero el inicio de este estado se captura inmediatamente después de la actividad «Goods Picked Up». | ||
| Por qué es importante Esta actividad marca el inicio de la fase de tránsito, fundamental para supervisar el progreso de las entregas e identificar retrasos durante el tránsito. Es la base del Dashboard de puntos críticos de retrasos en tránsito. Dónde obtenerlo Es el mismo evento que «Goods Picked Up», pero a menudo se representa como una actividad independiente en los modelos de procesos para señalar el inicio de una nueva fase. Se deriva de la salida de la primera parada. Recopilar Igual que «Goods Picked Up»: utilice la marca de tiempo ACTUAL_DEPARTURE de la primera SHIPMENT_STOP. Tipo de evento inferred | |||
| Envío reservado | Representa la confirmación formal de la reserva con el transportista después de una oferta aceptada correctamente. Normalmente se captura cuando el estado del envío se actualiza a «SECURE RESOURCES_BOOKED» o a un estado equivalente. | ||
| Por qué es importante Esto confirma el compromiso del transportista y traslada oficialmente el envío a la fase de ejecución. 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 en el objeto Shipment de la tabla SHIPMENT, siguiendo el momento en que pasa a un estado confirmado o reservado después de asignar el transportista. Recopilar Identifique la marca de tiempo en la 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 del proceso de auditoría de la factura de transporte, en el que la factura del transportista se coteja y verifica con los detalles del envío. Se registra cuando el estado de la factura del 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 identificación de discrepancias de facturación. Analizar esta actividad ayuda a agilizar el proceso de auditoría a pago y respalda el 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. Recopilar Identifique la marca de tiempo en la que BILL.BILL_STATUS_VALUE_GID cambia a un estado «Audited». Tipo de evento inferred | |||
| Transportista asignado | Este momento indica que un envío se ha ofrecido correctamente a un transportista específico y que este lo ha aceptado. Se captura observando el cambio en el estado de oferta del envío a «TENDER_ACCEPTED» o a un estado similar. | ||
| Por qué es importante Su seguimiento ayuda a analizar la eficiencia del proceso de selección y oferta al transportista. Los retrasos en esta etapa pueden afectar significativamente al calendario general antes incluso de que el envío se ponga en movimiento. Dónde obtenerlo Se infiere del historial de estados de la tabla SHIPMENT_TENDER, concretamente de la marca de tiempo en la que el estado indica la aceptación por parte de un transportista. Recopilar 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, después 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á la fuente de datos del informe.
- Defina la consulta SQL: En el editor de modelos de datos, haga clic en el icono de suma del diagrama Data Sets y seleccione SQL Query. Asigne un nombre al conjunto de datos, por ejemplo, 'OTM_Process_Mining_DS'. Seleccione su base de datos OTM como Data Source. Copie la consulta SQL completa proporcionada 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, estableciendo 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, proporcione 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 del informe, seleccione la opción 'Use Data Model' y busque el modelo de datos que acaba de guardar.
- Configure el diseño del informe: El asistente le guiará durante la creación del diseño. Un diseño sencillo de tipo 'Table' es suficiente. Arrastre todas las columnas del conjunto de datos a la tabla. No aplique agrupaciones ni agregaciones.
- Guarde el informe: Una vez configurado el diseño, 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 recién creado. Se le pedirá que introduzca valores para los parámetros (Start Date, End Date, Domain Name). Introduzca el intervalo deseado.
- 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 que contiene el Registro de eventos.
- Prepárese para cargar los datos: Abra el archivo CSV descargado. Compruebe que los encabezados de columna coincidan con los atributos obligatorios:
ShipmentId,ActivityName,EventTimey los atributos recomendados. Asegúrese de que la columnaEventTimeutilice un formato de fecha y hora coherente. 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 normalmente se denomina GLOGOWNER.
- Parámetros del informe:
P_START_DATE: Inicio del periodo del informe. El formato debe ser 'YYYY-MM-DD'.P_END_DATE: Fin del periodo 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 periodo de 3 a 6 meses para equilibrar el volumen de datos y el rendimiento. En las ejecuciones de producción, considere extraer los datos en lotes mensuales o trimestrales.
- Permisos: El usuario 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 subyacentes de la base de datos.
- Rendimiento: La consulta combina varias tablas grandes. En entornos con un volumen elevado de datos, se recomienda ejecutar el informe fuera de las horas punta para evitar afectar al rendimiento del sistema. El intervalo de fechas debe ser lo más reducido posible para garantizar que el informe termine a tiempo.
a 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, ID del 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 proporcionada en este documento en el editor de consultas de su cliente SQL.
- Establezca 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, establezca las fechas para cubrir un periodo 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, el proceso puede tardar varios minutos.
- Revise los resultados: Cuando termine la consulta, revise rápidamente los resultados en su cliente para comprobar que se han devuelto filas y que las columnas clave, como
ShipmentId,ActivityNameyEventTime, contienen datos. - Exporte a CSV: Exporte el conjunto completo 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.
- Finalice los encabezados de columna: Antes de cargar el archivo, compruebe que los encabezados de columna del CSV coincidan exactamente con los nombres de atributos obligatorios:
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 normalmente se denomina
GLOGOWNER. - Autorizaciones necesarias: Se requiere un usuario de base de datos con acceso de solo lectura a las tablas referenciadas en la consulta. Estas tablas incluyen
SHIPMENT,SHIPMENT_STOP,ORDER_RELEASE,SHIPMENT_STATUS,SERVPROV,SHIPMENT_COST,DOCUMENT,BILLyVOUCHER. - Filtrado por dominio: Es fundamental filtrar por
DOMAIN_NAMEen un entorno OTM multiinquilino. 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 gestionar el rendimiento y el volumen de datos, debe especificar una fecha de inicio y una fecha de fin. Se recomienda filtrar por una columna indexada como
SHIPMENT.INSERT_DATE. Para un análisis inicial, lo habitual es utilizar un periodo 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.
a 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%'; ¿Está listo para comenzar?
Aproveche esta plantilla para transformar sus datos sin procesar en información útil y lograr mejoras significativas en sus procesos de transporte. Comience hoy mismo su camino hacia la optimización.
Optimice hoy su 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