Seu Template de dados de gestão do transporte
Seu Template de dados de gestão do transporte
- Atributos recomendados para coleta
- Principais atividades para acompanhar
- Orientações para extração
Atributos de gestão do transporte
| Nome | Descrição | ||
|---|---|---|---|
| Envio ShipmentId | Identificador exclusivo de um envio, usado como ID do caso principal para acompanhar todas as atividades de transporte relacionadas. | ||
| Descrição O ID do envio identifica exclusivamente cada transporte de mercadorias entre um remetente e um destinatário. Este atributo é a base da análise do processo: agrupa em um único caso todos os eventos relacionados, como planejamento, reserva, coleta, trânsito, entrega e faturamento. No Process Mining, analisar os eventos pelo ID do envio permite ter uma visão completa de todo o ciclo de transporte. Esse identificador é usado para calcular métricas importantes, como o tempo total de ciclo, a performance de entrega no prazo e o custo por envio, oferecendo uma compreensão abrangente da eficiência do processo e do nível de serviço ao cliente. Por que isso importa Este é o ID do caso principal que conecta todas as etapas do processo e permite analisar por completo o percurso de cada envio. Onde encontrar Esta é uma chave primária no Oracle Transportation Management, geralmente encontrada em tabelas de gestão de envios ou pedidos. Consulte a documentação do OTM para ver os nomes específicos das tabelas e dos campos. Exemplos SH-0012345SH-0012346SH-0012347 | |||
| Horário do evento EventTime | Data e horário exatos em que uma atividade ou evento específico de transporte ocorreu. | ||
| Descrição Esta data e hora registram o momento exato em que uma atividade, como 'Transportadora atribuída' ou 'Comprovante de entrega recebido', foi registrada no sistema. Esses registros são fundamentais para o Process Mining, pois estabelecem a sequência cronológica dos eventos de cada envio. A precisão desses registros é essencial para todas as análises baseadas em tempo. Eles são usados para calcular os tempos de ciclo entre atividades, medir a duração dos processos, identificar atrasos e avaliar a performance em relação aos acordos de nível de serviço. Analisar o horário do evento ajuda a localizar onde o processo está perdendo tempo. Por que isso importa Esta data e hora são essenciais para ordenar os eventos cronologicamente e calcular todas as métricas de performance, como tempos de ciclo e atrasos. Onde encontrar Obtido dos campos de data e hora associados aos eventos nas tabelas de histórico de eventos de rastreamento ou de status do OTM. Exemplos 2023-10-26T08:00:00Z2023-10-27T14:30:00Z2023-10-28T09:15:00Z | |||
| Nome da atividade ActivityName | Nome de um evento ou marco específico ocorrido no processo de transporte de um envio. | ||
| Descrição Este atributo descreve uma etapa do ciclo de transporte, como 'Envio planejado', 'Mercadoria coletada' ou 'Mercadoria entregue'. Cada atividade representa um evento de negócio distinto que aproxima o envio da conclusão. Analisar a sequência e a duração dessas atividades é a base do Process Mining. Isso permite descobrir o fluxo real do processo, identificar gargalos entre etapas e medir a conformidade com os procedimentos operacionais padrão. Variações no fluxo de atividades podem revelar exceções, retrabalho ou desvios do caminho ideal. Por que isso importa Define as etapas do mapa de processo e permite visualizar e analisar o percurso do envio, os gargalos e os desvios. Onde encontrar Estas informações são obtidas de tabelas de eventos de rastreamento ou de registros de alterações de status no Oracle Transportation Management. O nome específico da atividade pode ser formado pela combinação de códigos e descrições de eventos. Exemplos Envio planejadoMercadoria coletadaLiberação alfandegária concluídaMercadoria entregue | |||
| Custo do envio ShipmentCost | Custo total do frete ou valor cobrado pelo transporte do envio. | ||
| Descrição Este atributo representa o custo financeiro total de um envio, incluindo as cobranças da transportadora, as sobretaxas de combustível e outras taxas adicionais. É uma medida importante da performance financeira do processo de transporte. Analisar o custo do envio permite calcular o KPI de custo médio por envio e transportadora. Os dados podem ser segmentados por transportadora, rota, modal de transporte ou tipo de envio para identificar oportunidades de economia. Também são usados na análise de divergências em faturas de frete para comparar os custos planejados com os reais. Por que isso importa Fornece os dados financeiros necessários para analisar os gastos com transporte, identificar oportunidades de economia e medir o impacto financeiro das ineficiências do processo. Onde encontrar Estas informações costumam estar nas seções financeiras ou de custos do envio no OTM e geralmente são preenchidas após o cálculo do frete e a liquidação. Exemplos 250.751200.00545.50 | |||
| Data de entrega solicitada RequestedDeliveryDate | Data e horário de entrega solicitados pelo cliente ou acordados como meta do acordo de nível de serviço (SLA). | ||
| Descrição Este atributo registra a data e hora previstas para a entrega do envio. Representa o compromisso assumido com o cliente e serve como principal referência para medir a performance de entrega no prazo. No Process Mining, essa data é comparada com a data e hora reais da entrega, registradas na atividade 'Mercadoria entregue', para determinar se o envio chegou no prazo ou com atraso. Ela é a base do KPI de taxa de entrega no prazo e é essencial para o Dashboard de visão geral da performance de entrega. Analisar os desvios ajuda a identificar causas sistêmicas dos atrasos e melhorar a satisfação do cliente. Por que isso importa É a principal referência para medir a performance de entrega no prazo, um KPI essencial para a satisfação do cliente e a excelência operacional. Onde encontrar Estas informações costumam ser armazenadas no nível do pedido ou do envio no OTM, geralmente em campos relacionados às datas de entrega ou aos agendamentos. Exemplos 2023-11-15T17:00:00Z2023-11-20T12:00:00Z2023-11-22T09:00:00Z | |||
| Modal de transporte TransportationMode | Meio de transporte usado no envio, como rodoviário, ferroviário, marítimo ou aéreo. | ||
| Descrição Este atributo classifica o envio pelo modal de transporte. Os modais mais comuns incluem carga completa de caminhão (FTL), carga fracionada (LTL), marítimo, aéreo e ferroviário. Esta é uma característica fundamental do envio, que influencia o custo, o tempo de trânsito e a complexidade. Na análise, o modal de transporte é uma dimensão essencial para a segmentação. Ele permite comparar a performance do processo e os custos entre diferentes modais. Por exemplo, pode ajudar a identificar quais modais estão mais sujeitos a atrasos durante o trânsito ou têm custos mais altos por quilômetro, apoiando decisões estratégicas sobre a rede logística. Por que isso importa Permite segmentar a análise de performance e custos por modal de transporte, revelando insights específicos sobre a logística rodoviária, aérea, marítima ou ferroviária. Onde encontrar Este é um atributo padrão no nível do envio no OTM, geralmente encontrado em um campo específico de 'modal' ou 'tipo de transporte'. Exemplos FTLLTLMARÍTIMOAIR | |||
| Motivo do atraso DelayReason | Código ou descrição que explica a causa de um atraso no andamento do envio. | ||
| Descrição Quando um envio atrasa, este atributo informa o motivo, como 'Condições climáticas', 'Retenção alfandegária', 'Congestionamento no porto' ou 'Falha mecânica'. Essas informações são obtidas de atualizações da transportadora ou de registros manuais no OTM. Este atributo é essencial para a análise de causa raiz de entregas atrasadas. Ao categorizar e contabilizar os motivos dos atrasos, as empresas podem identificar os problemas mais frequentes na cadeia de suprimentos. Isso permite direcionar iniciativas de melhoria, como selecionar transportadoras mais confiáveis para determinadas rotas ou aprimorar a documentação para agilizar a liberação alfandegária. Por que isso importa Fornece insights essenciais sobre as causas raiz dos atrasos nos envios, permitindo ações direcionadas para reduzir problemas recorrentes e melhorar a performance de entrega no prazo. Onde encontrar Geralmente registrado nos detalhes dos eventos de rastreamento no OTM. Pode estar associado a códigos específicos de exceção ou de atraso. Exemplos ATRASO_POR_CONDIÇÕES_CLIMÁTICASINSPEÇÃO_ALFANDEGÁRIACONGESTIONAMENTO_NO_PORTOTRÂNSITO | |||
| Nome da transportadora CarrierName | Nome da transportadora ou do prestador de serviços responsável pelo transporte do envio. | ||
| Descrição Este atributo identifica o parceiro logístico responsável pelo transporte da mercadoria. Entre os exemplos estão grandes transportadoras de carga, empresas de entrega locais e companhias de navegação. Analisar a performance por transportadora é um dos principais objetivos do Process Mining em transportes. Este atributo permite segmentar os envios e comparar as transportadoras em métricas como taxa de entrega no prazo, custo por envio, tempo de trânsito e frequência de problemas, como atrasos ou divergências no faturamento. Esses insights são essenciais para selecionar transportadoras, negociar contratos e gerenciar a performance. Por que isso importa Permite comparar a performance de diferentes transportadoras, algo essencial para otimizar a seleção, as negociações e a redução de custos. Onde encontrar Encontrado nos detalhes do envio no OTM, vinculado aos registros da transportadora ou do prestador de serviços atribuído. Pode estar armazenado em tabelas relacionadas a envios e prestadores de serviços. Exemplos FedEx FreightUPS Supply Chain SolutionsMaersk LineKnight-Swift Transportation | |||
| Agente aduaneiro CustomsAgent | Despachante ou agente aduaneiro responsável pelo desembaraço da remessa. | ||
| Descrição Em remessas internacionais, este atributo identifica o agente terceirizado ou a equipe interna responsável pela documentação e pelos procedimentos aduaneiros. A performance desse agente pode afetar significativamente o tempo total de trânsito. Analisar o tempo de ciclo do desembaraço aduaneiro por agente permite comparar a performance entre eles. Também ajuda a identificar os agentes mais eficientes em determinados países ou para tipos específicos de mercadoria. Esse insight é útil para escolher os melhores parceiros aduaneiros e trabalhar com agentes abaixo do esperado para melhorar seus processos. Por que isso importa Permite medir a performance dos despachantes aduaneiros, identificar os parceiros mais eficientes e reduzir atrasos relacionados à alfândega. Onde encontrar No OTM, essa informação pode estar armazenada como prestador de serviços ou função de uma parte nos detalhes da remessa internacional. Exemplos Global Customs ServicesLivingston InternationalFlexport | |||
| Divergência na fatura de frete FreightBillDiscrepancy | Indica se foi encontrada uma divergência durante a auditoria da fatura de frete. | ||
| Descrição Este atributo booleano recebe o valor 'true' quando a fatura de frete enviada pela transportadora não corresponde ao custo esperado calculado no OTM. As divergências podem ocorrer por causa de tarifas incorretas, cobranças adicionais ou outros erros de faturamento. Este atributo é a base do KPI de taxa de divergências na fatura de frete. Analisar a frequência dessas sinalizações por transportadora, rota ou tipo de remessa ajuda a identificar as causas raiz dos erros de faturamento. Isso contribui para melhorar a precisão dos dados, simplificar o processo de auditoria e evitar pagamentos a maior. Por que isso importa Contribui diretamente para a análise de divergências na fatura de frete ao sinalizar remessas com erros de faturamento, ajudando a evitar pagamentos a maior e a fortalecer os controles financeiros. Onde encontrar Geralmente, é um status ou sinalização definido durante o processo de liquidação do frete e conciliação de faturas no OTM. Exemplos truefalse | |||
| Entrega no prazo IsOnTimeDelivery | Sinalização calculada que indica se a remessa foi entregue até a data solicitada. | ||
| Descrição Este atributo booleano é calculado comparando o timestamp da atividade 'Mercadoria entregue' com a 'Data de entrega solicitada'. O valor é 'true' quando a entrega ocorre no prazo ou antes dele, e 'false' quando ocorre com atraso. Este atributo alimenta diretamente o KPI de taxa de entregas no prazo e é um componente essencial do Dashboard de visão geral da performance de entrega. Ele simplifica a análise da performance de entrega ao indicar claramente o resultado de cada remessa, facilitando a filtragem, a agregação e a visualização das entregas no prazo e atrasadas. Por que isso importa Esta sinalização calculada simplifica a medição do KPI de entregas no prazo e facilita a filtragem e a análise das remessas entregues no prazo ou com atraso. Onde encontrar Este atributo não existe no sistema de origem. Ele é calculado durante a transformação dos dados, comparando o timestamp da atividade 'Mercadoria entregue' com o atributo 'RequestedDeliveryDate'. Exemplos truefalse | |||
| Nome de usuário UserName | Nome ou ID do usuário que realizou uma atividade específica ou é responsável por ela. | ||
| Descrição Este atributo identifica o usuário ou agente do sistema que executou um evento específico, como 'Remessa planejada' ou 'Transportadora atribuída'. Essa informação permite identificar responsabilidades e entender quais recursos participaram do processo. Na mineração de processos, analisar as atividades por usuário ajuda a entender a distribuição da carga de trabalho, identificar necessidades de treinamento e comparar a performance de diferentes usuários ou equipes. Também permite distinguir as atividades realizadas manualmente daquelas executadas automaticamente pelo sistema. Por que isso importa Permite identificar responsabilidades e analisar a carga de trabalho e a performance por usuário ou equipe. Onde encontrar Obtido de campos de ID do usuário, como INSERT_USER, associados a alterações de status ou eventos nas tabelas de histórico ou de log do OTM. Exemplos JSMITHLOGISTICS_PLANNER_ASYSTEM_AUTO | |||
| País de destino DestinationCountry | País onde está prevista a entrega do envio. | ||
| Descrição Este atributo especifica o país de destino final do envio, com base na localização do destinatário. Ele complementa o país de origem na análise geográfica do processo. Assim como a origem, analisar os dados por país de destino é essencial para entender as diferenças de performance entre as rotas comerciais. Isso é especialmente importante para analisar os tempos de liberação alfandegária, a performance das entregas de última milha e a eficácia das transportadoras em cada região. Essas informações ajudam a adaptar as estratégias logísticas às necessidades de cada mercado de destino. Por que isso importa Essencial para analisar a performance em rotas comerciais específicas e entender os desafios relacionados à alfândega, às transportadoras e às regulamentações nos mercados de destino. Onde encontrar Obtido dos dados de endereço do local de destino do envio ou do destinatário, armazenados nos dados mestres de localização do OTM. Exemplos CANFRAJPNBRA | |||
| País de origem OriginCountry | País onde começa o percurso do envio. | ||
| Descrição Este atributo especifica o país de origem do envio, com base na localização do remetente. É uma informação geográfica importante para a análise logística. Analisar os processos por país de origem ajuda a entender as diferenças regionais de performance. Por exemplo, os tempos de liberação alfandegária, os custos das transportadoras e a duração do trânsito podem variar bastante conforme o país de origem. Essa segmentação é essencial para gerenciar a logística internacional e identificar gargalos específicos de cada região. Por que isso importa Permite analisar geograficamente o processo de transporte e identificar gargalos, custos e diferenças de performance específicos de cada região. Onde encontrar Obtido dos dados de endereço do local de origem do envio ou do remetente, armazenados nos dados mestres de localização do OTM. Exemplos USADEUCHNMEX | |||
| Rota alterada IsRerouted | Indica se a rota da remessa foi alterada após a reserva inicial. | ||
| Descrição Este atributo booleano recebe o valor 'true' quando a rota de uma remessa é alterada significativamente depois de ela já ter sido planejada e reservada. Isso pode ocorrer por solicitação do cliente, imprevistos ou oportunidades de otimização. Este atributo contribui diretamente para o KPI de taxa de remessas com rota alterada e para o Dashboard de insights sobre alterações de rota e expedições. Acompanhar a frequência dessas alterações ajuda a identificar problemas subjacentes no planejamento ou na execução. Isso evidencia instabilidades operacionais e custos associados, permitindo que os gestores encontrem maneiras de reduzir mudanças dispendiosas e disruptivas. Por que isso importa Ajuda a quantificar a frequência e o impacto de exceções operacionais, como alterações de rota, e evidencia ineficiências no planejamento e na execução. Onde encontrar Esta sinalização é calculada pela identificação de eventos específicos de alteração de rota no Event Log ou pela comparação entre a rota final e a rota planejada inicialmente. Exemplos truefalse | |||
| Sistema de origem SourceSystem | Identifica o sistema de origem dos dados do evento, como o Oracle Transportation Management. | ||
| Descrição Este atributo especifica o aplicativo de origem em que os dados foram gerados. Em um ambiente logístico complexo, os dados podem vir do OTM, de um sistema de gestão de armazéns (WMS), do sistema de uma transportadora via EDI ou de outras plataformas integradas. Conhecer o sistema de origem é importante para a governança e a avaliação da qualidade dos dados, além da resolução de problemas. Isso ajuda a entender o contexto dos dados e pode explicar diferenças no nível de detalhe ou na atualização das informações. Na análise, é possível filtrar eventos provenientes apenas de um sistema específico e confiável. Por que isso importa Fornece contexto essencial sobre a origem dos dados, importante para validá-los e analisá-los em ambientes com vários sistemas. Onde encontrar Em geral, é um valor estático adicionado durante a extração dos dados para identificar a origem dos registros. Exemplos Oracle OTMOTM CloudSAP TM | |||
| Status do envio ShipmentStatus | Status atual geral do envio no ciclo, como 'Planejado', 'Em trânsito' ou 'Entregue'. | ||
| Descrição Este atributo resume em que etapa do processo está o envio. Diferentemente de uma atividade, que é um evento pontual, o status representa o estado do caso do envio. Embora o Process Mining se concentre no fluxo de atividades, o status geral é útil para filtrar casos e contextualizar os Dashboards. Por exemplo, uma análise pode se concentrar apenas nos envios 'Concluídos' ou investigar por que tantos envios permanecem no status 'Em trânsito' por um período incomumente longo. Por que isso importa Resume o andamento do envio e é útil para filtrar e segmentar casos na análise. Onde encontrar Disponível no registro principal do envio no OTM, representa o estado atual no fluxo de trabalho. Exemplos PLANEJADORESERVADOEM_TRÂNSITOENTREGUE | |||
| Tipo de envio ShipmentType | Classificação do envio, por exemplo, por nível de serviço, tipo de mercadoria ou unidade de negócio. | ||
| Descrição Este atributo classifica a remessa de acordo com as necessidades do negócio, por exemplo, como 'Padrão', 'Expedida', 'Materiais perigosos' ou 'Entre empresas'. Essa classificação ajuda a aplicar diferentes regras de negócio, prioridades e perspectivas analíticas. Usar o tipo de remessa como dimensão na mineração de processos permite comparar os processos de diferentes tipos de remessa. Isso pode revelar se determinados tipos estão mais sujeitos a atrasos, têm custos mais altos ou seguem caminhos fora do padrão. Esses insights ajudam a adaptar os processos às necessidades específicas de cada tipo de remessa. Por que isso importa Permite segmentar a análise de acordo com o contexto do negócio e entender se diferentes tipos de remessa seguem processos distintos ou apresentam níveis de performance diferentes. Onde encontrar Geralmente, é um campo configurável ou atributo no registro da remessa ou do pedido no OTM. Exemplos PadrãoExpedidaInternacionalNacional | |||
| Última atualização dos dados LastDataUpdate | Data e hora que indicam a última atualização ou extração dos dados deste evento no sistema de origem. | ||
| Descrição Este atributo registra quando os dados foram extraídos mais recentemente do Oracle Transportation Management. Ele indica o nível de atualização dos dados analisados, não o momento em que o evento de negócio ocorreu. Esta data e hora são essenciais para entender a atualidade da análise de Process Mining. Elas ajudam a saber se você está consultando informações em tempo real ou um instantâneo de um momento específico. Também são importantes para gerenciar os ciclos de atualização dos dados e garantir que as decisões se baseiem em informações atuais. Por que isso importa Indica o nível de atualização dos dados, para que você saiba quão atual é a análise e quando está prevista a próxima atualização. Onde encontrar Em geral, é uma data e hora geradas pelo sistema e adicionadas durante a ingestão dos dados ou o processo de ETL. Exemplos 2023-11-01T02:00:00Z2023-11-02T02:00:00Z | |||
Atividades de gestão do transporte
| Atividade | Descrição | ||
|---|---|---|---|
| Comprovante de entrega recebido | Representa o recebimento e o registro da confirmação formal de que a entrega foi concluída, como um documento assinado. Muitas vezes, isso é registrado como um tipo específico de documento anexado ao envio. | ||
| Por que isso importa O POD é essencial para o faturamento e a resolução de disputas. Acompanhar seu recebimento ajuda a garantir a conformidade do processo e acelera o ciclo de liquidação financeira. Onde encontrar Pode ser um evento explícito ou ser inferido pela data de criação de um documento POD vinculado ao envio. Procure na tabela DOCUMENT documentos do tipo POD. Coleta Use a data e hora de criação de um documento do tipo 'POD' associado ao envio. Tipo de evento explicit | |||
| Envio planejado | Esta atividade representa o planejamento bem-sucedido de uma ou mais liberações de pedido em um envio viável pelo mecanismo de planejamento do OTM. Ela é capturada quando o sistema altera o status do envio para indicar que ele foi planejado, por exemplo, 'PLANNING_PLANNED FINAL'. | ||
| Por que isso importa Este é um marco importante que separa a fase de demanda da fase de execução. Analisar o tempo até esta atividade ajuda a identificar a eficiência do planejamento e gargalos de performance do mecanismo. Onde encontrar Inferido do histórico de status do objeto Shipment na tabela SHIPMENT. Procure uma alteração para um status que indique a conclusão do planejamento. Coleta Identifique a data e hora em que SHIPMENT.SHIPMENT_STATUS_VALUE_GID muda para o status 'Planned'. Tipo de evento inferred | |||
| Mercadoria coletada | Esta atividade marca o início do transporte físico, quando a transportadora coleta a mercadoria na origem. O evento é capturado quando a primeira parada do envio recebe o status 'DEPARTED'. | ||
| Por que isso importa Este é um marco essencial que indica o início da etapa de transporte. Ele é fundamental para acompanhar a performance de coleta da transportadora e os tempos reais de trânsito. Onde encontrar Inferido pela alteração do status da primeira parada na tabela SHIPMENT_STOP para 'DEPARTED' ou pelo acompanhamento de um evento de status do envio que indique a coleta. Coleta Use a data e hora ACTUAL_DEPARTURE do primeiro registro do envio na tabela SHIPMENT_STOP. Tipo de evento inferred | |||
| Mercadoria entregue | Esta atividade representa a entrega bem-sucedida do envio ao destinatário no destino final. Ela é capturada quando a última parada do envio recebe um horário real de chegada. | ||
| Por que isso importa Este é o principal marco para medir a performance de entrega no prazo e o tempo de ciclo de ponta a ponta. Ele marca a conclusão do processo de execução do transporte. Onde encontrar Inferido pelo preenchimento do campo ACTUAL_ARRIVAL no registro da última parada do envio na tabela SHIPMENT_STOP. Coleta Use a data e hora ACTUAL_ARRIVAL do último registro do envio na tabela SHIPMENT_STOP. Tipo de evento inferred | |||
| Pagamento processado | Esta é a atividade final, que representa o processamento bem-sucedido do pagamento à transportadora pelos serviços prestados. O evento marca o encerramento financeiro do envio. | ||
| Por que isso importa Esta atividade conclui o ciclo de transporte. Ela é essencial para medir os tempos de processamento dos pagamentos às transportadoras e gerenciar esses relacionamentos com eficiência. Onde encontrar Inferido pela alteração do status do voucher ou da fatura associada para 'PAID'. Esses dados estão nas tabelas VOUCHER ou BILL. Coleta Identifique a data e hora em que VOUCHER.VOUCHER_STATUS_ID muda para 'PAID'. Tipo de evento inferred | |||
| Solicitação de transporte recebida | Esta atividade marca a criação de uma necessidade de transporte no sistema, geralmente registrada como uma liberação de pedido. O evento é capturado quando um novo registro de liberação de pedido é criado no Oracle Transportation Management, representando a demanda inicial pelo envio. | ||
| Por que isso importa Como ponto de partida do processo, esta atividade é essencial para medir o tempo total de ciclo de ponta a ponta e entender os padrões de demanda. Ela ajuda a analisar o tempo entre a solicitação e o planejamento. Onde encontrar Este é um evento explícito, capturado a partir da data e hora de criação do registro de liberação de pedido na tabela ORDER_RELEASE. É possível usar INSERT_DATE ou campos específicos de data de criação. Coleta Use a data e hora de criação da liberação de pedido na tabela ORDER_RELEASE. Tipo de evento explicit | |||
| Agendamento da coleta | Esta atividade indica que uma data e um horário específicos para a coleta foram agendados e registrados. Muitas vezes, ela é identificada nos dados de agendamento da parada do envio. | ||
| Por que isso importa O agendamento de horários é uma etapa importante de coordenação. Analisá-la ajuda a entender a eficiência do agendamento e seu impacto na pontualidade da coleta. Onde encontrar Inferido pelo preenchimento dos campos de data e horário do agendamento da primeira parada (local de coleta) do envio, registrados na tabela SHIPMENT_STOP. Coleta Use a data e hora em que os campos de agendamento são preenchidos pela primeira vez para a parada de coleta. Tipo de evento inferred | |||
| Agendamento da entrega | Esta atividade marca o agendamento de uma data e um horário específicos para a entrega com o destinatário. O evento é capturado nos dados de agendamento da parada final do envio. | ||
| Por que isso importa Esta é uma etapa importante para coordenar a entrega final. Analisar o tempo entre a chegada e a entrega agendada pode revelar gargalos nas operações de última milha. Onde encontrar Inferido pelo preenchimento dos campos de data e horário do agendamento da parada final (local de entrega) do envio, registrados na tabela SHIPMENT_STOP. Coleta Use a data e hora em que os campos de agendamento são preenchidos pela primeira vez para a parada de entrega. Tipo de evento inferred | |||
| Auditoria da fatura de frete concluída | Esta atividade marca a conclusão da auditoria da fatura de frete, na qual a fatura da transportadora é comparada e conferida com os detalhes do envio. Ela é registrada quando o status da fatura do envio muda para 'VOUCHER_AUDITED' ou um estado semelhante. | ||
| Por que isso importa A auditoria é essencial para o controle financeiro e a identificação de divergências no faturamento. Analisar esta atividade ajuda a simplificar o processo de auditoria e pagamento e dá suporte ao KPI de taxa de divergências em faturas de frete. Onde encontrar Inferido pela alteração de status do objeto Bill associado ao envio. Procure na tabela BILL atualizações de status relacionadas à conclusão da auditoria. Coleta Identifique a data e hora em que BILL.BILL_STATUS_VALUE_GID muda para o status 'Audited'. Tipo de evento inferred | |||
| Envio cancelado | Representa o cancelamento de um envio após o planejamento, encerrando seu ciclo antes do previsto. É registrado por uma alteração do status do objeto Shipment para um estado de cancelamento. | ||
| Por que isso importa Acompanhar cancelamentos é importante para entender exceções e falhas no processo. Isso ajuda a identificar os motivos do cancelamento, como mudanças na demanda ou erros de planejamento. Onde encontrar Inferido do histórico de status do objeto Shipment na tabela SHIPMENT. Procure uma alteração para um status como 'PLANNING_CANCELED'. Coleta Identifique a data e hora em que SHIPMENT.SHIPMENT_STATUS_VALUE_GID muda para o status 'Cancelled'. Tipo de evento inferred | |||
| Envio em trânsito | Indica que a mercadoria foi coletada e está a caminho do destino. Não se trata de um único instante, mas o início desse estado é registrado logo após a atividade 'Mercadoria coletada'. | ||
| Por que isso importa Esta atividade marca o início da etapa de trânsito, essencial para acompanhar o progresso da entrega e identificar atrasos durante o transporte. Ela é a base do Dashboard de pontos críticos de atraso em trânsito. Onde encontrar Este é o mesmo evento que 'Mercadoria coletada', mas costuma aparecer como uma atividade distinta nos modelos de processo para indicar o início de uma nova etapa. Ele é derivado da partida da primeira parada. Coleta Igual a 'Mercadoria coletada': use a data e hora ACTUAL_DEPARTURE da primeira SHIPMENT_STOP. Tipo de evento inferred | |||
| Envio reservado | Representa a confirmação formal da reserva com a transportadora após uma oferta bem-sucedida. Em geral, é capturado quando o status do envio é atualizado para 'SECURE RESOURCES_BOOKED' ou um status equivalente. | ||
| Por que isso importa Esta etapa confirma o compromisso da transportadora e marca oficialmente o início da fase de execução do envio. É essencial para medir o KPI de tempo de ciclo do planejamento do envio. Onde encontrar Inferido de uma alteração de status no objeto Shipment na tabela SHIPMENT, identificando quando ele passa para um status confirmado ou reservado após a atribuição da transportadora. Coleta Identifique a data e hora em que SHIPMENT.SHIPMENT_STATUS_VALUE_GID muda para o status 'Booked'. Tipo de evento inferred | |||
| Liberação alfandegária concluída | Em envios internacionais, esta atividade representa o momento em que a mercadoria passa pela alfândega em uma fronteira ou porto. Em geral, ela é registrada por um evento específico do envio ou por uma atualização de status. | ||
| Por que isso importa A liberação alfandegária é uma causa frequente de atrasos significativos na logística internacional. Acompanhar esta atividade ajuda a medir e otimizar os tempos de ciclo da liberação alfandegária. Onde encontrar Este evento costuma ser registrado por meio de um evento de envio 'Customs' inserido manualmente ou integrado. Procure códigos de evento específicos relacionados à alfândega na tabela SHIPMENT_STATUS. Coleta Identifique a data e hora de um evento 'Liberação alfandegária concluída' na tabela SHIPMENT_STATUS. Tipo de evento explicit | |||
| Transportadora atribuída | Este marco indica que o envio foi oferecido com sucesso a uma transportadora específica e aceito por ela. Ele é identificado pela alteração do status da oferta do envio para 'TENDER_ACCEPTED' ou um estado semelhante. | ||
| Por que isso importa Acompanhar esta etapa ajuda a analisar a eficiência da seleção de transportadoras e do processo de oferta. Atrasos aqui podem afetar significativamente o cronograma geral antes mesmo de o envio começar a se deslocar. Onde encontrar Inferido do histórico de status na tabela SHIPMENT_TENDER, identificando especificamente a data e hora em que o status indica a aceitação por uma transportadora. Coleta Use a data e hora da alteração para 'TENDER_ACCEPTED' no histórico de ofertas do envio. Tipo de evento inferred | |||
Guias de extração
Etapas
- Acesse o BI Publisher: Entre no aplicativo Oracle Transportation Management (OTM). Acesse Business Process Automation, depois Reporting e selecione Report Manager. A interface do Oracle Business Intelligence Publisher será aberta.
- Crie um modelo de dados: No BI Publisher, clique no botão New e selecione Data Model. O editor de modelos de dados será aberto para você definir a fonte de dados do relatório.
- Defina a consulta SQL: No editor do modelo de dados, clique no ícone de adição no diagrama Data Sets e selecione SQL Query. Dê um nome ao conjunto de dados, por exemplo, 'OTM_Process_Mining_DS'. Selecione o banco de dados do OTM como Data Source. Copie a consulta SQL completa fornecida na seção 'query' deste documento e cole-a na caixa de texto SQL Query.
- Adicione parâmetros: A consulta usa parâmetros para o período e o nome do domínio (:P_START_DATE, :P_END_DATE, :P_DOMAIN_NAME). O BI Publisher os detectará automaticamente. Você pode configurar propriedades como o tipo de dados Date para os parâmetros de data.
- Salve o modelo de dados: Clique no ícone Save. Escolha um local no catálogo do BI Publisher, informe um nome descritivo, como 'OTM Shipment Process Extraction', e salve o modelo de dados.
- Crie o relatório: Volte ao catálogo, clique no botão New e selecione Report. No assistente de criação de relatórios, selecione a opção 'Use Data Model' e localize o modelo de dados que você acabou de salvar.
- Configure o layout do relatório: O assistente orientará você na criação do layout. Um layout simples do tipo 'Table' é suficiente. Arraste todas as colunas do conjunto de dados para a tabela. Não faça agrupamentos nem agregações.
- Salve o relatório: Depois de configurar o layout, avance até a etapa final e salve o relatório. Dê a ele um nome semelhante ao do modelo de dados.
- Execute o relatório: Abra o relatório recém-criado. Você precisará informar os valores dos parâmetros (Start Date, End Date, Domain Name). Insira o período desejado.
- Exporte os dados: Quando o relatório for executado e os dados forem exibidos, clique no menu Actions e selecione Export. Escolha o formato CSV. Será baixado um arquivo CSV com o Event Log.
- Prepare o arquivo para carregamento: Abra o arquivo CSV baixado. Confira se os cabeçalhos das colunas correspondem aos atributos necessários:
ShipmentId,ActivityName,EventTimee os atributos recomendados. Verifique se a colunaEventTimeusa um formato consistente de data e hora. O arquivo está pronto para ser carregado no ProcessMind.
Configuração
- Fonte de dados: A consulta deve ser executada no esquema do banco de dados operacional principal do OTM, geralmente chamado GLOGOWNER.
- Parâmetros do relatório:
P_START_DATE: Início do período do relatório. Use o formato 'YYYY-MM-DD'.P_END_DATE: Fim do período do relatório. Use o formato 'YYYY-MM-DD'.P_DOMAIN_NAME: Domínio específico do OTM do qual os dados serão extraídos. Use '[Your Domain Name]'.
- Período: Para a análise inicial, recomendamos extrair dados de um período de 3 a 6 meses, equilibrando o volume de dados e a performance. Em execuções de produção, considere extrair os dados em lotes mensais ou trimestrais.
- Permissões: O usuário do OTM que executa o relatório precisa de funções específicas, como BI PUBLISHER DATA MODEL DEVELOPER e BI PUBLISHER REPORT DEVELOPER, para criar e modificar modelos de dados e relatórios. Também é necessário ter acesso somente leitura às tabelas do banco de dados subjacente.
- Performance: A consulta combina várias tabelas grandes. Em ambientes com grande volume de dados, recomendamos executá-la fora dos horários de pico para evitar impactos na performance do sistema. Mantenha o período o mais curto possível para que o relatório seja concluído em tempo hábil.
Consulta de exemplo 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' Etapas
- Estabeleça a conexão com o banco de dados: Obtenha credenciais somente leitura e os dados de conexão (host, porta e ID do serviço) do banco de dados do Oracle Transportation Management. Você precisará acessar o esquema
GLOGOWNER. - Configure o cliente SQL: Configure uma ferramenta cliente SQL, como Oracle SQL Developer, DBeaver ou Toad, com os dados de conexão do banco de dados obtidos na etapa anterior.
- Prepare a consulta: Copie a consulta SQL completa fornecida neste documento para o editor de consultas do cliente SQL.
- Defina os parâmetros da consulta: Localize os valores de espaço reservado nas cláusulas
WHEREda consulta. Substitua[START_DATE],[END_DATE]e[YOUR_DOMAIN_NAME]pelos valores adequados para a extração. Por exemplo, defina as datas para abranger um período de 3 a 6 meses e informe o domínio operacional que você quer analisar. - Execute a consulta: Execute a consulta SQL atualizada. Dependendo do período e do tamanho do sistema, a execução pode levar alguns minutos.
- Confira os resultados: Quando a consulta terminar, confira rapidamente os resultados no cliente para verificar se há linhas retornadas e se colunas importantes, como
ShipmentId,ActivityNameeEventTime, estão preenchidas. - Exporte para CSV: Exporte todo o conjunto de resultados para um arquivo CSV. Use as configurações padrão de CSV: vírgula como delimitador, aspas duplas para textos e codificação UTF-8.
- Confira os cabeçalhos das colunas: Antes de carregar o arquivo, verifique se os cabeçalhos das colunas no CSV correspondem exatamente aos nomes dos atributos necessários:
ShipmentId,ActivityName,EventTime,CarrierName,RequestedDeliveryDate,ShipmentCost,TransportationModeeDelayReason. - Carregue no ProcessMind: O arquivo CSV preparado está pronto para ser carregado e analisado no ProcessMind.
Configuração
- Esquema do banco de dados: A consulta foi criada para ser executada no esquema padrão do banco de dados do Oracle Transportation Management, geralmente chamado
GLOGOWNER. - Autorizações necessárias: É necessário que um usuário do banco de dados tenha acesso somente leitura às tabelas mencionadas na consulta. Elas incluem
SHIPMENT,SHIPMENT_STOP,ORDER_RELEASE,SHIPMENT_STATUS,SERVPROV,SHIPMENT_COST,DOCUMENT,BILLeVOUCHER. - Filtro por domínio: É essencial filtrar por
DOMAIN_NAMEem um ambiente OTM com vários ambientes (tenants). A consulta inclui o espaço reservado[YOUR_DOMAIN_NAME], que deve ser configurado para extrair os dados da entidade de negócio correta. - Período: Para controlar a performance e o volume de dados, informe uma data inicial e uma data final. Recomendamos filtrar por uma coluna indexada, como
SHIPMENT.INSERT_DATE. Para uma análise inicial, é comum usar um período de 3 a 6 meses. - Personalização dos códigos de status: A consulta usa códigos de status padrão comuns, como
PLANNING_PLANNED FINALeTENDER_ACCEPTED. Sua implementação do OTM pode usar códigos personalizados. Talvez seja necessário ajustar os valores nas cláusulasWHEREpara corresponder à configuração do seu sistema.
Consulta de exemplo 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%'; Pronto para começar?
Use este Template para transformar dados brutos em insights acionáveis e promover melhorias significativas nos processos de transporte. Comece hoje a otimizar suas operações.
Otimize hoje a gestão do transporte
Reduza o tempo de ciclo em 30% e elimine gargalos no Oracle OTM.
Não é necessário informar cartão de crédito • Teste grátis por 14 dias