Ultimo Implementatie
Dit artikel beschrijft de belangrijkste aspecten van een Ultimo-implementatie: data-importmethoden, master data setup, opbouwen van de asset tree en het inrichten van de autorisatie. Een succesvolle implementatie vereist een doordachte aanpak waarbij de juiste methoden worden gekozen voor het importeren van gegevens en het activeren van Ultimo-logica.
Data Import Methodenbewerken
Er zijn vier methoden beschikbaar om data in Ultimo te krijgen:
1. Handmatigbewerken
Voor kleine aantallen records (minder dan 100) is handmatige invoer de eenvoudigste optie. Voorbeelden: 20 jobsoorten, 10 afdelingen.
Let op: Handmatig aangemaakte data kan niet eenvoudig naar een andere omgeving worden overgezet.
2. Data Collection Sheets (DCS)bewerken
DCS is de aanbevolen methode voor grotere hoeveelheden eenvoudige records. Het werkt via Excel-bestanden.
Het DCS-proces: 1. Consultant maakt of past de XML-definitie aan 2. Export op basis van de definitie (door consultant of applicatiebeheerder) 3. Klant vult het Excel-bestand met data 4. Validatie in de omgeving (maintenance mode vereist) 5. Bij fouten: sheet terug naar klant, iteratief corrigeren 6. Import van het gevalideerde bestand (maintenance mode vereist)
Importacties per entiteit: Insert, InsertOrUpdate, InsertOrSkip, Update, UpdateOrSkip, Delete, DeleteOrSkip, Trash, TrashOrSkip
Securityniveau: DCS is beschikbaar in de UCT onder Database > Data Collections met security level 26 of lager. Consultants en gecertificeerde applicatiebeheerders (level 18) kunnen definities aanmaken of wijzigen.
Consultanttip: Bestaande recordcodes worden overschreven bij import als er matchende waarden zijn. Let ook op dat Excel automatisch voorloopnullen verwijdert bij numerieke cellen.
3. Data Import Tool (UDIT)bewerken
UDIT wordt gebruikt bij een datamigratie vanuit een bestaand systeem. Er wordt een directe verbinding gemaakt tussen de brondatabase en Ultimo. De consultant maakt een mapping van bron- naar doelvelden.
Voordelen: - Data is continu beschikbaar - Dynamisch: klant hoeft data niet eerst te bewerken - Direct van database naar database
4. Direct via database (SQL)bewerken
SQL-import wordt gebruikt als alternatief voor DCS, met name bij: - Dataconversies (bijv. equipment omzetten naar procesfuncties) - Een Excel-document met data voor meerdere gekoppelde tabellen
Maak altijd een backup van de database voordat je data importeert via SQL.
Wat wel en niet importerenbewerken
Wel importerenbewerken
| Entiteit | Methode |
|---|---|
| Vestigingen (Sites) | DCS of handmatig |
| Afdelingen | DCS of handmatig |
| Installaties (Equipment) | DCS |
| Procesfuncties | DCS |
| Artikelen | DCS |
| PO-modellen | DCS (maar goedkeuren via Ultimo-logica) |
| PO-jobs | DCS (maar goedkeuren via Ultimo-logica) |
| Jobsoorten, uurcodes, etc. | Handmatig of DCS |
Niet importeren -- gebruik Ultimo-logicabewerken
| Wat | Waarom niet | Hoe dan wel |
|---|---|---|
| Artikelvoorraad | Wordt door meerdere entiteiten bepaald | Maak voorraadcorrectie, klik handmatig "Goedkeuren" |
| Artikelprijzen | Idem | Maak prijsaanpassing, klik handmatig "Goedkeuren" |
| Inbouwen equipment in procesfunctie | Trigger bijbehorende workflows | Import beide tabellen apart, klik handmatig "Installatie inbouwen" |
| PO-model goedkeuring | Workflows moeten draaien | Import PO-model, klik handmatig "Goedkeuren PM model" |
| HSE-suite data | Alles is verweven | Handmatig inrichten |
| Plannerdata | Grafische planners vergen specifieke logica | Niet importeren |
| Onderhoudstaken (Operations) | Moeten worden ingepland | Niet importeren |
Gouden regel: Als een handeling in Ultimo een knop of workflow triggert, importeer dan de onderliggende data maar voer de actie handmatig uit.
Master Data Setup (MDS)bewerken
MDS is bedoeld om snel basisstamdata in een nieuwe omgeving te laden. Het is verplicht in alle Ultimo-producten.
Aanbevolen stamdatabewerken
Algemeen:
| Entiteit | Voorbeelden |
|---|---|
| Site | Hoofdkantoor, Vestiging 1, Vestiging 2 |
| Department | Productie, Kantoor, Logistiek, Technische Dienst |
Werkorderbeheer:
| Entiteit | Voorbeelden |
|---|---|
| Workorder type | Storing, Reparatie, Periodiek Onderhoud, Inspectie |
| Fail type | Menselijke fout, Pneumatisch, Mechanisch, Elektrotechnisch |
| Hour code | Storing, Reparatie, PO, Inspectie |
| Hour categories | Standaarduren, Normale uren, Overwerk weekend |
Personeel:
| Entiteit | Voorbeelden |
|---|---|
| Teams | Monteurs, Inspecteurs, Operators |
| Specialists | Werktuigbouwkundige, Elektrotechnicus, Inspecteur |
Consultanttip: Leg de MDS vast in een package. Zo kun je dezelfde stamdata eenvoudig naar andere omgevingen (Test, Productie) transporteren.
Asset Tree opbouwenbewerken
Zie assets voor uitgebreide documentatie. De kernpunten voor implementatie:
Bepaal het detailniveaubewerken
Bespreek met de klant: - Welke soorten assets zijn er? Hoe verhouden ze zich? - Op welk assetniveau moeten jobs worden gemeld? - Op welk niveau wil je inzicht in kosten? - Moet installatie- en uitbouwhistorie worden bijgehouden? - Welk type periodiek-onderhoud wordt toegepast? - Zijn er vaste ID's? Mag de eindgebruiker deze wijzigen?
Scenario'sbewerken
| Situatie | Advies |
|---|---|
| Productielijnen met vaste assets | Productielijnen als procesfuncties, vaste assets als equipment, wisselbare delen als exchange parts |
| Geen vaste productielijnen | Equipment of exchange parts |
| Vaste tagnummers maar wisselbare assets | Tagnummer als procesfunctie, asset als equipment (historie via in-/uitbouw) |
Belangrijke beperkingenbewerken
- Wisseldelen (exchange parts) kunnen niet worden gebruikt in looproutes, reserveringen, uitgiftebeheer, indienststellingsdossiers of afschrijvingen
- Procesfuncties kunnen niet worden gebruikt in reserveringen, uitgiftebeheer, indienststellingsdossiers of wachtoverdracht
- Als de klant looproutes wil gebruiken, registreer wisseldelen dan als equipment
Gebouwstructuurbewerken
Altijd aanbevolen om in te richten voor kostenrapportage per ruimte:
Site > Complex > Gebouw > Bouwdeel > Bouwlaag > Ruimte
Gebouw, bouwdelen en bouwlagen zijn verplicht in de structuur. Als ze niet van toepassing zijn, voeg een standaard dummy-niveau toe.
Autorisatie Setupbewerken
Zie autorisatie voor uitgebreide documentatie. De kernstappen bij implementatie:
1. Definieer backofficesbewerken
Bespreek welke afdelingen Ultimo gaan gebruiken en maak een configuratiegroep per backoffice.
2. Zet de basis neerbewerken
- Geef je eigen groep (STDGRP) alle rechten
- Sluit de applicatie op application level
- Maak groepen per backoffice
3. Definieer autorisatiegroepenbewerken
Splits de autorisatie per afdeling/module in autorisatiegroepen:
- Aut_TS_Manager
- Aut_TS_ApproveJobs
- Aut_TS_SelfService
4. Richt recordautorisatie inbewerken
- Bepaal op welke tabellen recordautorisatie nodig is
- Maak recordautorisatiegroepen aan
- Koppel gebruikers aan de juiste groepen
5. Gebruikers activerenbewerken
Bepaal welke gebruikers geactiveerd moeten worden. Dit kan in batch via een workflow op basis van de laatste logindatum.
Consultanttip: Implementeer autorisatiewijzigingen eerst in een testomgeving. De klant controleert of de actieve gebruikers correct zijn ingesteld. Na goedkeuring wordt de scripting uitgevoerd. Houd rekening met de wachttijd van 10 dagen voor het deactiveren van gebruikers.
DTAP (OTAP)bewerken
Ultimo werkt met een OTAP-straat: - Ontwikkeling: configuratie en ontwikkeling - Test: functioneel testen - Acceptatie: gebruikersacceptatie - Productie: live omgeving
Configuratiewijzigingen worden via packages door de straat getransporteerd.
Bulk Adjustmentsbewerken
Bulk adjustments bieden eindgebruikers de mogelijkheid om meerdere records tegelijk aan te passen: 1. Filter records 2. Activeer bulk mode 3. Verfijn de selectie 4. Selecteer een wijzigingsactie 5. Voer de actie uit
Custom bulk actions kunnen worden aangemaakt (met goedkeuring van product management) en zijn bedoeld voor eenvoudige datamutaties.
Go-Live checklistbewerken
Bij de go-live: - Alle stamdata correct geladen - Asset tree compleet en gevalideerd door de klant - Autorisatie ingericht en getest - PO-modellen goedgekeurd - Workflows en notificaties geconfigureerd - Gebruikers geactiveerd - Training afgerond
Data Collection Sheet (DCS) — Uitgebreidbewerken
DCS-configuratie per entiteitbewerken
Het DCS-systeem ondersteunt de volgende exporttypen per entiteit:
| Type | Beschrijving |
|---|---|
ExportNonEditable |
Records worden geexporteerd maar zijn niet bewerkbaar |
ExportEditable |
Records worden geexporteerd en kunnen worden bewerkt |
Empty |
Een leeg werkblad wordt voorbereid |
Per property kunnen de volgende attributen worden ingesteld:
| Attribuut | Effect |
|---|---|
Protected="True" |
Veld is beschermd in Excel |
Mandatory="True" |
Veld is verplicht in Excel |
Filtering in DCSbewerken
Sinds recent is het mogelijk om filters toe te voegen aan DCS-templates. Beschikbare filtertypen:
- WhenFilter, PropertyFilter, PropertyDifferenceFilter, CombinedFilter, BetweenFilter
Beschikbare operatoren:
Equals, In, Or, Like, NotEquals, And, GreaterThan, NotIn, SmallerThanOrEquals, GreaterThanOrEquals, SmallerThan
Voorbeeld DCS-template met filter en join:
<DataCollection>
<Entity EntityName="Equipment" Context="1" InsertStatus="2"
Id="Equipment" Sort="Id" Type="ExportEditable"
ImportAction="InsertOrUpdate">
<Properties>
<Property Name="Id" />
<Property Name="Description" Mandatory="True" />
<Property Name="Site" />
</Properties>
<Joins>
<Join Name="Site" EntityName="Site" Alias="site" JoinType="InnerJoin" />
</Joins>
<Filters>
<CombinedFilter FilterOperator="And">
<PropertyFilter PropertyName="Status" PropertyValue="2" Operator="Equals" />
<PropertyFilter PropertyName="site.PartOfSite" PropertyValue="05" Operator="Equals" />
</CombinedFilter>
</Filters>
</Entity>
</DataCollection>
Let op: Filter op
Root.Contextis niet mogelijk via filters; gebruik daarvoor hetContext-attribuut op hetEntity-element.
Meertalige DCSbewerken
Bij meertalige velden wordt per taal een kolom aangemaakt in Excel met de taalafkorting als suffix.
DCS Do's and Don'tsbewerken
Do: - Laat DCS altijd begeleiden door een consultant - Gebruik DCS voor nieuwe klanten of module-uitbreidingen
Don't: - Gebruik DCS niet voor bulk updates - Importeer geen records met een insert status die bedrijfslogica omzeilt (bijv. PmJobs met status 'Approved')
UDIT (Data Import Tool) — Uitgebreidbewerken
UDIT wordt ingezet bij datamigraties vanuit een bestaand systeem:
- Verbinding maken tussen brondatabase en Ultimo
- Mapping defini??ren van bron- naar doelvelden door consultant
- Data continu beschikbaar — klant hoeft data niet eerst te bewerken
- Dynamisch — direct van database naar database
Wanneer UDIT gebruikenbewerken
- Bij een volledige datamigratie vanuit een legacy-systeem
- Wanneer data in een bestaande database staat en direct overgenomen kan worden
- Als alternatief voor DCS bij grote volumes met bestaande database-koppelingen
Bulk Adjustments — Uitgebreidbewerken
Beschikbaarheid per licentiebewerken
| Licentie | Standaard bulk actions | Custom bulk actions |
|---|---|---|
| Essentials | Ja | Nee |
| Professional | Ja | Nee |
| Premium | Ja | Ja |
| Enterprise | Ja | Ja |
Configuratiebewerken
- Autorisatie via AET: Zoek op 'bulk' in de AET, autoriseer de 'Bulk actions' node per groep/gebruiker
- Bestaande bulk actions aanpassen: Bewerk user content blocks in bulk action workflows (type: Bulk)
- Custom bulk actions maken (goedkeuring product management vereist):
- Workflow type moet
Bulkzijn - Verplichte properties:
Domainobjects(typeList[DomainObjects], Direction In) enCountOfUpdatedItems(typeInt32, Direction Out) - Koppel aan scherm via
User Interface > Screens
Voorbeeld: Afdeling wijzigen met kostenplaats kopierenbewerken
Gebruik het User content block in de workflow 'Change department' om automatisch de kostenplaats van de afdeling over te nemen.
Bulk Actions Do's and Don'tsbewerken
Do: - Stel workflow type altijd in op 'Bulk' - Kopieer de verplichte properties vanuit een standaard bulk action workflow
Don't: - Geen user interaction in de daadwerkelijke bulk change workflows - Geen acties anders dan data-mutaties (geen rapporten genereren) - Geen complexe business logic met meerdere workflow calls
Module-specifieke inrichtingsstappenbewerken
Technical Servicebewerken
| Stap | Beschrijving | Methode |
|---|---|---|
| 1. Sites en afdelingen | Organisatiestructuur opzetten | DCS of handmatig |
| 2. Procesfuncties | Productielijnen/functionele locaties | DCS |
| 3. Equipment | Individuele assets met part-of structuur | DCS |
| 4. Exchange parts | Wisselbare onderdelen | DCS |
| 5. Equipment installeren | Equipment in procesfuncties plaatsen | Handmatig via 'Install equipment' knop |
| 6. Jobsoorten en faalsoorten | Stamdata voor werkorders | MDS of handmatig |
| 7. PO-modellen | Periodiek onderhoud defini??ren | DCS (import) + handmatig (goedkeuren) |
| 8. Autorisatie | Groepen en rechten per backoffice | UCT |
| 9. Gebouwstructuur | Site > Complex > Gebouw > Bouwdeel > Bouwlaag > Ruimte | DCS of handmatig |
Medical Asset Managementbewerken
| Stap | Beschrijving | Bijzonderheid |
|---|---|---|
| 1. Instrumenttypes | Standaard types uit MTbook/Opera | Best practice import |
| 2. Instrumenten | Individuele medische apparaten | DCS |
| 3. Maintenance classifications | Onderhoudsclassificaties | Standaard import beschikbaar |
| 4. HSE-suite | Veiligheidsmodule | Handmatig inrichten (alles verweven) |
Fleet Asset Managementbewerken
| Stap | Beschrijving | Database-structuur |
|---|---|---|
| 1. Sites | Locaties/depots | Site |
| 2. Fleet (voertuigen) | Vlootnummers | Process function |
| 3. Objecten (containers, trailers) | Gekoppelde assets | Equipment |
Infra Asset Managementbewerken
Decompositie op basis van NEN 2767-4:
| Niveau | Definitie | Ultimo-entiteit |
|---|---|---|
| Onderhoudsobject | Afgebakende eenheid (brug, viaduct) | Object |
| Element | Identificeerbaar deel (constructie, installatie) | Element |
| Bouwdeel | Onafhankelijk deel van element | Building part |
Gebruikerstypesbewerken
Overzichtbewerken
| Type | Functionaliteit | Licentie |
|---|---|---|
| Self-service | Meldingen, voortgang volgen, foto's toevoegen | Apart in licentie |
| Light | Self-service + autonomous maintenance, downtime, shift handover, LOTO, MoC | Optionele module |
| Technician | Light + jobstatus wijzigen, uren/materiaal registreren, inspecties, picklist | Optionele module |
| Full | Alle functionaliteit | Standaard |
Activering en deactiveringbewerken
- Gebruiker moet geactiveerd worden om in te loggen
- Deactivering pas mogelijk na 10 dagen
- Bij licentielimiet: geen nieuwe activaties mogelijk
UsedByUltimogebruikers tellen niet mee in licentie (voor Ultimo medewerkers)- Systeemgebruikers (US0000001, US0000002, US0000003) voor geautomatiseerde acties
Batchactiveringbewerken
Gebruik de workflow in de Workflow Scheduler om gebruikers in batch te activeren, gesorteerd op laatste logindatum en User Id. Specificeer aantallen backoffice-gebruikers en self-service-gebruikers apart.
Record Autorisatiebewerken
Record autorisatie bepaalt welke records een gebruiker mag zien op basis van gerelateerde data (vestiging, afdeling, vakgroep, kostenplaats).
Standaard master tables voor record autorisatiebewerken
- Site
- CostCenter
- Department
- Building
- SkillCat
Instellingen per tabelbewerken
| Instelling | Beschrijving |
|---|---|
| Show dialogue | Bij meerdere records: selectiedialoog na inloggen |
| Select all records | Gebruiker kan uit alle records kiezen |
| Take over related | Kinderen in part-of structuur automatisch zichtbaar |
| Take over parent | Ouder in part-of structuur automatisch zichtbaar |
| Force authorisation | Record autorisatie verplicht bij inloggen |
Custom record autorisatie tabel toevoegenbewerken
UCT > Database > Database objects- Open tabel
SGROUPRECORDAUTHORIZATION - Voeg foreign key toe naar gewenste tabel (bijv. Vendor)
- Herhaal voor
SUSERRECORDAUTHORIZATION - Database reviseren in maintenance mode
Troubleshootingbewerken
| Probleem | Oplossing |
|---|---|
| Record is niet zichtbaar | Log in zonder record autorisatie om het record te vinden |
| Tabel uitgesloten maar record niet zichtbaar | Record kan andere context hebben dan uitgesloten |
| Key user maakt record maar anderen zien het niet | Aangemaakt zonder record autorisatie, geen vestiging gekoppeld |
Contract Managementbewerken
Contracten bevatten condities, leveranciers, kosten, opzegtermijnen en status. Koppelbaar aan:
| Gekoppeld aan | Inzicht |
|---|---|
| Equipment | Welke assets onder het contract vallen |
| Periodiek onderhoud | Opvolging contractuele afspraken |
| Jobs | Activiteiten gedekt door contract |
| Inkomende facturen | Kosten voortvloeiend uit contract |
Automatische notificatiesbewerken
| Workflow | Beschrijving | Ontvanger |
|---|---|---|
Standard_ServiceContract_OnExpirationMailToOwner |
30 dagen voor opzegtermijn | Contract owner |
Standard_ServiceContract_OnExpirationReminder |
7 dagen voor opzegtermijn | Contract owner |
Let op: Eigenaar (owner) is de ondertekenaar; beheerder (manager) beheert de condities. Mails gaan naar de owner.
Asset Criticality Assessment — Implementatiebewerken
Methodenbewerken
| Methode | Beschrijving |
|---|---|
| U00 - Fixed probability | Probability (MTBF) vastgezet voor alle aspecten |
| U01 - Probability per aspect | MTBF per aspect apart |
| U02 - Fixed probability + duration | MTBF + MTTR vastgezet |
| U03 - Per aspect + duration | MTBF + MTTR per aspect apart |
Stappen voor implementatiebewerken
- Stel master data in: Aspects (Safety, Production, Environment), Durations, Probabilities, Criticalities
- Kies methode (advies: U00 voor pragmatisch, U02 als duration relevant is)
- Maak analysis types aan (per site of backoffice)
- Definieer criticalities met scores en maintenance strategies
- Autoriseer via AET-element
25710f21-f166-47af-9d4b-2d80994145df
Implementation Resourcesbewerken
Workshop Templatesbewerken
Ultimo biedt standaard workshop templates voor: - Fleet — vlootbeheer inrichting - HSE — veiligheid en gezondheid - Healthcare — medische technologie - Manufacturing — productie/technische dienst
DTAP (OTAP) — Uitgebreidbewerken
| Omgeving | Doel | Wie |
|---|---|---|
| Development | Configuratie en ontwikkeling | Consultant |
| Test | Functioneel testen | Consultant + applicatiebeheerder |
| Acceptatie | Gebruikersacceptatie | Eindgebruikers |
| Productie | Live omgeving | Alle gebruikers |
Configuratiewijzigingen worden via packages door de straat getransporteerd. Gebruik de Package Manager in de UCT.
Go-Live Checklist (uitgebreid)bewerken
- [ ] Alle stamdata correct geladen en gevalideerd
- [ ] Asset tree compleet en goedgekeurd door klant
- [ ] Autorisatie ingericht en getest (AET + scherm + record)
- [ ] PO-modellen geimporteerd en goedgekeurd
- [ ] Workflows en notificaties geconfigureerd en getest
- [ ] E-mailnotificaties werkend
- [ ] Gebruikers geactiveerd (batchactivering uitgevoerd)
- [ ] Training afgerond
- [ ] DTAP-straat compleet doorlopen
- [ ] Feature toggles correct ingesteld
- [ ] Record autorisatie gevalideerd
- [ ] Gebouwstructuur ingericht (indien van toepassing)
- [ ] Contracten gekoppeld aan assets en PO
- [ ] Rapportages beschikbaar en getest
- [ ] Backup strategie besproken
Hoe te testenbewerken
- Maak testcases per module/functionaliteit
- Test met juiste autorisatiegroep (niet als admin)
- Test in de correcte context (TD vs Incident vs Selfservice)
- Controleer workflows en notificaties end-to-end
- Valideer data-imports in testomgeving voor productie
Gerelateerde onderwerpenbewerken
- assets - Asset tree opbouwen
- autorisatie - Autorisatie setup
- uct-overzicht - Package Manager en configuratietools
- periodiek-onderhoud - Import en goedkeuring van PO-modellen
- magazijn - Import van artikelstambestand
- jobs - Jobsoorten en werkorderinrichting
- configuration/process-settings - Process settings per context
- configuration/application-element-tree - AET configuratie