Met behulp van een zogenaamde Flex-Rule kun je de keuzemogelijkheden van resources beperken, waardoor de selectie eenvoudiger en overzichtelijker wordt voor de planner.
Doel
Het beperken van de resource selectiemogelijkheden in ROB-EX kun je doen door het creëren van een dynamische selectie van deze resources binnen een resource groep.
Hiermee kan op basis van de inhoud van een veld in een order en een code in het specificatie veld van een resource de keuze voor een resource beperkt worden.
Benodigde aanpassingen in ROB-EX
Het hieronder uitgeschreven gebruik van de Flex Rule Resource – Operation selection werkt met een tweetal velden en een resource type.
De Flex Rule wordt alleen aangesproken als een resource deel uit maakt van het resource type FlexRule.
Indien de resource van dit type is wordt een code in het order veld vergeleken met een lijst van toegestane codes in het resource specificatie veld.
Resource aanpassingen
- Resource Type
Aanmaken van een resource type in het scherm Edit resource - Resource type toekennen aan een resource
Kies de betreffende resource in de resource tree en selecteer het tabblad General
Bij 1 Resource Type kan FlexRule gekozen worden. - Specificatieveld
In het resource specificatie veld worden de toegestane codes die in het order voor kunnen komen opgesomd met een puntkomma (;) als scheidingsteken.
Order specificatie
In het order kan een willekeurig veld gebruikt worden als specificatie, waarbij een bepaalde activiteit op een specifieke resource uitgevoerd moet worden.
Dit veld kan een tekstveld op niveau van het productieorder zijn als of een veld op het niveau van de operatie. In het hieronder gegeven voorbeeld gaat het om productieorder custom tekst 1.
Flex Rule
Bij het aanmaken van de Flex Rule moet gekozen worden voor het type Resource move – Operation Rule.
De uiteindelijke Flex Rule kan dan als volgt opgebouwd worden:
- Inhoud expressie: Resource selector
getResourceType()?.getName() == 'PlanFamilie' - Inhoud expressie: Operation filter
(input.operation.productionOrder.customText1 != null ? (input.resource.specifications?:'').contains(input.operation.productionOrder.
customText1) : true)
&& (input.operation.productionOrder.customText1?.length() ?: 0) > 0