Categorie: entities
Bijgewerkt: 2026-04-05
pm-workorder preventief onderhoud po-model planning looproute
PmWorkOrder (Preventief Onderhoudsmodel)
De PmWorkOrder-entiteit (ook wel PO-model genoemd) definieert het preventief onderhoud in Ultimo. Een PO-model bepaalt welk onderhoud wanneer moet worden uitgevoerd, op basis van tijd (frequentie) of conditie (meetwaarden). Het PO-model genereert automatisch jobs wanneer onderhoud gepland staat.
Entiteitsnaam: PmWorkOrder
Databasetabel: PmWorkOrder
Primaire sleutel: PMWID (nvarchar 5)
| Value |
Naam |
Beschrijving |
| 0 |
PmWorkOrderContext.None |
Standaard |
| 1 |
PmWorkOrderContext.Standard |
Standaard |
| 2 |
PmWorkOrderContext.Instrument |
Instrument |
| 4 |
PmWorkOrderContext.CourseRoute |
Looproute |
| 8 |
PmWorkOrderContext.ChangeTemplate |
Wijzigingssjabloon |
| 16 |
PmWorkOrderContext.Building |
Gebouw |
| 32 |
PmWorkOrderContext.PeriodicActivity |
Periodieke activiteit |
| 64 |
PmWorkOrderContext.Fleet |
Fleet |
| 128 |
PmWorkOrderContext.BuildingCourseRoute |
Looproute Gebouw |
| 256 |
PmWorkOrderContext.InfraCourseRoute |
Looproute Infra |
| 512 |
PmWorkOrderContext.PeriodicActivityParent |
Groeps-PO-model |
| 1024 |
PmWorkOrderContext.PeriodicActivityChild |
PO-model |
| 32768 |
PmWorkOrderContext.Infra |
Infra |
| 131072 |
PmWorkOrderContext.IT |
IT |
| Value |
Naam |
Beschrijving |
| -1 |
PmWorkOrderStatus.Trash |
Trash |
| 0 |
PmWorkOrderStatus.None |
None |
| 1 |
PmWorkOrderStatus.Created |
Open |
| 2 |
PmWorkOrderStatus.Approved |
Goedgekeurd |
Belangrijkste propertiesbewerken
| Property |
Type |
Kolom |
Nullable |
Omschrijving |
| Id |
UltimoString(5) |
PMWID |
Nee |
PO-model ID |
| Description |
UltimoString(250) |
PMWDESCR |
Ja |
Omschrijving |
| Frequency |
Int32 |
PMWDAYS |
Nee |
Frequentie (aantal) |
| FrequencyPeriod |
Frequency |
PMWFRQID |
Ja |
Frequentieperiode (dag/week/maand/jaar) |
| Dynamic |
Boolean |
PMWFRQCODE |
Nee |
Dynamisch (conditie-gestuurd) |
| NextMaintenanceDate |
Date? |
PMWSTARTDATE |
Ja |
Volgende onderhoudsdatum |
| LastMaintenanceDate |
Date? |
PMWENDDATE |
Ja |
Laatste onderhoudsdatum |
| IndicatorMaintenanceInterval |
Decimal |
PMWHOURS |
Nee |
Meterstand-interval |
| IndicatorValueLastMaintenance |
Decimal |
PMWSTATE |
Nee |
Meterstand bij laatste onderhoud |
| IndicatorValueNextMaintenance |
Decimal |
PMWSTATENEXTEXECUTION |
Nee |
Meterstand bij volgend onderhoud |
| AutoClose |
Boolean |
PMWAUTOCLOSE |
Nee |
Auto-sluiten |
| GenerateImmediately |
Boolean |
PMWMAINTNEC |
Nee |
Direct genereren |
| ExecutionDays |
Int32 |
PMWEXECUTIONDAYS |
Nee |
Uitvoeringsdagen |
| ExecutionPercentage |
Int32 |
PMWEXECUTIONPERCENTAGE |
Nee |
Uitvoeringspercentage |
| Hierarchy |
Int16 |
PMWHIERARCHY |
Nee |
Hierarchieniveau |
| DaysAWeek |
Int16 |
PMWDAYSAWEEK |
Nee |
Werkdagen per week (default: 7) |
| StopRelated |
Boolean |
PMWSTOPRELATED |
Nee |
Stop-gerelateerd |
| TotalCalculated |
CompanyMoney |
PMWTOTALCALC |
Nee |
Totaal berekend (readonly/computed) |
| BelongsToSchema |
Boolean |
PMWBELONGSTOSCHEMA |
Nee |
Behoort tot schema |
| IsBulk |
Boolean |
PMWISBULK |
Nee |
Bulk-inspectie |
Relaties met andere entiteitenbewerken
| Property |
Verwijst naar |
Omschrijving |
| Equipment |
equipment |
Gekoppeld equipment |
| EquipmentMeasurementPoint |
EquipmentMeasurementPoint |
Meetpunt (conditie-gestuurd) |
| ProcessFunction |
ProcessFunction |
Procesfunctie |
| JobPlan |
JobPlan |
Werkplan |
| Employee |
employee |
Uitvoerend medewerker |
| SkillCategory |
SkillCategory |
Vakgroep |
| Priority |
Priority |
Prioriteit |
| WorkOrderType |
WorkOrderType |
Werkordertype |
| WorkOrder |
WorkOrder |
Werkorder |
| CostCenter |
CostCenter |
Kostenplaats |
| CostType |
CostType |
Kostensoort |
| Department |
Department |
Afdeling |
| Site |
Site |
Vestiging |
| Vendor |
Vendor (supplier) |
Leverancier |
| ServiceContract |
ServiceContract |
Servicecontract |
| MaintenanceClassification |
maintenance-classification |
Onderhoudsconcept |
| GroupPmWorkOrder |
PmWorkOrder |
Groeps-PO-model |
| PmWorkOrdersInGroup |
List[PmWorkOrder] |
PO-modellen in groep |
| PmJobs |
List[PmJob] |
PO-taken |
| Jobs |
List<Job> |
Gegenereerde jobs |
| InspectionLines |
List[InspectionLine] |
Inspectielijnen |
Tips voor consultantsbewerken
- Frequentie vs. Conditie: Een PO-model kan tijdgestuurd (vaste frequentie) of conditiegestuurd (op basis van meetpuntwaarden) zijn. Bij conditiegestuurd staat
Dynamic = true.
- Marges: Via
MarginBeforeQuantity/MarginAfterQuantity en bijbehorende tijdseenheden kan een marge worden ingesteld waarbinnen een job moet worden uitgevoerd.
- Groeps-PO: Met
GroupPmWorkOrder kunnen PO-modellen worden gegroepeerd zodat ze gezamenlijk worden aangestuurd.
- Looproutes: Context
CourseRoute (4) wordt gebruikt voor inspectieroutes waarbij een monteur meerdere equipments langs gaat.
- Generatie: Het PO-model genereert jobs via de PO-run (WorkOrderSchedule). De
NextMaintenanceDate wordt automatisch berekend.
- Werkplan: Via het
JobPlan worden standaard materialen, taken, resources en uren op de gegenereerde job gezet.
- Stop-gerelateerd: Met
StopRelated = true worden jobs alleen gegenereerd tijdens een plant-stop.
- Uitvoeringspercentage: Via
ExecutionPercentage kan worden aangegeven hoeveel procent van de geplande taken daadwerkelijk wordt uitgevoerd.
De tabel dba.PmWorkOrder bevat 106 kolommen.
Computed columns (berekende velden)bewerken
| Kolom |
Formule |
Toelichting |
PmwTotalCalc |
PmwMatCalc + PmwExtCalc + PmwTlsCalc + PmwResCalc + PmwPurchaseRequestCalc |
Totaal berekende kosten -- som van alle begrote kostencomponenten (materiaal, extern, gereedschap, resources, bestelaanvragen) |
Kolommen gezet door triggers (selectie van 21 trigger-kolommen)bewerken
Kostengerelateerde kolommen (allemaal decimal(21,5)):
| Kolom |
Bron |
Toelichting |
PmwMatCalc |
JpMat (werkplan-materialen) |
Begrote materiaalkosten |
PmwExtCalc |
JpExt (werkplan-extern) |
Begrote externe kosten |
PmwTlsCalc |
JpTls (werkplan-gereedschap) |
Begrote gereedschapskosten |
PmwResCalc |
JpRes (werkplan-resources) |
Begrote resourcekosten |
PmwPurchaseRequestCalc |
JpPurchaseRequestLine |
Begrote inkoopkosten |
PmwSubMatCalc / PmwSubExtCalc / PmwSubTlsCalc / PmwSubResCalc / PmwSubPurchaseRequestCalc |
Onderliggende PO-modellen |
Kosten van sub-PO-modellen (bij groeps-PO) |
Relatie- en scheduling-kolommen:
| Kolom |
Type |
Toelichting |
PmwRecStatus |
int |
Status (trigger-gestuurd) |
PmwSitId |
nvarchar(8) |
Vestiging (overgenomen van equipment) |
PmwDepId |
nvarchar(11) |
Afdeling |
PmwCcrId |
nvarchar(9) |
Kostenplaats |
PmwPrfId |
nvarchar(50) |
Procesfunctie |
PmwSpcId |
nvarchar(40) |
Ruimte |
PmwEqmmspEqmId / PmwEqmmspMspId |
nvarchar |
Equipment meetpunt-referentie (voor conditiegestuurd PO) |
PmwMeterEqmId |
nvarchar(24) |
Meter-equipment (voor meterstandgestuurd PO) |
PmwPrfmspMspId / PmwPrfmspPrfId |
nvarchar |
Procesfunctie-meetpunt referentie |
Belangrijke defaultsbewerken
| Kolom |
Default |
Toelichting |
PmwContext |
1 (Standaard) |
Standaard context |
PmwRecStatus |
0 (None) |
Standaard status |
PmwDays |
0 |
Frequentie (moet ingesteld worden) |
PmwFrqCode |
0 |
Frequentiecode (0 = niet dynamisch) |
PmwHours |
0 |
Meterstand-interval |
PmwState |
0 |
Huidige meterstand |
PmwStateNextExecution |
0 |
Meterstand volgende uitvoering |
PmwAutoClose |
0 (false) |
Niet automatisch sluiten |
PmwAutoPmActive |
0 (false) |
Auto-PM niet actief |
PmwBelongsToSchema |
0 (false) |
Behoort niet tot schema |
PmwHierarchy |
0 |
Geen hierarchie |
PmwIsBulk |
0 (false) |
Geen bulk-inspectie |
PmwStartState |
0 |
Beginstatus meterstand |
PmwMaintNec |
0 (false) |
Niet direct genereren |
PmwStopRelated |
0 (false) |
Niet stop-gerelateerd |
PmwUseExecutionPercentage |
1 (true) |
Uitvoeringspercentage standaard gebruiken |
PmwDeviateFromMntc |
0 (false) |
Niet afwijken van onderhoudsconcept |
PmwReopenedAutomatically |
0 (false) |
Niet automatisch heropend |
PmwRecCreateDate |
sysdatetimeoffset() |
Aanmaakdatum automatisch |
Triggers en externe triggersbewerken
PmWorkOrder heeft 2 eigen triggers (INSERT, UPDATE) en wordt beinvloed door 17 externe triggers:
- PmJob-triggers: Wijzigingen in PO-taken updaten het PO-model
- JpMat/JpExt/JpTls/JpRes/JpPurchaseRequestLine-triggers: Werkplan-componentwijzigingen herberekenen de kostenkolommen
- ObjectJobPlan/PmJobJobPlan-triggers: Werkplan-koppelingen synchroniseren
- Equipment-triggers: Wijzigingen aan equipment propageren naar het PO-model
- ProcessFunction-triggers: Procesfunctie-wijzigingen (inclusief DELETE) propageren
Consultanttip: De Sub-kostenkolommen (SubMatCalc, etc.) zijn relevant bij groeps-PO-modellen en bevatten de opgetelde kosten van onderliggende PO-modellen. Bij het analyseren van kosten voor een PO-model moet je zowel de directe kosten als de sub-kosten bekijken.