您的资产维护数据模板
您的资产维护数据模板
- 用于维护跟踪的流程专属数据字段
- 用于工单生命周期分析的关键里程碑
- 面向Infor EAM用户的详细提取指南
资产维护属性
| 名称 | 说明 | ||
|---|---|---|---|
| 时间戳 EventTimestamp | 活动发生的日期和时间。 | ||
| 说明 此属性记录活动发生的准确时刻,用于按时间顺序排列事件并计算步骤之间的时长。 准确记录时间戳对于识别瓶颈、衡量周期时间和计算SLA合规性至关重要。在Infor EAM中,该信息通常来自交易日期或状态变更日期。 为什么重要 它为所有基于时间的分析和排序提供必要的时间维度。 获取位置 R5EVENTSTATUS表(字段EVS_DATE)或R5TRANSACTIONS(字段TRA_DATE) 示例 2023-10-12T08:30:00Z2023-10-12T14:15:00Z2023-10-14T09:00:00Z | |||
| 活动 EventName | 维护生命周期中发生的具体步骤或状态变更。 | ||
| 说明 此属性记录事件或状态变更的名称,例如生成工单、发放物料或关闭工单。该名称源自工单记录的状态变更历史或特定交易类型。 按照这些值的顺序,流程挖掘工具可以重建工作流路径,从而分析流程变体、返工循环和操作顺序。 为什么重要 它定义流程图中的节点,是了解每个步骤所发生情况的必要信息。 获取位置 R5EVENTSTATUS表(字段EVS_STATUS)或R5TRANSACTIONS(字段TRA_DESC) 示例 生成工单物料已发放工单已关闭资源已排程 | |||
| 维护工单 WorkOrderNumber | 维护工单的唯一标识符。 | ||
| 说明 此属性是流程分析的核心案例标识符,代表具体的维护作业,无论是预防性维护还是纠正性维护,并将后续所有活动、成本和人工记录关联起来。在Infor EAM中,这通常是主事件表中的Event Code。 分析人员使用此字段区分不同的流程实例。它可以汇总属于同一维护请求的所有事件,用于计算每项作业的周期时间和成本。 为什么重要 它是重建流程顺序流并唯一识别每个维护案例的基础键。 获取位置 R5EVENTS表,字段EVT_CODE 示例 10023456WO-2023-88910023457PM-55421 | |||
| 上次数据更新 LastDataUpdate | 数据提取或上次刷新的时间戳。 | ||
| 说明 此字段表示记录上次为流程挖掘模型处理或提取的时间,帮助用户了解所分析数据的新鲜度。 该字段通常在ETL过程中生成,而不是存在于源系统中,以便分析人员判断当前查看的是实时数据还是历史快照。 为什么重要 用于验证数据时效性,并帮助识别过时的数据集。 获取位置 提取时的系统时间 示例 2023-10-25T12:00:00Z | |||
| 源系统 SourceSystem | 数据来源系统的名称。 | ||
| 说明 此属性标识数据记录的来源,在多系统环境中尤为重要。在此视图中,它作为Infor EAM实例的静态标识符。 如果将多个数据源合并到单一流程挖掘数据模型中,它有助于追踪数据来源并排查问题。 为什么重要 它确保数据可以追溯至Infor EAM环境。 获取位置 提取过程中硬编码 示例 Infor EAMDatastream 7i | |||
| SLA目标日期 SlaTargetDate | 必须完成工单的截止日期。 | ||
| 说明 此属性存储目标完成日期,通常由资产关键性和工作优先级决定,是计算计划达成率的基准。 将实际完成时间戳与该日期比较,可以确定组织是否达到服务级别协议要求。 为什么重要 关键资产SLA绩效仪表板所需的信息。 获取位置 R5EVENTS表,字段EVT_TARGET 示例 2023-11-01T17:00:00Z | |||
| 优先级 WorkOrderPriority | 为维护工单分配的紧急程度。 | ||
| 说明 此属性表示工单的重要程度,通常采用高、中、低等等级。它用于筛选分析,确保关键工作在队列中得到正确优先处理。 按优先级分析流程,有助于确认高优先级事项是否确实比低优先级事项处理得更快。 为什么重要 对于验证紧急工作是否得到适当关注至关重要。 获取位置 R5EVENTS表,字段EVT_PRIORITY 示例 1-紧急2-高3-例行 | |||
| 实际总成本 ActualTotalCost | 人工、物料和服务成本的最终合计。 | ||
| 说明 此属性表示维护任务产生的总体财务影响,会随着人工登记和物料发放而更新。 它是流程的主要财务指标,可用于成本驱动因素分析和预算报告。 为什么重要 财务结算和效率分析的核心指标。 获取位置 R5EVENTS表中的字段EVT_ACTCOST(或交易合计) 示例 450.251500.0075.50 | |||
| 技术人员 TechnicianName | 负责执行任务的具体人员或资源。 | ||
| 说明 此属性记录执行具体活动的用户或技术人员,用于分析人工生产率、识别培训需求或发现排班效率问题。 根据系统配置,该信息可能位于工时登记表,或事件中的负责人字段。 为什么重要 支持人工生产率和排班仪表板分析。 获取位置 R5BOOKEDHOURS表(字段BOO_PERSON)或R5EVENTS(字段EVT_PERSON) 示例 J. SmithM. DoeContractor-A | |||
| 维护类型 MaintenanceType | 将工单归类为预防性、纠正性或预测性维护。 | ||
| 说明 此属性对维护工作的性质进行分类,使分析人员能够拆分流程视图,比较计划内的预防性维护周期与计划外的响应式维修。 优化预防性维护与响应式维修的比例,是维护管理人员的重要目标。该字段通常位于事件类型列中。 为什么重要 对于维护类型分布仪表板和可靠性策略分析至关重要。 获取位置 R5EVENTS表,字段EVT_TYPE 示例 预防性维护纠正性维护故障检查 | |||
| 资产编码 AssetCode | 待维护设备或资产的唯一标识符。 | ||
| 说明 此属性标识维护工单所针对的实体对象,可按机器或设施汇总维护历史。 按资产编码分析流程绩效,有助于识别“问题设备”,即频繁发生故障或维修时间长于平均水平的设备。 为什么重要 将流程绩效与实体基础设施关联起来的必要信息。 获取位置 R5EVENTS表,字段EVT_OBJECT 示例 PUMP-001HVAC-N-22CONVEYOR-05 | |||
| 部门 DepartmentCode | 负责该项工作的维护部门或班组。 | ||
| 说明 此属性表示负责工单的内部部门或成本中心,可用于比较不同维护团队的绩效,例如电气团队与机械团队。 在Infor EAM中,该字段通常称为MRC(维护维修中心)。 为什么重要 支持资源规划和部门绩效分析。 获取位置 R5EVENTS表,字段EVT_MRC 示例 MECHELECFACILITIES | |||
| 预计成本 EstimatedCost | 工单的计划预算。 | ||
| 说明 此属性记录规划阶段估算的成本。将其与实际成本比较,可以评估规划部门的估算准确性。 预计成本与实际成本之间的较大差异,表明需要审查估算流程或执行效率。 为什么重要 支持预计成本与实际成本分析仪表板。 获取位置 R5EVENTS表,字段EVT_ESTCOST 示例 500.001200.500.00 | |||
| 人工工时 LaborHoursUsed | 工单实际耗用的人工小时数。 | ||
| 说明 此属性汇总技术人员针对工单登记的时间,对于计算劳动力生产率和技术人员利用率至关重要。 它不同于工单的经过时长,因为它反映实际投入,而不是日历时间。 为什么重要 人工生产率和排班仪表板的关键指标。 获取位置 事件在R5BOOKEDHOURS中的工时合计 示例 2.58.00.5 | |||
| 描述 WorkOrderDescription | 对问题或所需工作的文字描述。 | ||
| 说明 此属性包含申请人或规划人员输入的自由文本摘要,为异常情况或特定流程行为提供定性背景。 可在此应用文本挖掘,对结构化字段未记录的常见故障模式进行分类。 为什么重要 为根因分析提供背景信息。 获取位置 R5EVENTS表,字段EVT_DESC 示例 泵振动过大更换阀门2的密封件季度检查 | |||
| 是否返工 IsRework | 表示工单是否包含重复执行步骤的标记。 | ||
| 说明 此布尔属性用于识别流程中是否存在循环,具体表现为质量控制后返回执行环节。该属性在数据转换过程中通过检查重复出现的“维护任务已执行”活动计算得出。 较高的返工率通常是质量问题或培训不足的重要指标。 为什么重要 直接支持维护返工与质量审计仪表板。 获取位置 在ETL或流程挖掘工具中计算 示例 truefalse | |||
| 是否违反SLA IsSlaBreached | 表示完成时间是否超过目标日期的标记。 | ||
| 说明 此布尔属性将“工单已完成”时间戳与“SLA目标日期”进行比较。如果完成时间晚于目标日期,则该标记设为true。 它通过创建用于筛选合规与不合规案例的二元维度,简化报告。 为什么重要 简化SLA合规报告。 获取位置 在ETL或流程挖掘工具中计算 示例 truefalse | |||
| 物料成本 MaterialCost | 发放至工单的备件成本。 | ||
| 说明 此属性从总成本中单独提取物料成本,帮助区分供应链费用与人工费用。 单独跟踪该成本,有助于制定备件定价和库存管理决策。 为什么重要 全面财务分析所需的明细。 获取位置 根据R5TRANSACTIONS中类型为issue的记录计算 示例 150.0020.00 | |||
| 组织 OrganizationCode | 资产所属的业务单元或站点。 | ||
| 说明 在多站点实施中,此属性定义具体设施或业务单元,可用于比较不同工厂或地理区域的整体绩效。 对于全球仪表板而言,该属性必不可少,因为不同地点的流程可能略有差异。 为什么重要 支持业务单元视图,用于跨站点基准比较。 获取位置 R5EVENTS表,字段EVT_ORG 示例 NYC-PLANTLON-HQMFG-01 | |||
| 资产关键性 AssetCriticality | 表示资产运营重要性的分数或等级。 | ||
| 说明 此属性根据资产对生产或安全的重要程度进行分类,例如A、B、C级。它帮助分析人员按资产价值细分流程,判断高价值资产是否得到适当的优先处理。 该数据通常来自与工单关联的资产主数据记录。 为什么重要 支持基于风险的维护延误分析。 获取位置 R5OBJECTS表(字段OBJ_CRITICALITY),通过EVT_OBJECT关联 示例 A-关键B-重要C-运行至故障 | |||
资产维护活动
| 活动 | 说明 | ||
|---|---|---|---|
| 工作已开始 | 表示资产上的实际现场工作已经开始。通常可根据首条人工工时记录的时间戳或特定移动端状态更新来推断。 | ||
| 为什么重要 对于计算物料申请周期和技术人员利用率至关重要,可区分“Scheduled”时间与“Working”时间。 获取位置 根据R5BOOKEDHOURS中的最早Start Date,或R5EVENTSTATUS中状态变更为“In Progress”来推导。 采集 通过比较字段X与Y推导 事件类型 inferred | |||
| 工单已关闭 | 最终行政步骤,工单被归档,且无法再登记成本,标志着案例生命周期结束。 | ||
| 为什么重要 结束行政关闭效率指标的计算,对于保持数据整洁、防止出现“僵尸”未关闭工单至关重要。 获取位置 查询R5EVENTSTATUS中向“Close”状态变更的记录,该变更会将EVT_STATUS字段设置为“C”。 采集 状态变更为Closed时记录 事件类型 explicit | |||
| 工单已完成 | 标志着维护工作的技术完成。资产已恢复运行,但财务和行政任务可能尚未完成。 | ||
| 为什么重要 关键资产SLA绩效的终点,用于区分“Job Done”和“Paperwork Done”。 获取位置 跟踪R5EVENTSTATUS中状态变更为“C”(Complete)或“J”(Job Complete)的记录。检查EVT_DATECOMPLETED。 采集 状态变更为Complete时记录 事件类型 explicit | |||
| 收到维护请求 | 表示维护需求首次进入系统,通常来自服务门户或呼叫中心界面。在Infor EAM中,这通常对应Call或Request实体创建记录的时间,之后再转换为正式工单。 | ||
| 为什么重要 这是计算维护积压增长率和总解决时间的起点,对于识别维护部门实际承接的需求至关重要。 获取位置 查询R5EVENTS表,其中EVT_TYPE设置为“R”(Request)或“C”(Call)。使用EVT_CREATED日志。 采集 插入请求记录时记录 事件类型 explicit | |||
| 生成工单 | 表示正式创建工单对象,可以由请求转换而来,也可以直接创建。此事件启动对维护案例成本、资源和状态历史的跟踪。 | ||
| 为什么重要 积压和处理量监控器的主要案例创建事件,用于区分请求阶段与实际维护管理工作流。 获取位置 查询R5EVENTS表中EVT_TYPE为“JOB”或“PPM”的新记录。或者,跟踪R5EVENTSTATUS中初始“Open”状态的变更。 采集 交易创建WO记录时记录 事件类型 explicit | |||
| 维护任务已执行 | 表示维护工作的持续执行过程,通过技术人员登记的工时记录。单张工单可能重复出现此活动。 | ||
| 为什么重要 为技术人员利用率KPI和人工估算准确性提供数据。频繁出现但迟迟未完成,可能表明维修难度较高。 获取位置 从R5BOOKEDHOURS表中提取与工单关联的单条记录。 采集 交易X执行时记录 事件类型 explicit | |||
| 工单已审批 | 表示维护工作已获得必要管理层级的授权。此步骤会释放工单,以便进行排程和物料申请。 | ||
| 为什么重要 标志着审批周期结束和可执行维护工作的开始。此处的延误会直接影响关键资产故障的响应速度。 获取位置 跟踪R5EVENTSTATUS历史表中插入“A”(Approved)或“R”(Released)状态代码的记录。 采集 状态变更为Approved时记录 事件类型 explicit | |||
| 已执行质量控制测试 | 表示维修完成最终签字确认前进行的特定验证步骤。如果测试失败,流程会回到执行阶段。 | ||
| 为什么重要 对于维护返工和质量审计仪表板至关重要,可识别质量问题和返工循环。 获取位置 识别R5CHECKLISTS中的具体检查清单完成记录,或R5EVENTSTATUS中向“Review”状态的变更。 采集 比较变更前后的状态字段 事件类型 inferred | |||
| 已提交物料申请 | 记录执行维护任务所需备件的具体申请,是连接供应链流程与维护执行的重要事件。 | ||
| 为什么重要 物料供应延误分析仪表板的起点,用于识别备件采购是否是维护延误的根本原因。 获取位置 查询R5REQUISITIONS或R5MATLIST表中与工单ID关联的创建时间戳。 采集 交易X执行时记录 事件类型 explicit | |||
| 物料已发放 | 记录从库存向工单实际发放备件的情况,确认物料已可供使用。 | ||
| 为什么重要 供应链延误分析的结束事件,用于确认备件限制已解除。 获取位置 查询R5TRANSACTIONS中与工单关联且交易类型为“I”(Issue)的记录。 采集 交易X执行时记录 事件类型 explicit | |||
| 维护记录已更新 | 记录向工单补充技术备注、故障代码或状态监测数据的情况,通常发生在现场工作接近结束时。 | ||
| 为什么重要 支持技术文档合规监控,确保数据质量,便于后续可靠性分析。 获取位置 跟踪R5COMMENTS表的更新,或R5EVENTS中“Problem/Failure/Cause”字段的更新。 采集 记录更新时记录 事件类型 explicit | |||
| 计划与估算完成 | 表示工单范围已确定、成本已估算,作业计划已准备好提交审批。通常可根据状态从计划阶段变更为待审批阶段来推断。 | ||
| 为什么重要 对于衡量工单审批周期、识别执行前的行政瓶颈至关重要,也支持计划周期分析。 获取位置 根据R5EVENTSTATUS中状态从“Planning”变更为“Request Approval”或“Released”来推断。 采集 比较变更前后的状态字段 事件类型 inferred | |||
| 财务结算已处理 | 表示对工单相关成本进行最终计算和入账,确保所有人工和物料费用均计入预算。 | ||
| 为什么重要 支持估算成本与实际成本分析。此处延误会影响财务报告准确性。 获取位置 通常可根据工单被锁定、无法继续编辑的日期,或交易日志中最后一次成本更新交易发生的时间来推断。 采集 通过比较字段X与Y推导 事件类型 calculated | |||
| 资源已排程 | 记录将指定技术人员或团队分配给工单的情况,标志着流程从计划阶段转入资源分配阶段。 | ||
| 为什么重要 支持人员生产率和排程仪表板,帮助识别审批完成与实际资源可用之间的差距。 获取位置 跟踪R5ACTIVITIES表中的人员分配变更,或R5EVENTSTATUS中状态变更为“Scheduled”的记录。 采集 资源分配时记录 事件类型 explicit | |||
提取指南
步骤
验证Databridge模块可用性:以管理员身份登录Infor EAM。进入管理菜单,确保Databridge模块处于活跃状态,并且您可以访问“Partner”和“Document”配置界面。
定义导出合作伙伴:在Databridge中专门为ProcessMind创建新的Partner(例如合作伙伴代码
PMIND)。根据XML/CSV文件的目标位置,将“Communication”方法配置为FILE或FTP。将输出格式设为XML,以获得最高的数据保真度。配置业务对象(文档):您必须订阅特定的Infor EAM业务对象(BOD),以捕获所需活动。将以下Document添加到Partner配置中:
MP0094_SyncWorkOrder:捕获创建、状态变更、更新和关闭。MP0024_SyncBookedHours:捕获人工工时登记(执行)。MP3036_SyncTransaction:捕获物料发放和退回。MP0026_SyncRequisition:捕获物料请求。MP0098_SyncWorkOrderActivity:捕获排程和计划详情。
设置筛选配置:为每个Document应用筛选条件,排除无关数据。对于
SyncWorkOrder,按“组织”筛选,并确保“工单类型”不为空。将“日期”筛选范围设为覆盖分析期间(例如最近12个月)。启用事件触发器:在“事件配置”界面中,确保为所选Document对应的实体启用
On Save、On Update和On Status Change触发器。这样,用户在系统中操作时,数据就会立即推送出去。映射数据元素:配置Databridge XML模板,加入所需的具体列。确保
EVT_CODE映射到WorkOrderNumber,包含EVT_STATUS以跟踪状态,并提供EVT_DAT_CREATED。执行初始加载:Databridge主要由事件驱动,但进行历史分析时,您必须运行“批量导出”。进入“Databridge导出”界面,选择
PMIND合作伙伴和SyncWorkOrder文档,定义日期范围,然后点击“提交”生成历史积压数据。标准化输出:导出结果将生成层级化XML文件。使用脚本工具(例如Python、PowerShell或ETL中间件)将这些XML展平。处理逻辑为:一个XML节点对应一行事件记录。请使用下方“查询”部分定义的映射规则。
推导活动名称:在转换脚本中,使用“查询”部分提供的条件逻辑,将系统代码(例如状态
R对应“工单已生成”,状态C对应“工单已完成”)转换为易读的活动名称。格式化时间戳:Infor EAM以ISO 8601格式导出时间戳。请将其转换为与ProcessMind兼容的标准
YYYY-MM-DD HH:MM:SS格式。汇总事件日志:将不同业务对象(工单、已登记工时、交易)的输出合并为一个CSV文件,并按
WorkOrderNumber和EventTimestamp排序。最终验证:将生成的CSV加载到ProcessMind,确认案例数与Infor EAM导出的唯一工单数量一致。
配置
- 导出格式:建议使用XML而非纯文本,以便处理注释中的特殊字符并确保架构校验。
- 触发模式:设置为Asynchronous,避免高峰时段Databridge处理拖慢用户界面。
- 粒度:确保在Document配置中勾选Include Update Details,以便检测字段级变更,例如Priority更新或Department变更。
- 日期范围:初始批量加载通常使用12至24个月的历史数据。持续增量加载则由系统实时推送数据。
- Organization筛选:始终按
EVT_ORG(Organization)筛选,避免在共享EAM实例中提取多租户数据。 - 状态配置:确认用户自定义状态与系统状态(R、A、C等)的映射关系,确保Activity映射准确。
a 示例查询 json
{
"extractionConfig": {
"sourceSystem": "Infor EAM",
"module": "Databridge",
"targetFormat": "ProcessMind_EventLog",
"globalFilters": {
"organization": "[Your Organization Code]",
"dateRangeStart": "2023-01-01",
"excludedTypes": ["Standing Work Order", "Campaign"]
},
"mappings": [
{
"activityName": "Maintenance Request Received",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "EVT_TYPE = 'R' AND EVT_DATE_CREATED IS NOT NULL",
"timestampField": "EVT_DATE_CREATED",
"attributes": {
"WorkOrderNumber": "EVT_CODE",
"MaintenanceType": "EVT_TYPE",
"AssetCode": "EVT_OBJECT",
"DepartmentCode": "EVT_MRC",
"Priority": "EVT_PRIORITY"
}
},
{
"activityName": "Work Order Generated",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "Previous_EVT_STATUS IS NULL AND EVT_STATUS = 'R'",
"timestampField": "EVT_RTYPE_DATE",
"attributes": {
"WorkOrderNumber": "EVT_CODE",
"TechnicianName": "EVT_PERSON",
"EstimatedCost": "EVT_COST_EST"
}
},
{
"activityName": "Planning and Estimating Finished",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "EVT_STATUS changes to 'READY' (or system equivalent)",
"timestampField": "EVT_STATUS_DATE",
"attributes": {
"WorkOrderNumber": "EVT_CODE",
"SlaTargetDate": "EVT_TARGET"
}
},
{
"activityName": "Work Order Approved",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "EVT_STATUS changes to 'A' (Approved)",
"timestampField": "EVT_STATUS_DATE",
"attributes": {
"WorkOrderNumber": "EVT_CODE",
"EstimatedCost": "EVT_COST_EST"
}
},
{
"activityName": "Material Requisition Submitted",
"sourceDocument": "MP0026_SyncRequisition",
"triggerCondition": "REQ_STATUS = 'R' AND REQ_EVT IS NOT NULL",
"timestampField": "REQ_DATE_CREATED",
"attributes": {
"WorkOrderNumber": "REQ_EVT",
"DepartmentCode": "REQ_MRC"
}
},
{
"activityName": "Resources Scheduled",
"sourceDocument": "MP0098_SyncWorkOrderActivity",
"triggerCondition": "ACT_PERSON IS NOT NULL OR ACT_TRADE IS NOT NULL",
"timestampField": "ACT_START_DATE",
"attributes": {
"WorkOrderNumber": "ACT_EVENT",
"TechnicianName": "ACT_PERSON"
}
},
{
"activityName": "Work Commenced",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "EVT_STATUS changes to 'IP' (In Progress)",
"timestampField": "EVT_STATUS_DATE",
"attributes": {
"WorkOrderNumber": "EVT_CODE"
}
},
{
"activityName": "Material Issued",
"sourceDocument": "MP3036_SyncTransaction",
"triggerCondition": "TRN_TYPE = 'ISSUE'",
"timestampField": "TRN_DATE",
"attributes": {
"WorkOrderNumber": "TRN_EVENT",
"ActualTotalCost": "TRN_VALUE",
"AssetCode": "TRN_PART"
}
},
{
"activityName": "Maintenance Task Executed",
"sourceDocument": "MP0024_SyncBookedHours",
"triggerCondition": "BOO_HOURS > 0",
"timestampField": "BOO_DATE",
"attributes": {
"WorkOrderNumber": "BOO_EVENT",
"TechnicianName": "BOO_PERSON",
"ActualTotalCost": "BOO_COST"
}
},
{
"activityName": "Maintenance Records Updated",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "Update to EVT_UDF_CHECKLIST OR EVT_NOTE is updated",
"timestampField": "LastUpdateTimestamp",
"attributes": {
"WorkOrderNumber": "EVT_CODE"
}
},
{
"activityName": "Quality Control Testing Performed",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "EVT_STATUS changes to 'QC' or 'TEST'",
"timestampField": "EVT_STATUS_DATE",
"attributes": {
"WorkOrderNumber": "EVT_CODE"
}
},
{
"activityName": "Work Order Completed",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "EVT_STATUS changes to 'C' (Completed)",
"timestampField": "EVT_COMPLETED",
"attributes": {
"WorkOrderNumber": "EVT_CODE",
"SlaTargetDate": "EVT_TARGET"
}
},
{
"activityName": "Financial Settlement Processed",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "EVT_DATE_POSTED IS NOT NULL AND Previous_EVT_DATE_POSTED IS NULL",
"timestampField": "EVT_DATE_POSTED",
"attributes": {
"WorkOrderNumber": "EVT_CODE",
"ActualTotalCost": "EVT_COST_ACT"
}
},
{
"activityName": "Work Order Closed",
"sourceDocument": "MP0094_SyncWorkOrder",
"triggerCondition": "EVT_STATUS changes to 'CLOSE'",
"timestampField": "EVT_STATUS_DATE",
"attributes": {
"WorkOrderNumber": "EVT_CODE"
}
}
]
}
} 步骤
数据库访问设置 通过ODBC/JDBC建立与Infor EAM数据库(Oracle或SQL Server)的直接连接。确保您对以下表拥有只读权限:R5EVENTS(Work Orders)、R5STATUS(Status History)、R5BOOKEDHOURS(Labor)、R5TRANSACTIONS(Materials)、R5ACTIVITIES(Tasks)和R5TESTRESULTS(Quality)。
定义范围和筛选条件 确定提取时间窗口。对于流程挖掘,通常使用最近12至24个月的滚动窗口即可。如果运行多站点实例,请确定Organization Code(ORG),以筛选相关数据。
配置状态映射 Infor EAM支持用户自定义状态。请检查提供的SQL脚本,将
A(Approved)或C(Closed)等占位值替换为您所在EAM配置中实际使用的状态代码。如不确定,可在R5STATUS_CODES表中查找。准备SQL脚本 复制Query部分提供的SQL。将
[StartDate]和[EndDate]占位符替换为所需日期范围,例如'2023-01-01'。将[Your Organization Code]替换为具体业务单元筛选条件。执行提取 在SQL客户端(SQL Developer、SSMS或DBeaver)中运行查询。该查询使用UNION ALL,将表头事件、状态变更、人工工时登记和物料事务合并为统一的事件日志格式。
验证数据 检查EventTimestamp列中是否存在NULL时间戳。确保每一行都已填充WorkOrderNumber。确认EventName列包含所定义14项活动的合理组合。
数据转换(可选) 如果时间戳包含与分析要求不一致的时区偏移,请在查询中或后处理阶段使用AT TIME ZONE等转换函数进行调整。
导出为CSV 将查询结果导出为纯CSV文件。确保分隔符设置为逗号或分号,并使用双引号包裹文本,以处理描述中的逗号。
导入ProcessMind 将CSV文件上传到ProcessMind。按以下方式映射列:WorkOrderNumber映射为Case ID,EventName映射为Activity,EventTimestamp映射为Timestamp。其余列映射为案例或事件属性。
配置
- 日期范围:建议提取12至24个月的数据。确保筛选条件应用于EVT_DATE(创建日期)或具体事务日期,以纳入持续处理中的未结案例。
- Organization筛选:使用EVT_ORG或通用Organization列,按工厂或设施区分数据,因为不同站点的流程可能存在差异。
- 状态代码:此查询依赖标准状态代码(A、C、R等)。您必须在Administration菜单的Screen Setup或Status setup中,根据系统配置进行核对。
- 性能:查询会访问大型事务表R5TRANSACTIONS。对于大型数据集(超过100万行),请确保EVT_CODE和TRN_DATE上存在适当的非聚集索引。
- 时区:Infor EAM在数据库服务器时间中存储日期。如果用户位于其他时区,请确保考虑相应偏移。
a 示例查询 sql
/* 1. Work Order Generated (Creation) */
SELECT
EVT_CODE AS WorkOrderNumber,
'Work Order Generated' AS EventName,
EVT_DATE AS EventTimestamp,
'Infor EAM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
EVT_TYPE AS MaintenanceType,
EVT_OBJECT AS AssetCode,
EVT_MRC AS DepartmentCode,
NULL AS TechnicianName,
EVT_PRIORITY AS WorkOrderPriority,
NULL AS EstimatedCost,
NULL AS ActualTotalCost,
EVT_TARGET AS SlaTargetDate
FROM R5EVENTS
WHERE EVT_DATE >= '[StartDate]' AND EVT_ORG = '[Your Organization Code]'
UNION ALL
/* 2. Maintenance Request Received (If derived from origin date) */
SELECT
EVT_CODE,
'Maintenance Request Received',
EVT_CREATED,
'Infor EAM',
GETDATE(),
EVT_TYPE,
EVT_OBJECT,
EVT_MRC,
NULL,
EVT_PRIORITY,
NULL,
NULL,
EVT_TARGET
FROM R5EVENTS
WHERE EVT_CREATED < EVT_DATE /* Only if created earlier than WO generation */
AND EVT_DATE >= '[StartDate]' AND EVT_ORG = '[Your Organization Code]'
UNION ALL
/* 3. Planning and Estimating Finished (Status Change) */
SELECT
S.STA_KEYVALUE,
'Planning and Estimating Finished',
S.STA_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
NULL,
E.EVT_PRIORITY,
NULL,
NULL,
E.EVT_TARGET
FROM R5STATUS S
JOIN R5EVENTS E ON S.STA_KEYVALUE = E.EVT_CODE
WHERE S.STA_TABLE = 'EVT' AND S.STA_RSTATUS IN ('R', 'PLANNED') /* Adjust status code */
AND E.EVT_DATE >= '[StartDate]' AND E.EVT_ORG = '[Your Organization Code]'
UNION ALL
/* 4. Work Order Approved */
SELECT
S.STA_KEYVALUE,
'Work Order Approved',
S.STA_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
NULL,
E.EVT_PRIORITY,
NULL,
NULL,
E.EVT_TARGET
FROM R5STATUS S
JOIN R5EVENTS E ON S.STA_KEYVALUE = E.EVT_CODE
WHERE S.STA_TABLE = 'EVT' AND S.STA_RSTATUS = 'A' /* Standard Approved Code */
AND E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 5. Material Requisition Submitted */
SELECT
TRL_EVENT,
'Material Requisition Submitted',
TRL_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
NULL,
E.EVT_PRIORITY,
NULL,
NULL,
E.EVT_TARGET
FROM R5TRANSLINES T
JOIN R5EVENTS E ON T.TRL_EVENT = E.EVT_CODE
WHERE T.TRL_TYPE = 'REQ' /* Requisition Line */
AND E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 6. Resources Scheduled */
SELECT
ACT_EVENT,
'Resources Scheduled',
ACT_START,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
ACT_PERSON,
E.EVT_PRIORITY,
ACT_EST_COST,
NULL,
E.EVT_TARGET
FROM R5ACTIVITIES A
JOIN R5EVENTS E ON A.ACT_EVENT = E.EVT_CODE
WHERE A.ACT_START IS NOT NULL
AND E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 7. Work Commenced */
SELECT
S.STA_KEYVALUE,
'Work Commenced',
S.STA_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
NULL,
E.EVT_PRIORITY,
NULL,
NULL,
E.EVT_TARGET
FROM R5STATUS S
JOIN R5EVENTS E ON S.STA_KEYVALUE = E.EVT_CODE
WHERE S.STA_TABLE = 'EVT' AND S.STA_RSTATUS IN ('SO', 'IP') /* Start Order or In Progress */
AND E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 8. Material Issued */
SELECT
TRN_EVENT,
'Material Issued',
TRN_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
NULL,
E.EVT_PRIORITY,
NULL,
TRN_VALUE,
E.EVT_TARGET
FROM R5TRANSACTIONS T
JOIN R5EVENTS E ON T.TRN_EVENT = E.EVT_CODE
WHERE T.TRN_TYPE = 'I' /* Issue Transaction */
AND E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 9. Maintenance Task Executed (Labor Booking) */
SELECT
BOO_EVENT,
'Maintenance Task Executed',
BOO_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
BOO_PERSON,
E.EVT_PRIORITY,
NULL,
BOO_VALUE,
E.EVT_TARGET
FROM R5BOOKEDHOURS B
JOIN R5EVENTS E ON B.BOO_EVENT = E.EVT_CODE
WHERE E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 10. Maintenance Records Updated (Comments) */
SELECT
COM_CODE,
'Maintenance Records Updated',
COM_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
COM_PERSON,
E.EVT_PRIORITY,
NULL,
NULL,
E.EVT_TARGET
FROM R5COMMENTS C
JOIN R5EVENTS E ON C.COM_CODE = E.EVT_CODE
WHERE C.COM_TYPE = 'EVT' /* Linked to Event */
AND E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 11. Quality Control Testing Performed */
SELECT
TST_EVENT,
'Quality Control Testing Performed',
TST_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
TST_ENTEREDBY,
E.EVT_PRIORITY,
NULL,
NULL,
E.EVT_TARGET
FROM R5TESTRESULTS T
JOIN R5EVENTS E ON T.TST_EVENT = E.EVT_CODE
WHERE E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 12. Work Order Completed */
SELECT
S.STA_KEYVALUE,
'Work Order Completed',
S.STA_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
NULL,
E.EVT_PRIORITY,
NULL,
NULL,
E.EVT_TARGET
FROM R5STATUS S
JOIN R5EVENTS E ON S.STA_KEYVALUE = E.EVT_CODE
WHERE S.STA_TABLE = 'EVT' AND S.STA_RSTATUS = 'C' /* Completed/Technically Complete */
AND E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 13. Financial Settlement Processed */
SELECT
S.STA_KEYVALUE,
'Financial Settlement Processed',
S.STA_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
NULL,
E.EVT_PRIORITY,
NULL,
NULL,
E.EVT_TARGET
FROM R5STATUS S
JOIN R5EVENTS E ON S.STA_KEYVALUE = E.EVT_CODE
WHERE S.STA_TABLE = 'EVT' AND S.STA_RSTATUS = 'AC' /* Accounting Close/Review */
AND E.EVT_DATE >= '[StartDate]'
UNION ALL
/* 14. Work Order Closed */
SELECT
S.STA_KEYVALUE,
'Work Order Closed',
S.STA_DATE,
'Infor EAM',
GETDATE(),
E.EVT_TYPE,
E.EVT_OBJECT,
E.EVT_MRC,
NULL,
E.EVT_PRIORITY,
NULL,
E.EVT_COST, /* Final Cost usually captured here */
E.EVT_TARGET
FROM R5STATUS S
JOIN R5EVENTS E ON S.STA_KEYVALUE = E.EVT_CODE
WHERE S.STA_TABLE = 'EVT' AND S.STA_RSTATUS = 'CL' /* Hard Close */
AND E.EVT_DATE >= '[StartDate]' 立即在Infor EAM中优化资产维护
从今天开始将维护周期时间缩短30%
无需信用卡,几分钟即可完成设置