Su Plantilla de Datos de Mantenimiento de Activos
Su Plantilla de Datos de Mantenimiento de Activos
- Campos de datos esenciales para los registros de mantenimiento
- Hitos de proceso estándar y etapas de órdenes de trabajo
- Lógica de extracción técnica para Hexagon EAM
Atributos de Mantenimiento de Activos
| Nombre | Descripción | ||
|---|---|---|---|
| Actividad ActivityName | La tarea específica o el evento de cambio de estado que ocurrió. | ||
| Descripción Este atributo denota el paso del proceso que se está realizando, como 'Orden de Trabajo Creada' o 'Material Emitido'. Se deriva del historial de cambios de estado o de eventos transaccionales específicos registrados contra la orden de trabajo. Por qué es importante Define la secuencia del registro de eventos, permitiendo la reconstrucción del flujo de proceso y el análisis de cuellos de botella. Dónde obtener Tabla Hexagon EAM R5EVENTHISTORY, campo EVH_STATUS (mapeado a descripciones) o registros de auditoría Ejemplos Orden de Trabajo CreadaOrden de Trabajo ProgramadaOrden de Trabajo CompletadaMaterial Emitido | |||
| Orden de Trabajo de Mantenimiento WorkOrderNumber | El identificador único para la orden de trabajo de mantenimiento. | ||
| Descripción Este atributo representa la clave principal única para el caso de mantenimiento. Rastrea la orden de trabajo desde la solicitud inicial a través de la planificación, ejecución y cierre financiero final. Se utiliza como el identificador central del caso para unir registros de actividad, horas de mano de obra y consumo de material. Por qué es importante Identifica la instancia específica del proceso de mantenimiento, permitiendo el seguimiento de principio a fin de los tiempos de ciclo y las variantes del proceso. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_CODE Ejemplos WO-100234WO-100235WO-100236104592 | |||
| Source System SourceSystem | El nombre del sistema donde se originaron los datos. | ||
| Descripción Este atributo indica el sistema de registro para los datos. En este contexto, está programado para el nombre específico del sistema EAM para distinguirlo de posibles datos heredados o sistemas de contratistas externos. Por qué es importante Asegura que el linaje de datos sea claro, especialmente al fusionar datos de múltiples instancias de mantenimiento. Dónde obtener Valor codificado Ejemplos Hexagon EAMInfor EAMDatastream 7i | |||
| Timestamp EventTimestamp | La fecha y hora en que ocurrió la actividad. | ||
| Descripción Este atributo registra el momento exacto en que un evento o cambio de estado fue comprometido con el sistema. Permite el cálculo de la duración entre actividades y el tiempo de ciclo general de la orden de trabajo. Por qué es importante Las marcas de tiempo precisas son esenciales para analizar los tiempos de entrega, identificar retrasos y calcular el cumplimiento de los SLA. Dónde obtener Tabla Hexagon EAM R5EVENTHISTORY, campo EVH_DATE Ejemplos 2023-10-12T08:30:00Z2023-10-12T14:15:00Z2023-10-13T09:00:00Z | |||
| Última actualización de datos LastDataUpdate | La timestamp en que el registro fue extraído o actualizado por última vez. | ||
| Descripción Este atributo rastrea cuándo se extrajeron los datos por última vez del sistema de origen. Ayuda a los analistas a comprender la frescura de los datos e identificar posibles problemas de latencia en la cadena de informes. Por qué es importante Proporciona confianza en la actualidad del análisis y ayuda a depurar problemas de sincronización de datos. Dónde obtener Hora del sistema al extraer Ejemplos 2023-10-25T12:00:00Z2023-10-26T00:00:00Z | |||
| Activo AssetCode | El identificador único del equipo o instalación que se mantiene. | ||
| Descripción Este atributo vincula la orden de trabajo a una pieza específica de equipo o ubicación. Permite el análisis de las frecuencias de fallas por activo y ayuda a identificar 'actores problemáticos' o equipos que requieren reemplazo. Por qué es importante Es fundamental para calcular las métricas de fiabilidad de los activos y comprender dónde se concentra el esfuerzo de mantenimiento. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_OBJECT Ejemplos PUMP-001HVAC-204FLEET-99CONVEYOR-A | |||
| Departamento MaintenanceDepartment | El departamento o centro de trabajo responsable de ejecutar la labor. | ||
| Descripción Este atributo identifica al equipo o taller de mantenimiento asignado a la orden de trabajo, como Electricidad, Mecánica o Instalaciones. Permite la evaluación comparativa del rendimiento entre diferentes equipos técnicos. Por qué es importante Soporta el dashboard de Productividad de la Mano de Obra Técnica y ayuda a asignar recursos de manera efectiva entre diferentes oficios. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_MRC Ejemplos Taller EléctricoMantenimiento MecánicoInstalacionesServicio de Flota | |||
| Fecha Objetivo de Finalización TargetCompletionDate | La fecha límite programada para la orden de trabajo. | ||
| Descripción Este atributo representa la fecha en que se espera que finalice el trabajo de mantenimiento. Comparar esta fecha con la fecha de finalización real es primordial para calcular el cumplimiento de los SLA y el rendimiento a tiempo. Por qué es importante Es crítico para el Monitor de Cumplimiento de SLA del Contratista y para evaluar la precisión de la planificación. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_TARGET Ejemplos 2023-11-012023-11-152023-12-01 | |||
| Horas de Mano de Obra Reales ActualLaborHours | El número total de horas registradas para la orden de trabajo. | ||
| Descripción Este atributo suma el tiempo que los técnicos han registrado contra la orden de trabajo. Se utiliza para medir la productividad, calcular los costes de mano de obra y analizar la varianza frente a las horas estimadas. Por qué es importante Es la fuente de datos principal para el dashboard de Productividad de la Mano de Obra Técnica y el KPI de Varianza de Horas de Mano de Obra. Dónde obtener Tabla Hexagon EAM R5BOOKEDHOURS, campo BOO_HOURS (Sumado por Orden de Trabajo) Ejemplos 2.54.012.00.5 | |||
| Prioridad PriorityCode | El nivel de urgencia asignado a la orden de trabajo. | ||
| Descripción Este atributo indica la importancia de la orden de trabajo, que va desde rutinaria hasta de emergencia. Impulsa la programación de recursos y es crucial para monitorear el cumplimiento de los SLA y detectar abusos de prioridad. Por qué es importante Es esencial para el dashboard de Escalada de Prioridades y Auditoría de Recursos para asegurar que las tareas críticas se prioricen correctamente. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_PRIORITY Ejemplos CríticoAltoMedioBajo | |||
| Tipo de Orden de Trabajo WorkOrderType | Categoriza la orden de trabajo como preventiva, correctiva o de emergencia. | ||
| Descripción Este atributo clasifica la naturaleza del trabajo de mantenimiento. Se utiliza para analizar la proporción de mantenimiento preventivo planificado frente a reparaciones de emergencia reactivas, lo cual es un indicador clave de la salud de los activos y la madurez de la gestión. Por qué es importante Soporta el dashboard de Análisis de la Proporción de Mantenimiento Preventivo y ayuda a identificar oportunidades para reducir el trabajo reactivo. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_TYPE Ejemplos PPMCOREMGPRJ | |||
| Usuario UpdatedBy | El ID de usuario de la persona que realizó la actividad. | ||
| Descripción Este atributo captura el ID de login de la persona responsable de desencadenar el cambio de estado o la actualización. Se utiliza para analizar la carga de trabajo del equipo, identificar necesidades de capacitación y auditar el cumplimiento del proceso. Por qué es importante Permite el análisis del comportamiento del usuario y la utilización de recursos a lo largo del ciclo de vida del mantenimiento. Dónde obtener Tabla Hexagon EAM R5EVENTHISTORY, campo EVH_USER Ejemplos JSMITHADAVISSYSTEMMGR_USR | |||
| ¿Es Retrabajo? IsRework | Bandera que indica si la orden de trabajo implicó tareas técnicas repetidas. | ||
| Descripción Este atributo calculado identifica casos en los que el proceso regresa de una revisión de calidad o un estado de finalización a un estado de trabajo activo. Ayuda a identificar problemas de calidad y brechas de capacitación. Por qué es importante Impulsa el dashboard de Retrabajo Técnico y Control de Calidad y el KPI de Tasa de Retrabajo de Mantenimiento. Dónde obtener Calculado en base a las repeticiones de actividad Ejemplos truefalse | |||
| Control de Calidad Aprobado QualityControlPassed | Bandera que indica si se documentó el paso de Control de Calidad. | ||
| Descripción Este atributo booleano verifica si una actividad específica de control de calidad o un elemento de la lista de verificación fue marcado como completado. Asegura el cumplimiento de las normativas de seguridad y los estándares internos. Por qué es importante Impulsa el KPI de Tasa de Cumplimiento de Control de Calidad y soporta el dashboard de Integridad de Cumplimiento y Documentación. Dónde obtener Derivado de las tablas de Checklist o del Historial de Actividad Ejemplos truefalse | |||
| Coste Total Real TotalActualCost | El coste financiero total registrado para la orden de trabajo. | ||
| Descripción Este atributo captura el coste agregado de mano de obra, materiales y servicios. Es esencial para el análisis de liquidación financiera y para comprender el impacto de los costes del mantenimiento de emergencia frente al mantenimiento preventivo. Por qué es importante Soporta el dashboard de Velocidad de Liquidación Financiera y Cierre y la toma de decisiones basada en costes. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_ACTCOST (o columna de resumen similar) Ejemplos 150.002500.5075.25 | |||
| Criticidad del Activo AssetCriticality | Una puntuación que indica la importancia operativa del activo. | ||
| Descripción Este atributo indica cuán crítico es el activo para las operaciones del negocio. A menudo se utiliza para validar si las órdenes de trabajo de alta prioridad están genuinamente asociadas con equipos críticos, destacando posibles abusos del proceso. Por qué es importante Soporta el dashboard de Escalada de Prioridades y Auditoría de Recursos correlacionando la prioridad con el valor del activo. Dónde obtener Tabla Hexagon EAM R5OBJECTS, campo OBJ_CRITICALITY (requiere unión en EVT_OBJECT) Ejemplos A - VitalB - CríticoC - SecundarioD - Baja | |||
| Descripción de la Orden de Trabajo WorkOrderDescription | Un breve resumen de texto de la tarea de mantenimiento. | ||
| Descripción Este atributo contiene la línea de asunto o una descripción corta del problema. Proporciona contexto a los analistas al profundizar en casos problemáticos específicos o identificar patrones en texto no estructurado. Por qué es importante Proporciona el contexto necesario para la revisión humana de los datos del proceso. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_DESC Ejemplos Reparar sello de bomba con fugaInspección Mensual de HVACReemplazar cinta transportadora | |||
| Es Preventivo IsPreventive | Bandera que indica si la orden de trabajo es de mantenimiento preventivo. | ||
| Descripción Este atributo booleano permite una fácil filtración y categorización de las órdenes de trabajo. Simplifica el cálculo del KPI de Ratio de Mantenimiento Preventivo al separar el trabajo proactivo de las reparaciones reactivas. Por qué es importante Es una segmentación fundamental para el dashboard de Análisis de la Proporción de Mantenimiento Preventivo. Dónde obtener Derived from WorkOrderType Ejemplos truefalse | |||
| Escalada de Emergencia EmergencyEscalationFlag | Bandera que indica si la prioridad se elevó a Emergencia después de la creación. | ||
| Descripción Este atributo booleano identifica órdenes de trabajo que comenzaron con una prioridad más baja pero que luego fueron actualizadas a Emergencia. Ocurrencias frecuentes pueden indicar una mala clasificación inicial o manipulación del sistema para obtener un servicio más rápido. Por qué es importante Soporta el dashboard de Escalada de Prioridades y Auditoría de Recursos y el KPI de Tasa de Escalada de Emergencia. Dónde obtener Derivado del rastro de auditoría del campo Prioridad Ejemplos truefalse | |||
| Estado del SLA SLAState | Indica si la orden de trabajo cumplió con su acuerdo de nivel de servicio. | ||
| Descripción Este atributo calculado compara la Fecha de Finalización Real con la Fecha de Finalización Objetivo. Categoriza el caso como 'Dentro del SLA' o 'Incumplido' para simplificar los informes sobre el rendimiento del contratista y el interno. Por qué es importante Es la fuente de datos directa para el KPI de Tasa de Cumplimiento de SLA. Dónde obtener Calculado: Fecha de Fin Real <= Fecha Objetivo Ejemplos Dentro del SLAIncumplidoAbierto | |||
| Fecha de Creación DateCreated | La fecha en que se generó originalmente la orden de trabajo. | ||
| Descripción Este atributo marca el comienzo del ciclo de vida de la orden de trabajo. Es la base para calcular el Tiempo Medio de Planificación y determinar la antigüedad de los elementos del backlog. Por qué es importante Es requerido para el dashboard de Velocidad de Planificación de Mantenimiento y el KPI de Antigüedad del Backlog. Dónde obtener Tabla Hexagon EAM R5EVENTS, campo EVT_CREATED Ejemplos 2023-09-012023-09-15 | |||
| Fecha de Solicitud de Material MaterialRequisitionDate | La fecha en que se solicitaron los repuestos. | ||
| Descripción Este atributo captura la timestamp en que la solicitud de material fue enviada al almacén o a compras. Analizar el tiempo desde esta fecha hasta 'Material Issued' revela la eficiencia de la cadena de suministro. Por qué es importante Es necesario para el dashboard de Tiempos de Entrega de Adquisición de Repuestos. Dónde obtener Tabla Hexagon EAM R5REQUISITIONS o tabla de transacciones vinculada Ejemplos 2023-10-012023-10-05 | |||
Actividades de Mantenimiento de Activos
| Actividad | Descripción | ||
|---|---|---|---|
| Horas de Mano de Obra Registradas | Un técnico registra las horas trabajadas en la orden de trabajo. Esta actividad puede ocurrir varias veces por caso. | ||
| Por qué es importante Base para los dashboards de Varianza de Horas de Mano de Obra y Productividad de la Mano de Obra Técnica. Revela el esfuerzo real versus el plan. Dónde obtener Tabla Hexagon EAM r5booklabor. Cada fila representa una entrada de hoja de tiempo para la Orden de Trabajo. Capturar Registrado cuando se ejecuta la transacción INSERT en r5booklabor Tipo de evento explicit | |||
| Material Emitido | Los repuestos se emiten físicamente desde el almacén y se cargan a la orden de trabajo. Esto representa el consumo de material. | ||
| Por qué es importante Punto final para el Tiempo de Entrega de Disponibilidad de Materiales. Identifique los retrasos donde el trabajo comienza pero se detiene debido a la falta de piezas. Dónde obtener Tabla Hexagon EAM r5translines. Tipo de transacción 'I' (Emisión) vinculado a la orden de trabajo. Capturar Registrado cuando se ejecuta la transacción INSERT en r5translines Tipo de evento explicit | |||
| Orden de Trabajo Aprobada | El cambio de estado que indica que la orden de trabajo ha superado la revisión de planificación y estimación. Significa que el trabajo está autorizado para proceder. | ||
| Por qué es importante Apoya el análisis de la Velocidad de Planificación del Mantenimiento al marcar el final de la fase de planificación. Verificación de cumplimiento de la separación de funciones. Dónde obtener Tabla Hexagon EAM r5statuslog. Busque la transición al estado 'A' (Aprobado) o su equivalente en el sistema. Capturar Registrado cuando se ejecuta la transacción en r5statuslog Tipo de evento explicit | |||
| Orden de Trabajo Cerrada | La orden de trabajo está bloqueada financieramente y archivada. No se pueden registrar más costes ni mano de obra. | ||
| Por qué es importante Fin del Proceso. Crucial para el análisis de la liquidación financiera procesada y el cierre de costes finales. Dónde obtener Hexagon EAM r5statuslog. Transición a 'C' (Cerrado) o 'L' (Bloqueado/Cerrado). Capturar Registrado cuando se ejecuta la transacción en r5statuslog Tipo de evento explicit | |||
| Orden de Trabajo Completada | El trabajo técnico ha finalizado y el técnico ha marcado la tarea como completa. El activo se devuelve al servicio. | ||
| Por qué es importante Hito clave para la Duración del Ciclo de Vida de Extremo a Extremo y el Tiempo Medio de Reparación. Detiene el reloj de inactividad. Dónde obtener Hexagon EAM r5statuslog. Transición a 'C' (Completado) o 'F' (Finalizado). Capturar Registrado cuando se ejecuta la transacción en r5statuslog Tipo de evento explicit | |||
| Orden de Trabajo Creada | La creación inicial del registro de la orden de trabajo de mantenimiento en el sistema. Este evento establece el caso y captura la timestamp inicial para todo el ciclo de vida del mantenimiento. | ||
| Por qué es importante Marca el inicio de la instancia del proceso y establece la línea base para medir el tiempo total de resolución. Crítico para calcular el envejecimiento del backlog. Dónde obtener Tabla Hexagon EAM r5events. Registrado cuando se inserta un nuevo registro con evt_code. Capturar Registrado cuando se ejecuta la transacción INSERT en r5events Tipo de evento explicit | |||
| Orden de Trabajo Iniciada | Los técnicos han comenzado el trabajo físico real en el activo. A menudo marcado por un cambio de estado a 'En Progreso' o la primera marca de tiempo de entrada de mano de obra. | ||
| Por qué es importante Punto final para el cálculo del backlog y punto inicial para el tiempo de trabajo. Vital para la Tasa de Cumplimiento de SLA. Dónde obtener Hexagon EAM r5statuslog. Transición a 'En Progreso' (a menudo código de estado 'I' o 'IP'). Capturar Registrado cuando se ejecuta la transacción en r5statuslog Tipo de evento explicit | |||
| Control de Calidad Aprobado | Un supervisor o inspector revisa el trabajo completado y aprueba la calidad. Este paso valida la reparación antes del cierre. | ||
| Por qué es importante Apoya el KPI de Tasa de Cumplimiento de Control de Calidad. Los bucles que regresan desde aquí indican retrabajo técnico. Dónde obtener Hexagon EAM r5statuslog (Transición a 'Revisión' o 'QC') o r5audittrail en validación UDF específica. Capturar Comparar campo de estado antes/después Tipo de evento inferred | |||
| Elemento de Lista de Verificación Verificado | Una tarea específica o un paso de inspección dentro de la orden de trabajo se marca como completado. Esto representa un progreso granular dentro del trabajo. | ||
| Por qué es importante Esencial para el Cumplimiento y la Integridad de la Documentación. Demuestra que las comprobaciones de seguridad se registraron sistemáticamente. Dónde obtener Tabla Hexagon EAM r5checklist o r5activities. Cambio de estado de un elemento de línea de actividad/tarea específico. Capturar Registrado cuando se ejecuta la transacción UPDATE en r5checklist Tipo de evento explicit | |||
| Orden de Trabajo Aprobada y Cerrada | Aprobación administrativa final, generalmente requerida para el cumplimiento o el pago al contratista. Confirma que todos los datos son precisos. | ||
| Por qué es importante Monitoree el Análisis del Ciclo de Aprobación de Órdenes de Trabajo. Los retrasos aquí afectan la velocidad de liquidación financiera. Dónde obtener Hexagon EAM r5statuslog (Transición a 'Validado') o registro de captura de firma electrónica. Capturar Comparar campo de estado antes/después Tipo de evento inferred | |||
| Orden de Trabajo Programada | A la orden de trabajo se le asigna una fecha de inicio programada o un recurso específico. Esto mueve la orden del backlog a la programación activa. | ||
| Por qué es importante Crítico para el análisis de Productividad de la Mano de Obra Técnica y para entender la eficiencia en la asignación de recursos. Dónde obtener Tabla Hexagon EAM r5events (actualización evt_schedstart) o r5statuslog (transición a 'S' - Programado). Capturar Compare el campo de estado antes/después o verifique la actualización de evt_schedstart Tipo de evento inferred | |||
| Prioridad Actualizada | Se produjo un cambio en el nivel de prioridad de la orden de trabajo después de su creación inicial. Esto captura la marca de tiempo y el nuevo valor de prioridad. | ||
| Por qué es importante Esencial para el dashboard de Escalada de Prioridades y Auditoría de Recursos para identificar el abuso de prioridades o la expansión del alcance. Dónde obtener Hexagon EAM r5audittrail (si la auditoría está habilitada) o inferido de instantáneas. A menudo derivado del registro de auditoría en el campo evt_priority. Capturar Registrado cuando se ejecuta la transacción UPDATE en evt_priority Tipo de evento explicit | |||
| Solicitud de Material Creada | Se vincula una solicitud de piezas de repuesto o materiales a la orden de trabajo. Esto inicia el subproceso de la cadena de suministro. | ||
| Por qué es importante Punto de inicio para los Tiempos de Entrega de Adquisición de Repuestos. Altos volúmenes aquí indican dependencia de la disponibilidad de inventario. Dónde obtener Tabla Hexagon EAM r5requisitions. Vinculado a través de req_evt (Código de Orden de Trabajo). Capturar Registrado cuando se ejecuta la transacción INSERT en r5requisitions Tipo de evento explicit | |||
Guías de Extracción
Pasos
- Inicie sesión en la aplicación Hexagon EAM con una cuenta de usuario que tenga privilegios de Autoría de Informes Avanzados.
- Navegue al módulo de Informes, generalmente en el menú Administración o Informes, e inicie la interfaz de Informes Avanzados (a menudo Cognos o un generador de informes SQL integrado).
- Inicie un nuevo asistente de creación de informes y seleccione 'SQL' o 'SQL de forma libre' como tipo de fuente de datos. Esto permite la consulta directa de la base de datos en lugar de utilizar el modelo de objeto de negocio estándar.
- Copie el script SQL proporcionado en la sección Consulta a continuación y péguelo en la ventana de definición del conjunto de datos.
- Reemplace los valores de marcador de posición (como [Su Código de Organización] y rangos de fechas) con valores específicos relevantes para su entorno.
- Valide la sintaxis de la consulta dentro del editor para asegurar que la plataforma de la base de datos (Oracle o SQL Server) acepte las sentencias UNION.
- Mapee las columnas resultantes a la lista de diseño del informe, asegurando que el NúmeroOrdenTrabajo, NombreActividad y MarcaDeTiempoEvento sean claramente visibles.
- Configure el informe para exportar específicamente a formato CSV o Excel para asegurar una estructura tabular sin celdas fusionadas ni encabezados con formato.
- Ejecute el informe para un período de validación (p. ej., las últimas 100 órdenes de trabajo) para verificar la estructura de datos.
- Una vez verificado, programe el informe para que se ejecute de forma recurrente o ejecútelo para la ventana de tiempo de extracción completa.
- Descargue el archivo de salida y verifique los formatos de fecha. Asegúrese de que las marcas de tiempo incluyan segundos, si es posible, para un orden preciso.
- Importe el archivo CSV resultante a ProcessMind, mapeando la columna SistemaOrigen como un atributo de caso y NombreActividad como el clasificador de actividad.
Configuración
- Rango de Fechas: Se recomienda filtrar por EVT_DATE (Fecha de Creación) para un periodo móvil de 6 a 12 meses, a fin de mantener el rendimiento de la consulta.
- Filtro de Organización: Hexagon EAM suele ser multi-organización. Asegúrese de que la consulta incluya un filtro para su Código de Organización específico para evitar la contaminación de datos de otras unidades de negocio.
- Sintaxis de Base de Datos: La consulta a continuación utiliza SQL estándar ANSI siempre que es posible, pero Hexagon EAM generalmente se ejecuta en Oracle o SQL Server. Podrían requerirse pequeños ajustes en las funciones de fecha (p. ej., SYSDATE vs GETDATE).
- Configuración de Estado: El mapeo de los Códigos de Estado (p. ej., 'A', 'C', 'R') a los Nombres de Actividad (p. ej., 'Orden de Trabajo Aprobada') debe coincidir con la configuración de estado específica de su sistema.
- Permisos: La cuenta de usuario que ejecuta el informe requiere acceso de lectura a las tablas R5EVENTS, R5EVENTSTATUS, R5BOOKEDHOURS, R5TRANSACTIONS y R5AUDITVALUES.
a Consulta de ejemplo config
/* 1. Work Order Created */
SELECT
evt_code AS WorkOrderNumber,
'Work Order Created' AS ActivityName,
evt_created AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
evt_type AS WorkOrderType,
evt_priority AS PriorityCode,
evt_mrc AS MaintenanceDepartment,
evt_updatedby AS UpdatedBy,
evt_target AS TargetCompletionDate,
evt_object AS AssetCode,
NULL AS ActualLaborHours
FROM r5events
WHERE evt_type IN ('JOB', 'PPM') -- Filter for relevant WO types
AND evt_created >= '2023-01-01' -- [Set Start Date]
AND evt_org = 'YOUR_ORG' -- [Set Organization]
UNION ALL
/* 2. Priority Updated (Requires Audit Log) */
SELECT
aud_code AS WorkOrderNumber,
'Priority Updated' AS ActivityName,
aud_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
aud_value AS PriorityCode,
NULL AS MaintenanceDepartment,
aud_user AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5auditvalues
WHERE aud_table = 'R5EVENTS'
AND aud_field = 'EVT_PRIORITY'
AND aud_org = 'YOUR_ORG'
UNION ALL
/* 3. Status Changes (Approved, Scheduled, Started, Completed, Signed Off, Closed) */
/* This block maps generic status codes to specific ProcessMind activities */
SELECT
est_event AS WorkOrderNumber,
CASE est_status
WHEN 'A' THEN 'Work Order Approved'
WHEN 'S' THEN 'Work Order Scheduled'
WHEN 'IP' THEN 'Work Order Started'
WHEN 'C' THEN 'Work Order Completed'
WHEN 'QC' THEN 'Quality Control Passed'
WHEN 'SO' THEN 'Work Order Signed Off'
WHEN 'CL' THEN 'Work Order Closed'
ELSE 'Status Change: ' + est_status
END AS ActivityName,
est_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
est_auth AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5eventstatus
WHERE est_status IN ('A', 'S', 'IP', 'C', 'QC', 'SO', 'CL')
AND est_org = 'YOUR_ORG'
UNION ALL
/* 4. Material Requisition Created */
SELECT
req_event AS WorkOrderNumber,
'Material Requisition Created' AS ActivityName,
req_created AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
req_createdby AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5requisitions
WHERE req_event IS NOT NULL
AND req_org = 'YOUR_ORG'
UNION ALL
/* 5. Material Issued */
SELECT
trl_event AS WorkOrderNumber,
'Material Issued' AS ActivityName,
trl_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
trl_user AS UpdatedBy,
NULL AS TargetCompletionDate,
trl_part AS AssetCode, -- Storing Part ID in Asset column for context
NULL AS ActualLaborHours
FROM r5translines
WHERE trl_type = 'I' -- I = Issue
AND trl_event IS NOT NULL
AND trl_org = 'YOUR_ORG'
UNION ALL
/* 6. Labor Hours Recorded */
SELECT
boo_event AS WorkOrderNumber,
'Labor Hours Recorded' AS ActivityName,
boo_entered AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
boo_mrc AS MaintenanceDepartment,
boo_person AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
boo_hours AS ActualLaborHours
FROM r5bookedhours
WHERE boo_event IS NOT NULL
AND boo_org = 'YOUR_ORG'
UNION ALL
/* 7. Checklist Item Verified */
SELECT
ckv_event AS WorkOrderNumber,
'Checklist Item Verified' AS ActivityName,
ckv_entrydate AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
ckv_enteredby AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5checklistvalues
WHERE ckv_completed = '+' -- Logic for completed item depends on config
AND ckv_event IS NOT NULL
AND ckv_org = 'YOUR_ORG' Pasos
- Identificar la Conexión a la Base de Datos: Asegúrese de tener credenciales de acceso de lectura (típicamente una cuenta de servicio) para la base de datos de backend de Hexagon EAM Oracle o SQL Server.
- Localizar las Tablas Principales: Confirme el acceso a R5EVENTS (Encabezados de Órdenes de Trabajo), R5STATUS (Historial de Estado), R5BOOKEDHOURS (Mano de Obra), R5TRANSACTIONS (Materiales) y R5AUDITVALUES (Registro de Auditoría).
- Mapear Códigos de Estado: Hexagon EAM utiliza códigos de estado configurables (p. ej., A, C, O, R). Revise la configuración de su sistema (Pantalla: Administración -> Códigos) para mapear sus códigos específicos de 1 o 2 caracteres a las actividades Aprobado, Programado, Iniciado, Completado, Control de Calidad Aprobado, Validado y Cerrado.
- Configurar la Consulta: Abra el script SQL proporcionado a continuación. Reemplace los códigos de estado de marcador de posición (p. ej., 'APPR', 'SCHD', 'COMP') con sus códigos de sistema reales.
- Establecer Rango de Fechas: Actualice las cláusulas WHERE para filtrar por EVT_DATE o TRN_DATE para seleccionar una ventana de tiempo específica, típicamente los últimos 12 meses, para asegurar el rendimiento de la consulta.
- Ejecutar Extracción: Ejecute la consulta en su cliente SQL (SQL Developer, SSMS o Toad).
- Verificar Datos de Auditoría: Si la actividad 'Prioridad Actualizada' no devuelve filas, verifique si la funcionalidad de Auditoría está habilitada para la tabla R5EVENTS en la configuración de su sistema EAM.
- Validar Datos de la Lista de Verificación: Asegúrese de que R5CHECKLISTVALUES sea la tabla correcta para su versión; las versiones anteriores pueden usar R5ACTIVITIES para la finalización a nivel de tarea.
- Exportar Datos: Guarde el conjunto de resultados como un archivo CSV o Parquet. Asegúrese de que la columna MarcaDeTiempo esté formateada como ISO 8601 (YYYY-MM-DD HH:MM:SS) para evitar errores de análisis.
- Importar a ProcessMind: Cargue el archivo plano en la interfaz de ProcessMind, mapeando NúmeroOrdenTrabajo a ID de Caso, NombreActividad a Actividad, y MarcaDeTiempoEvento a MarcaDeTiempo.
Configuración
- Filtro de Ventana de Tiempo: La consulta actualmente selecciona todos los datos. Es altamente recomendable añadir un filtro como WHERE EVT_DATE >= SYSDATE - 365 (Oracle) o GetDate() - 365 (SQL Server) en la CTE fundamental o en cada bloque SELECT.
- Mapeo de Códigos de Estado: Debe reemplazar los literales de cadena en el SQL (p. ej., 'APPR', 'COMP', 'QC') con los códigos reales definidos en su conjunto R5STATUS.
- Configuración de Auditoría: La extracción de 'Prioridad Actualizada' depende de la tabla R5AUDITVALUES. Si la auditoría está desactivada para la columna EVT_PRIORITY, esta actividad específica estará ausente.
- Organización/Entidad: Si su instancia de EAM aloja múltiples organizaciones, añada un filtro para EVT_ORG o EVT_MRC (Departamento) para evitar la mezcla de datos.
- Idioma: La consulta asume encabezados de columna en inglés estándar. Si su base de datos utiliza nombres de columna localizados, ajuste según corresponda.
a Consulta de ejemplo sql
/* 1. Work Order Created */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Created' AS ActivityName,
E.EVT_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
E.EVT_CREATEDBY AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
WHERE E.EVT_TYPE IN ('JOB', 'PPM') -- Filter for Standard and Preventive WOs
UNION ALL
/* 2. Priority Updated (From Audit Log) */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Priority Updated' AS ActivityName,
A.AUD_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
A.AUD_VALUE AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
A.AUD_USER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5AUDITVALUES A ON E.EVT_CODE = A.AUD_KEY1
WHERE A.AUD_TABLE = 'R5EVENTS'
AND A.AUD_FIELD = 'EVT_PRIORITY'
UNION ALL
/* 3. Work Order Approved */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Approved' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'APPR' -- Replace with your Approved status code
UNION ALL
/* 4. Material Requisition Created */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Material Requisition Created' AS ActivityName,
R.REQ_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
R.REQ_CREATEDBY AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5REQUISITIONS R ON E.EVT_CODE = R.REQ_EVENT
UNION ALL
/* 5. Work Order Scheduled */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Scheduled' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'SCHD' -- Replace with your Scheduled status code
UNION ALL
/* 6. Work Order Started */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Started' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS IN ('STRT', 'INPRG') -- Replace with your Started/In Progress status codes
UNION ALL
/* 7. Material Issued */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Material Issued' AS ActivityName,
T.TRN_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
T.TRN_USER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5TRANSACTIONS T ON E.EVT_CODE = T.TRN_EVENT
WHERE T.TRN_TYPE = 'ISSUE' -- Indicates material issue from store
UNION ALL
/* 8. Labor Hours Recorded */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Labor Hours Recorded' AS ActivityName,
B.BOO_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
B.BOO_PERSON AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
B.BOO_HOURS AS ActualLaborHours
FROM R5EVENTS E
JOIN R5BOOKEDHOURS B ON E.EVT_CODE = B.BOO_EVENT
UNION ALL
/* 9. Checklist Item Verified */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Checklist Item Verified' AS ActivityName,
C.CKV_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
C.CKV_ENTEREDBY AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5CHECKLISTVALUES C ON E.EVT_CODE = C.CKV_EVENT
WHERE C.CKV_COMPLETED = '+' -- Assuming '+' indicates checked/complete
UNION ALL
/* 10. Work Order Completed */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Completed' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'COMP' -- Replace with your Completed status code
UNION ALL
/* 11. Quality Control Passed */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Quality Control Passed' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'QC' -- Replace with your QC Passed status code
UNION ALL
/* 12. Work Order Signed Off */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Signed Off' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'SIGNOFF' -- Replace with your Sign Off status code
UNION ALL
/* 13. Work Order Closed */
SELECT
E.EVT_CODE AS WorkOrderNumber,
'Work Order Closed' AS ActivityName,
S.STA_DATE AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
E.EVT_TYPE AS WorkOrderType,
E.EVT_PRIORITY AS PriorityCode,
E.EVT_MRC AS MaintenanceDepartment,
S.STA_UPDATEUSER AS UpdatedBy,
E.EVT_TARGET AS TargetCompletionDate,
E.EVT_OBJECT AS AssetCode,
NULL AS ActualLaborHours
FROM R5EVENTS E
JOIN R5STATUS S ON E.EVT_CODE = S.STA_EVENT
WHERE S.STA_STATUS = 'CLOS' -- Replace with your Closed status code Pasos
- Inicie sesión en la aplicación Hexagon EAM con una cuenta de usuario que tenga privilegios de Autoría de Informes Avanzados.
- Navegue al módulo de Informes, generalmente en el menú Administración o Informes, e inicie la interfaz de Informes Avanzados (a menudo Cognos o un generador de informes SQL integrado).
- Inicie un nuevo asistente de creación de informes y seleccione 'SQL' o 'SQL de forma libre' como tipo de fuente de datos. Esto permite la consulta directa de la base de datos en lugar de utilizar el modelo de objeto de negocio estándar.
- Copie el script SQL proporcionado en la sección Consulta a continuación y péguelo en la ventana de definición del conjunto de datos.
- Reemplace los valores de marcador de posición (como [Su Código de Organización] y rangos de fechas) con valores específicos relevantes para su entorno.
- Valide la sintaxis de la consulta dentro del editor para asegurar que la plataforma de la base de datos (Oracle o SQL Server) acepte las sentencias UNION.
- Mapee las columnas resultantes a la lista de diseño del informe, asegurando que el NúmeroOrdenTrabajo, NombreActividad y MarcaDeTiempoEvento sean claramente visibles.
- Configure el informe para exportar específicamente a formato CSV o Excel para asegurar una estructura tabular sin celdas fusionadas ni encabezados con formato.
- Ejecute el informe para un período de validación (p. ej., las últimas 100 órdenes de trabajo) para verificar la estructura de datos.
- Una vez verificado, programe el informe para que se ejecute de forma recurrente o ejecútelo para la ventana de tiempo de extracción completa.
- Descargue el archivo de salida y verifique los formatos de fecha. Asegúrese de que las marcas de tiempo incluyan segundos, si es posible, para un orden preciso.
- Importe el archivo CSV resultante a ProcessMind, mapeando la columna SistemaOrigen como un atributo de caso y NombreActividad como el clasificador de actividad.
Configuración
- Rango de Fechas: Se recomienda filtrar por EVT_DATE (Fecha de Creación) para un periodo móvil de 6 a 12 meses, a fin de mantener el rendimiento de la consulta.
- Filtro de Organización: Hexagon EAM suele ser multi-organización. Asegúrese de que la consulta incluya un filtro para su Código de Organización específico para evitar la contaminación de datos de otras unidades de negocio.
- Sintaxis de Base de Datos: La consulta a continuación utiliza SQL estándar ANSI siempre que es posible, pero Hexagon EAM generalmente se ejecuta en Oracle o SQL Server. Podrían requerirse pequeños ajustes en las funciones de fecha (p. ej., SYSDATE vs GETDATE).
- Configuración de Estado: El mapeo de los Códigos de Estado (p. ej., 'A', 'C', 'R') a los Nombres de Actividad (p. ej., 'Orden de Trabajo Aprobada') debe coincidir con la configuración de estado específica de su sistema.
- Permisos: La cuenta de usuario que ejecuta el informe requiere acceso de lectura a las tablas R5EVENTS, R5EVENTSTATUS, R5BOOKEDHOURS, R5TRANSACTIONS y R5AUDITVALUES.
a Consulta de ejemplo config
/* 1. Work Order Created */
SELECT
evt_code AS WorkOrderNumber,
'Work Order Created' AS ActivityName,
evt_created AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
evt_type AS WorkOrderType,
evt_priority AS PriorityCode,
evt_mrc AS MaintenanceDepartment,
evt_updatedby AS UpdatedBy,
evt_target AS TargetCompletionDate,
evt_object AS AssetCode,
NULL AS ActualLaborHours
FROM r5events
WHERE evt_type IN ('JOB', 'PPM') -- Filter for relevant WO types
AND evt_created >= '2023-01-01' -- [Set Start Date]
AND evt_org = 'YOUR_ORG' -- [Set Organization]
UNION ALL
/* 2. Priority Updated (Requires Audit Log) */
SELECT
aud_code AS WorkOrderNumber,
'Priority Updated' AS ActivityName,
aud_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
aud_value AS PriorityCode,
NULL AS MaintenanceDepartment,
aud_user AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5auditvalues
WHERE aud_table = 'R5EVENTS'
AND aud_field = 'EVT_PRIORITY'
AND aud_org = 'YOUR_ORG'
UNION ALL
/* 3. Status Changes (Approved, Scheduled, Started, Completed, Signed Off, Closed) */
/* This block maps generic status codes to specific ProcessMind activities */
SELECT
est_event AS WorkOrderNumber,
CASE est_status
WHEN 'A' THEN 'Work Order Approved'
WHEN 'S' THEN 'Work Order Scheduled'
WHEN 'IP' THEN 'Work Order Started'
WHEN 'C' THEN 'Work Order Completed'
WHEN 'QC' THEN 'Quality Control Passed'
WHEN 'SO' THEN 'Work Order Signed Off'
WHEN 'CL' THEN 'Work Order Closed'
ELSE 'Status Change: ' + est_status
END AS ActivityName,
est_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
est_auth AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5eventstatus
WHERE est_status IN ('A', 'S', 'IP', 'C', 'QC', 'SO', 'CL')
AND est_org = 'YOUR_ORG'
UNION ALL
/* 4. Material Requisition Created */
SELECT
req_event AS WorkOrderNumber,
'Material Requisition Created' AS ActivityName,
req_created AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
req_createdby AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5requisitions
WHERE req_event IS NOT NULL
AND req_org = 'YOUR_ORG'
UNION ALL
/* 5. Material Issued */
SELECT
trl_event AS WorkOrderNumber,
'Material Issued' AS ActivityName,
trl_date AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
trl_user AS UpdatedBy,
NULL AS TargetCompletionDate,
trl_part AS AssetCode, -- Storing Part ID in Asset column for context
NULL AS ActualLaborHours
FROM r5translines
WHERE trl_type = 'I' -- I = Issue
AND trl_event IS NOT NULL
AND trl_org = 'YOUR_ORG'
UNION ALL
/* 6. Labor Hours Recorded */
SELECT
boo_event AS WorkOrderNumber,
'Labor Hours Recorded' AS ActivityName,
boo_entered AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
boo_mrc AS MaintenanceDepartment,
boo_person AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
boo_hours AS ActualLaborHours
FROM r5bookedhours
WHERE boo_event IS NOT NULL
AND boo_org = 'YOUR_ORG'
UNION ALL
/* 7. Checklist Item Verified */
SELECT
ckv_event AS WorkOrderNumber,
'Checklist Item Verified' AS ActivityName,
ckv_entrydate AS EventTimestamp,
'Hexagon EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
NULL AS WorkOrderType,
NULL AS PriorityCode,
NULL AS MaintenanceDepartment,
ckv_enteredby AS UpdatedBy,
NULL AS TargetCompletionDate,
NULL AS AssetCode,
NULL AS ActualLaborHours
FROM r5checklistvalues
WHERE ckv_completed = '+' -- Logic for completed item depends on config
AND ckv_event IS NOT NULL
AND ckv_org = 'YOUR_ORG'