SpaceMaintenanceActivity (Ruimteonderhoudsactiviteit)
SpaceMaintenanceActivity is de detailregel binnen een SpaceMaintenance-planning en bevat de specifieke onderhoudstaak, de berekende kosten per jaar, de uitvoeringsfrequentie en de koppeling naar jaarplannen. De entiteit is de kleinste planningseenheid in het MJOP/LTAP-model en bepaalt wanneer en hoe duur een onderhoudsmaatregel is. Consultants configureren SpaceMaintenanceActivity bij de inrichting van de meerjarenonderhoudsplanning en bij het opzetten van conditiegestuurde onderhoudscycli.
Entiteitsnaam: SpaceMaintenanceActivity
Databasetabel: SpaceMaintenanceActivity
Contextsbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| 0 | SpaceMaintenanceActivityContext.None | Standaard |
| 1 | SpaceMaintenanceActivityContext.Standard | Standaard |
| 2 | SpaceMaintenanceActivityContext.LongTermMaintenancePlan | MJOP |
| 4 | SpaceMaintenanceActivityContext.LongTermAssetPlan | LTAP |
Statussenbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| -1 | SpaceMaintenanceActivityStatus.Trash | Trash |
| 0 | SpaceMaintenanceActivityStatus.None | None |
| 1 | SpaceMaintenanceActivityStatus.Created | Open |
| 2 | SpaceMaintenanceActivityStatus.Scheduled | Goedgekeurd |
| 4 | SpaceMaintenanceActivityStatus.Active | Actief |
| 8 | SpaceMaintenanceActivityStatus.Expired | Vervallen |
Belangrijkste propertiesbewerken
De entiteit heeft in totaal 139 properties. Hieronder de belangrijkste; gebruik
lookup_entity("SpaceMaintenanceActivity")voor de volledige lijst.
| Property | Type | Kolom | Nullable | Default | Omschrijving |
|---|---|---|---|---|---|
| Id.MaintenancePartActivity | MaintenancePartActivity | SPCMAMNTPID, SPCMAMNTAID | Nee | , | Combinatiesleutel naar het onderhoudsdeel en de bijbehorende standaard activiteit (verplicht) |
| Id.SpaceMaintenance | SpaceMaintenance | SPCMASPCMID | Nee | Bovenliggende SpaceMaintenance-regel waaronder deze activiteit valt (verplicht) | |
| CalculationMethod | SpaceMaintenanceActivityCalculationMethod | SPCMACALCULATIONMETHOD | Nee | Berekeningsmethode voor de activiteitskosten (bv. oppervlakte, eenheidsprijs) | |
| CostCenter | CostCenter | SPCMACCRID | Ja | Kostenplaats waaraan de kosten van deze activiteit worden toegerekend | |
| CostType | CostType | SPCMACSTTID | Ja | Kostensoort van de activiteit (bv. preventief, correctief) | |
| LastInspectionDate | Date? | SPCMALASTINSPECTIONDATE | Ja | Datum van de meest recente inspectie voor deze activiteit | |
| LastMaintenanceDate | Date? | SPCMALASTMAINTENANCEDATE | Ja | Datum waarop het onderhoud voor deze activiteit voor het laatste is uitgevoerd | |
| MaintenanceFrequencyMethod | SpaceMaintenanceActivityMaintenanceFrequencyMethod | SPCMAMAINTFREQUENCYMETHOD | Nee | Methode voor het bepalen van de onderhoudsfrequentie (bv. op basis van periode of conditie) | |
| MaintenanceState | MaintenanceState | SPCMAMNTSID | Ja | Onderhoudsstaat na uitvoering van deze activiteit | |
| NextInspectionDate | Date? | SPCMANEXTINSPECTIONDATE | Ja | Geplande datum voor de volgende inspectie | |
| NextMaintenanceState | MaintenanceState | SPCMANEXTMNTSID | Ja | Verwachte onderhoudsstaat na de volgende geplande onderhoudsingreep | |
| PreviousYearPlan | YearPlan | SPCMAPREVYRPID | Ja | Jaarplan waaraan deze activiteit in de vorige planningsronde was gekoppeld | |
| ProviderMutationDate | DateTime? | SPCMAPROVIDERMUTDATE | Ja | Laatste mutatiedatum vanuit de externe data-provider | |
| RecordCreateDate | DateTime? | SPCMARECCREATEDATE | Ja | SYSDATETIME | Aanmaakdatum van het record |
| SystemCompany | Company | SPCMACOMPID | Nee | Bedrijf binnen de Ultimo-omgeving waartoe deze activiteit behoort (verplicht) | |
| YearPlan | YearPlan | SPCMAYRPID | Ja | Huidig jaarplan waaraan deze activiteit is gekoppeld | |
| Active | Boolean | SPCMAACTIVE | Nee | 0 | Geeft aan of de activiteit actief is in de planning (default: 0 = inactief) |
| AdjustedConstructionYear | Decimal | SPCMAADJCONSTRUCTIONYEAR | Nee | 0 | Gecorrigeerd bouwjaar voor de levensduurberekening van het onderhoudsonderdeel |
| CalculatedCost | Decimal | SPCMACALCCOST | Nee | Berekende kosten voor deze activiteit op basis van de opgegeven berekeningsmethode | |
| ConditionScore | UltimoString(11) | SPCMACONDITIONAFTACT | Ja | Conditiescore die na uitvoering van de activiteit wordt vastgelegd | |
| Context | Context | SPCMACONTEXT | Nee | Context van de activiteit (MJOP = 2, LTAP = 4, Standaard = 1) | |
| CostYear1 | CompanyMoney | SPCMACOSTYEAR1 | Nee | 0 | Kostenprognose voor jaar 1 van de planningshorizon voor deze activiteit |
| CostYear10 | CompanyMoney | SPCMACOSTYEAR10 | Nee | 0 | Kostenprognose voor jaar 10 van de planningshorizon |
| CostYear11 | CompanyMoney | SPCMACOSTYEAR11 | Nee | 0 | Kostenprognose voor jaar 11 van de planningshorizon |
| CostYear12 | CompanyMoney | SPCMACOSTYEAR12 | Nee | 0 | Kostenprognose voor jaar 12 van de planningshorizon |
| CostYear13 | CompanyMoney | SPCMACOSTYEAR13 | Nee | 0 | Kostenprognose voor jaar 13 van de planningshorizon |
| CostYear14 | CompanyMoney | SPCMACOSTYEAR14 | Nee | 0 | Kostenprognose voor jaar 14 van de planningshorizon |
| CostYear15 | CompanyMoney | SPCMACOSTYEAR15 | Nee | 0 | Kostenprognose voor jaar 15 van de planningshorizon |
Functionaliteit & property-gedragbewerken
Veel SpaceMaintenanceActivity-properties worden niet handmatig ingevuld maar door workflows berekend en gevuld. Onderstaande paragrafen beschrijven het gedrag van de belangrijkste velden; gebruik lookup_property_usage("SpaceMaintenanceActivity", "<property>") voor de volledige, actuele lijst workflows per property en lookup_workflow("<naam>") voor de XML.
Kosten- en prijsberekening (
Price,UnitPrice,FixedPrice,CalculatedCost,CostYear1…CostYear15) — De kostenprognose per jaar wordt niet statisch opgeslagen maar dynamisch herberekend doorSpaceMaintenanceActivity_UpdateCostYears. Deze workflow leestCalculationMethod,Quantity,UnitPriceenFixedPriceen verdeelt de resulterendePriceover de jaarkolommen (CostYear1t/mCostYear15) op basis van de geplande uitvoermomenten.MaintenancePartActivity_CalculationUpdatesherberekentUnitPricewanneer de onderliggende MaintenancePartActivity wijzigt (bijv. bij een tariefwijziging). Consultanttip: pas je een eenheidsprijs aan op de MaintenancePartActivity, dan werktMaintenancePartActivity_CalculationUpdatesde UnitPrice bij, waarnaSpaceMaintenanceActivity_UpdateCostYearsde jaarkolommen opnieuw vult — controleer altijd beide stappen bij massale tariefwijzigingen.Onderhoudsfrequentie en -methode (
MaintenanceFrequency,MaintenanceFrequencyMethod) —MaintenanceFrequency(aantal keer per planningshorizon) wordt bij activatie gevuld doorMaintenancePart_PreActivate_AddAlterSpaceMaintenanceActivityen na wijzigingen bijgewerkt doorMaintenancePartActivity_CalculationUpdatesenSpaceMaintenanceActivity_InsertActivityMoments.MaintenanceFrequencyMethod(period-based of condition-based) wordt gelezen doorSpaceMaintenanceActivity_InsertActivityMomentsenSpaceMaintenanceActivity_UpdateMaintenanceMomentsom te bepalen hoe de uitvoermomenten worden berekend: bij de period-methode resulteert de frequentie in vaste intervallen; bij de condition-methode stuurt de conditiescore de volgende uitvoering aan.Uitvoermomenten en volgend onderhoudsjaar (
NextMaintenanceYear,NextMaintenanceYearInspector,ActivityMoments) —SpaceMaintenanceActivity_UpdateMaintenanceMomentsis de centrale workflow die op basis vanMaintenanceFrequency,MaintenanceFrequencyMethoden de verstreken uitvoering hetNextMaintenanceYearherberekent.SpaceMaintenanceActivity_InsertActivityMomentsmaakt de onderliggendeActivityMoments-records aan (één per gepland uitvoerjaar).NextMaintenanceYearInspectoris het veld dat de inspecteur ter plekke kan corrigeren:Mobile_SpaceMaintenanceActivity_ChangeYearAccordingToInspectorschrijft dit veld vanuit de mobiele app, waarnaYearPlanScenario_PreDefinitive_UpdateYearPlanScenarioLinede definitieve scenarioregel bijwerkt. Consultanttip:NextMaintenanceYearis het systeemjaar;NextMaintenanceYearInspectoris de handmatige override — bij het definitief maken van een scenario wint de inspecteur-waarde.Gecorrigeerd bouwjaar en levensduur (
AdjustedConstructionYear) — Bij de initiële aanmaak of bij een gebouwjaarswijziging berekentSpaceMaintenanceActivity_CalculateAdjustedConstructionYearhet gecorrigeerde bouwjaar op basis van het gekoppeldeYearPlan.LongTermAsset_ChangeBuildingYearschrijft dit veld ook als het bouwjaar van het langetermijn-asset wordt aangepast. Het gecorrigeerde bouwjaar wordt gebruikt doorYearPlanScenario_CreateLtapLinesenYearPlanScenario_CreateScenarioLinesbij het opbouwen van scenarioregels, zodat de restlevensduurberekening klopt bij deelrenovaties.Statusbeheer en activering (
Status,Active) — De activiteit doorloopt de statussen via dedicated workflows:SpaceMaintenanceActivity_ActivateenSpaceMaintenanceActivity_Deactivateschakelen tussen Active (4) en andere statussen;SpaceMaintenanceActivity_PreTrashbewaakt de verwijdering. De booleanActive(default 0) wordt doorSpaceMaintenanceActivity_PreActivate,SpaceMaintenanceActivity_PreExpiredenSpaceMaintenanceActivity_PreOpengezet en bepaalt of de activiteit meedraait in kostenberekeningen en jaarplanopbouw.SpaceMaintenanceActivity_Reactivateherstart een inactieve activiteit en filtert opActiveenQuantityom te bepalen of heractivering zinvol is.Jaarplanscenario-koppeling (
YearPlan,PreviousYearPlan,LastMaintenanceYear) — Bij het aanmaken van een concept-scenario schrijftYearPlanScenario_PostConceptde veldenYearPlan,PreviousYearPlan,LastMaintenanceYear,NextMaintenanceYearen de bijbehorende "PreviousYearPlan"-varianten. Bij definitief maken van een scenario (YearPlanScenario_PreDefinitiveenYearPlanScenario_PreDefinitive_UpdateYearPlanScenarioLine) worden deze velden definitief vastgelegd en wordenMaintenanceFrequencyenNextMaintenanceYearInspectorgeüpdatet vanuit de gekozen scenarioregel.YearPlanScenario_CreateScenarioLinesenYearPlanScenario_CreateLtapLineslezen vervolgensLastMaintenanceYear,AdjustedConstructionYearenNextMaintenanceYearom de scenarioregels op te bouwen.
Relaties met andere entiteitenbewerken
| Property | Verwijst naar | Nullable |
|---|---|---|
| Id.MaintenancePartActivity | MaintenancePartActivity | Nee |
| Id.SpaceMaintenance | SpaceMaintenance | Nee |
| CostCenter | CostCenter | Ja |
| CostType | CostType | Ja |
| MaintenanceState | MaintenanceState | Ja |
| NextMaintenanceState | MaintenanceState | Ja |
| PreviousYearPlan | YearPlan | Ja |
| SystemCompany | Company | Nee |
| YearPlan | YearPlan | Ja |
Onderliggende / verwijzende entiteiten (1-op-veel)bewerken
De volgende entiteiten verwijzen naar SpaceMaintenanceActivity:
| Entiteit | Via property |
|---|---|
| SpaceMaintenanceActivityMoment | Id.SpaceMaintenanceActivity |
| YearPlanScenarioLine | SpaceMaintenanceActivity |
Tips voor consultantsbewerken
- Statussen bewaken de workflow: Een activiteit doorloopt de statussen Created (1) → Scheduled (2) → Active (4) → Expired (8). Activiteiten die de status Expired krijgen, moeten worden geëvalueerd: is de planning nog actueel of dient de SpaceMaintenance-regel te worden herzien?
- Active-vlag: De boolean
Active(default 0) bepaalt of de activiteit meegenomen wordt in kostenberekeningen en jaarplannen. Vergeet niet deze vlag in te stellen bij import of bulkopvoer, anders verschijnen de activiteiten niet in het MJOP-overzicht. - Berekeningsmethode:
CalculationMethodenCalculatedCostwerken samen: de berekeningsmethode bepaalt of kosten worden berekend op basis van oppervlakte, eenheidsprijs of een vaste bedrag. Controleer de instelling per activiteitstype om onjuiste prognoses te voorkomen. - AdjustedConstructionYear: Dit veld wordt gebruikt om de resterende levensduur te berekenen wanneer een onderdeel later is vervangen dan het bouwjaar. Vul het in bij renovaties of deelvervanging zodat de vervangingsprognose klopt.
- Jaarplan-koppeling:
YearPlanenPreviousYearPlanleggen de historie vast van welke activiteit in welk jaarplan is opgenomen. GebruikPreviousYearPlanbij evaluaties van de uitvoering in vorige planperioden. - Trigger SpcmaEndYearMaintFreq: De kolom
SpcmaEndYearMaintFreqwordt automatisch bijgewerkt door de triggerTRGU_Companybij wijzigingen in de bedrijfsinstellingen. Dit veld stuur je niet aan — het is een berekende eindgrens voor de onderhoudsfrequentie.
Database Detailsbewerken
De tabel dba.SpaceMaintenanceActivity bevat 138 kolommen, 0 eigen trigger(s), 1 externe triggers en 10 foreign keys.
Kolommen gezet door triggersbewerken
Deze kolommen worden automatisch bijgewerkt door database-triggers en mogen niet handmatig worden aangepast.
| Kolom | Type | Trigger(s) |
|---|---|---|
SpcmaEndYearMaintFreq |
int | TRGU_Company |
Belangrijke defaultsbewerken
| Kolom | Default |
|---|---|
SpcmaContext |
0 |
SpcmaRecStatus |
0 |
SpcmaActive |
0 |
SpcmaAdjConstructionYear |
0 |
SpcmaCalcCost |
0 |
SpcmaCalculationMethod |
0 |
SpcmaCostYear1 |
0 |
SpcmaCostYear10 |
0 |
SpcmaCostYear11 |
0 |
SpcmaCostYear12 |
0 |
SpcmaCostYear13 |
0 |
SpcmaCostYear14 |
0 |
SpcmaCostYear15 |
0 |
SpcmaCostYear16 |
0 |
SpcmaCostYear17 |
0 |
Brondatabewerken
Let op: De wiki-samenvatting hierboven toont een curated subset van properties en praktische consultant-tips. Voor ground truth (exacte kolomnamen, alle properties, defaults, triggers) gebruik de onderstaande tools.
- Entity-definitie —
lookup_entity("SpaceMaintenanceActivity")· reference/entities/SpaceMaintenanceActivity Alle properties, contexts en statussen. Bron:Entities.xml. - DB-schema —
lookup_table_schema("SpaceMaintenanceActivity")· reference/tables/SpaceMaintenanceActivity Alle DB-kolommen, triggers, computed columns en defaults. Bron:database-schema.json. - Gerelateerde workflows —
find_workflows("", entity="SpaceMaintenanceActivity")Alle Before/After Save events en andere workflow-ActionFields. Bron:workflows.xml. - Property-gebruik —
lookup_property_usage("SpaceMaintenanceActivity", "NextMaintenanceYear")· reference/properties/SpaceMaintenanceActivity Welke workflows een specifieke SpaceMaintenanceActivity-property lezen/schrijven/filteren (per property). Bron:workflows.xml. - Workflow-XML van een vuller —
lookup_workflow("SpaceMaintenanceActivity_UpdateCostYears")De volledige logica achter de jaarlijkse kostenprognoseberekening (Price → CostYear1…CostYear15). Bron:workflows.xml.
Het volledige overzicht van álle SpaceMaintenanceActivity-properties met hun schrijvende/lezende/filterende workflows staat in reference/properties/SpaceMaintenanceActivity.
Zie ookbewerken
- space-maintenance - De bovenliggende MJOP-planningsregel
- year-plan - Het jaarplan waaraan de activiteit is gekoppeld
- maintenance-state - Onderhoudsstaten gekoppeld aan de activiteit
- cost-center - Kostenplaats voor kostentoewijzing per activiteit
- cost-type - Kostensoort van de activiteit
- room - Ruimte bovenaan de hiërarchie via SpaceMaintenance