Maintenance Plan#
MaintenancePlan.Show
Overview#
A Maintenance Plan, together with the Maintenance Activity Order (MAO) are at the core of Maintenance Management.
Info
Maintenance Management is a Critical Management optional module.
The Maintenance Management module provides functionality to manage maintenance plans that consist of Maintenance Activities which, in turn, can be:
- Time Based - the Activity is requested periodically, according to a defined time interval.
- Usage Based - the Activity is requested when a set number of events have happened to a certain equipment.
- Usage and Time Based - the Activity is requested whenever one of the two pervious conditions applies.
- Ad-hoc - the Activity is to requested whenever the user so chooses.
A particular Maintenance Plan is a reusable object that is associated to Areas, Materials, Resources or Containers via a Maintenance Plan Instance (MPI) object. An MPI object has an owner role which is responsible to manage that particular MPI. Each Maintenance Activity, in turn, has a role which defines the personnel who are qualified and authorized to perform maintenance tasks. Areas, Materials, Resources or Containers can be associated with multiple MPIs. However, the same objects can only be associated once with the same Maintenance Plan.
There is a possibility of extending a Maintenance Plan so that it can be associated to more entities in the system apart from the original base entities (Areas, Materials, Resources and Containers). For that end, a new Feature would have to be created in the system, called MaintenancePlan.Associate[EntityName]. For more information on how to create custom Features, please go to the Features page in the Administration section of the User Guide.
A Maintenance Activity defines the nature of the activity trigger (Time, Usage, Time and Usage or Ad-hoc), as well as the Checklist to be followed while performing the maintenance task. It also defines the bill of parts, in the form of a BOM, to be used in the maintenance job. It can also define a Data Collection to send data to. In addition, it is possible to define the labor requirements for a particular Maintenance Activity. An instance of a Maintenance Activity is called Maintenance Activity Order (MAO).
Info
For a Maintenance Activity with a ScheduleType (trigger) Time, and with a Schedule Next Mode of type Fixed, it is possible to define the Number of instances to schedule. Upon the association of this Maintenance Plan with an entity, the number of Maintenance Activity Orders created will be equal to the number defined in this property. This can be used to implement a preventive maintenance plan to be taken into account during Scheduling.
Besides the Universal State, the MAO has two important independent system states:
- Schedule State - defines the MAO from a scheduling (triggering) perspective. Possible values are:
- Before early due
- Early due
- Due
- Late due
graph LR
A1[Before Early Due] --> A2[Early Due]
A2 --> A3[Due]
A3 --> A4[Late Due]
classDef mermaid_mm_beforeearlydue color:#000, fill:#00aad0, stroke:#000, stroke-width:1px, font-size:100%;
classDef mermaid_mm_earlydue color:#000, fill:#e5ca82, stroke:#000, stroke-width:1px, font-size:100%;
classDef mermaid_mm_due color:#000, fill:#33cc99, stroke:#000, stroke-width:1px, font-size:100%;
classDef mermaid_mm_latedue color:#000, fill:#e17572, stroke:#000, stroke-width:1px, font-size:100%;
class A1 mermaid_mm_beforeearlydue
class A2 mermaid_mm_earlydue
class A3 mermaid_mm_due
class A4 mermaid_mm_latedue - Execution State - defines the MAO from an execution perspective:
- Requested
- Approved
- Released
- In Progress
- Waiting For Acceptance
- Closed
- Rejected
- Reworked
- Closed
- Skipped
- Rejected
- Closed As Joined
- Canceled
graph TD
Start -->|Request| A1
A1[Requested] ==>|Approve| A2[Approved]
A1 -.->|Skip if AutoApproval| A2
A2 ==>|Release| A3[Released]
A2 -.->|Skip if AutoRelease| A3
A3 ==>|Begin| A4[In Progress]
A4 -.->|Skip if AutoAccept| A6
A4 ==>|Complete| A5[Waiting For Acceptance]
A5 ==>|Accept| A6[Closed]
A5 -->|Rework| A7[Reworked]
A1 -->|Skip| A8[Skipped]
A2 -->|Skip| A8[Skipped]
A3 -->|Skip| A8[Skipped]
A1 ---->|Reject| A9[Rejected]
A1 ---->|Join| A10[ClosedAsJoined]
A1 ---->|Cancel| A11[Canceled]
classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200;
classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden;
classDef mermaid_mao_requested color:#000, fill:#fff, stroke:#00318a, color:#000, stroke-width:6px, stroke-dasharray: 5 5, font-size:100%;
classDef mermaid_mao_approved color:#000, fill:#fff, stroke:#ffc000, color:#000, stroke-width:3px, font-size:100%;
classDef mermaid_mao_released color:#000, fill:#fff, stroke:#92d050, color:#000, stroke-width:3px, font-size:100%;
classDef mermaid_mao_inprogress color:#000, fill:#fff, stroke:#00b0f0, color:#000, stroke-width:3px, font-size:100%;
classDef mermaid_mao_waiting color:#000, fill:#fff, stroke:#ff5800, color:#000, stroke-width:3px, font-size:100%;
classDef mermaid_mao_closed color:#000, fill:#fff, stroke:#ff0000, color:#000, stroke-width:3px, font-size:100%;
class Title mermaid_title
class Start mermaid_start
class A1 mermaid_mao_requested
class A2 mermaid_mao_approved
class A3 mermaid_mao_released
class A4 mermaid_mao_inprogress
class A5 mermaid_mao_waiting
class A6,A7,A8,A9,A10,A11 mermaid_mao_closed It is possible to define, for each Schedule State transition, a set of actions to be performed automatically by the system. These actions can range from a simple notification to the submission of a purchase order in the ERP system.
It is also possible to put a Resource or Container on hold in case that the late due state is reached.
Info
Maintenance Management timers error distribution list and retry count can be configured in the following configuration entries /Cmf/System/configuration/MaintenanceManagement/Timers/ErrorDistributionList (defaults to null, which means, take the local suport email) and /Cmf/System/Configuration/MaintenanceManagement/Timers/RetryCount (default to 3)
Global and Versioned Data#
A Maintenance Plan, being a change controlled object, contains global data and versioned data components, as shown in the next picture.
graph TD
subgraph Maintenance Plan
Main1["Global Data<br>(Without Change Control)"] --- O1[None]
Main2["Versioned Data<br>(With Change Control)"] --- A2[All other]
end
classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200;
classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden;
classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%;
classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%;
classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%;
classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%;
classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%;
classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5;
classDef mermaid_state color:#000, fill:#d7e4bd, stroke:#000, stroke-width:1px, font-size:100%, font-weight:300;
class Main1,Main2 mermaid_entity
class A1,A2 mermaid_entitylinked
class C1,C2,C3,C4,C5,C6 mermaid_context
class O1 mermaid_optional Tying Everything Together#
graph LR
L1[Maintenance Plan Instance] === Main[Maintenance Plan]
A1[Resource] --- L1
A2[Container] --- L1
A3[Area] --- L1
A4[Material] --- L1
Main === L2[Maintenance Activity]
A5[Chart] --- L3[Maintenance Activity Chart]
L3 --- L2
L4[Maintenance Activity Personnel Requirement] --- L2
A6[Certification] --- L4
L5[Maintenance Activity Rule] --- L2
A7[Rule] --- L5
L2 -.- A8[Data Collection]
L2 -.- A9[BOM]
L2 -.- A10[Data Collection Limit Set]
L2 -.- A11[Checklist]
A12[Roles] --- L2
L6 --- L1
L6[Maintenance Activity Order] -.- A12
A13[Employee] -.- L6
A14[Checklist Instance] -.- L6
A15[Data Collection Instance] -.- L6
L6 --- L7[Maintenance Activity Order Employee]
L6 --- L8[Maintenance Activity Order Rule]
L7 --- A13
L8 --- A7
L6 --- L9[Maintenance Activity Order Part]
L9 --- L10[Maintenance Activity Order Part Material]
classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%;
classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%;
classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%;
classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%;
classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%;
classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5;
class Main mermaid_entity
class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15 mermaid_businessdata
class L1,L2,L3,L4,L5,L6,L7,L8,L9,L10 mermaid_entitylinked
class C1,C2,C3,C4,C5,C6 mermaid_context
class N1,N2,N3,N4,N5,N6 mermaid_nonbusinessdata
click Main "../../business-data/maintenance-plan"
click A1 "../../business-data/resource"
click A2 "../../business-data/container"
click A3 "../../business-data/area"
click A4 "../../business-data/material"
click A5 "../../business-data/chart"
click A6 "../../business-data/certification"
click A7 "../../administration/rule"
click A8 "../../business-data/data-collection"
click A9 "../../business-data/bom"
click A10 "../../business-data/data-collection-limit-set"
click A11 "../../business-data/checklist"
click A12 "../../administration/security/roles"
click A13 "../../business-data/employee"
click A14 "../../business-data/checklist"
click A15 "../../business-data/data-collection/data-collection-instance"
click L1 "../../business-data/maintenance-plan/maintenance-plan-instance"
click L6 "../../business-data/maintenance-activity-order" Sequence Of Steps#
The necessary steps for correctly creating and using a Maintenance Plan are:
- Optionally, create a BOM to define the list of Parts.
- Optionally, create Certifications as necessary.
- Optionally, create Checklists as necessary.
- Optionally, create Data Collections as necessary.
- Optionally, create SPC Charts as necessary.
- Create the Maintenance Plan - note that it is necessary to associate the Maintenance Plan Versions to a Change Set.
- Approve the Change Set, which contains the Maintenance Plan Version that has been created.
- Set Maintenance Plan Version effective for the Maintenance Plan Version that has been created and approved.
- Associate the Maintenance Plan with one or more Areas, Containers, Materials or Resources.
Info
For convenience, the Maintenance Plan can be configured to use implicit Change Sets. Please refer to the Change Set section for more information.
Info
For more information, see the Maintenance Management tutorial.