INHOUDSOPGAVE
Introductie
In de Xpert Suite onderkennen we verschillende entiteiten om werknemers in onder te brengen: werkgevers met daaronder afdelingen. In AFAS worden die beide entiteiten Organisatorische Eenheden (OE's) genoemd, waarbij die beiden in één hiërarchische boomstructuur worden opgehangen van laag 0 (topje van de holding) tot 9 (het laagst mogelijke medewerkerniveau). Deze twee 'datamodellen' sluiten daarmee niet 100% op elkaar aan - en daar willen we iets aan doen.
De AFAS organisatieboom
Als Connect XS door middel van de standaard OG-GetConnector 'de organisatiestructuur' vanuit AFAS opvraagt, ontvangt het één (soms gigantische) organisatieboom waarin alle in AFAS vormgegeven BV's en de afdelingen daaronder voorkomen. Daarvan kan echter Connect XS niet zelfstandig bepalen waar van welke BV de verzameling afdelingen eindigt en de volgende begint omwille van het onderhouden van de afdelingenstructuren in de Xpert Suite.
Een (sterk vereenvoudigd) voorbeeld van een dergelijke structuur in AFAS zou als volgt kunnen zijn:
Een mens herkent hierin na enig bestuderen al gauw drie afzonderlijke bedrijven:
- Bedrijf 1 (met in ons voorbeeld werkgevercode B1)
- Bedrijf 2 (met werkgevercode B2)
- Bedrijf 3 (met werkgevercode B3)
Wat nu als we Connect XS kunnen vertellen wat de 'kaders' zijn van deze bedrijven? We hebben nu drie mogelijkheden:
- "we doen niet moeilijk": elke werkgever in de Xpert Suite ontvangt de gehele organisatieboom van holding tot laagste niveau. De beheerder van AFAS hoeft slechts één OG-GetConnector te installeren en klaar
- je zorgt ervoor dat die kadering plaatsvindt in AFAS. Dat gebeurt dan door het verzorgen van een OG-GetConnector per bedrijf, waarbij de filters van elke GetConnector ervoor zorgen dat enkel de voor dat bedrijf relevante OEs over de lijn komen
- je definieert die kaders in Connect XS door middel van een 'snijpunten-formule'
Overwegingen: In geval van optie 1 ben je verreweg het snelste klaar. Een beheerder of statistiekgebruiker van de Xpert Suite heeft alleen wellicht wel veel overbodige afdelingen om open te klikken voordat hij/zij bij het relevante stuk van de boom terecht komt. Ook kan dit bij héél grote ondernemingen een serieuze aanslag zijn op de doorlooptijden van de koppeling met AFAS. Bij optie 2 heeft de beheerder van AFAS een evenzoveel aantal OG-GetConnectoren te importeren en filters in te stellen als er werkgevers in XS worden vormgegeven. Als dat aantal oploopt kan dat een aardige klus worden - maar het beheer ligt wel waar het hoort: bij de bron. Ook dient bij reorganisaties of het toevoegen van nieuwe werkgevers aan de koppeling de AFAS-beheerder weer betrokken te worden voor het sleutelen aan bestaande of toevoegen van nieuwe OG-GetConnectoren. Optie 3 betekent 'ontzorging' van de beheerder van AFAS aangezien er slechts één OG-GetConnector hoeft te worden geïmporteerd; de rest van de configuratie vindt volledig plaats in Connect XS. Bij de opstart en tussentijdse wijzigingen is wel goede afstemming nodig om de snijpunten juist te definiëren.
Snijpunten
Elk bedrijf is in AFAS een eigen Organisatorische Eenheid - met een eigen unieke OE-code. De drie afdelingen van elk bedrijf hebben alledrie in AFAS hun bedrijfs-OE gemeen als 'hoogste organisatorische eenheid' - wat we het 'snijpunt' noemen:
Een OG-GetConnector per bedrijf
In het geval dat je meerdere werkgevers zou hebben én je wilt per werkgever de voor die werkgever geldende organisatiestructuur in de Xpert Suite krijgen, moet je deze GetConnector per werkgever gaan importeren en configureren. De naam van de GetConnector moet dan worden uitgebreid met de overeenkomstige werkgevercode in AFAS. In ons voorbeeld met de drie bedrijven krijg je in AFAS drie OG-GetConnectoren:
- XpertSuite_OG02_B1
- XpertSuite_OG02_B2
- XpertSuite_OG02_B3
Elk van de GetConnectoren gaat de beheerder van AFAS vervolgens voorzien van een uniek 'geavanceerd filter', zoals hier bijvoorbeeld Bedrijf 1:
Veldnaam | Filter op deze waarden: | OF op deze waarden: | OF op deze waarden: | |
+ | Begindatum (Organigram) (begindatum organigram) | <= [Vandaag] | ||
+ | Laag 1 (Functieveld) (Laag 1) | = 0100 | ||
+ | Begindatum (Organigram) (begindatum organigram) | <= [Vandaag] | ||
+ | Organisatorische eenheid (Organisatorische eenheid) (Organisatorische eenheid) | = 0100 | ||
+ | Begindatum (Organigram) (begindatum organigram) | <= [Vandaag] | ||
+ | Organisatorische eenheid (Organisatorische eenheid) (Organisatorische eenheid) | 0000 | ||
+ |
Hierdoor:
- worden alle Organisatorische eenheden doorgelaten waarvan het snijpunt op laag 1 de OE met code 0100 is - en dat snijpunt is Bedrijf 1
- wordt de OE met code 0100 (Bedrijf 1 zelf) doorgelaten
- wordt de OE met code 0000 (dat is de holding) doorgelaten
De onderste twee regels zijn nodig om onnodige meldingen op het verwerkingsverslag te voorkomen.
Snijpunten-formule
Door middel van het vormgeven van een formule in het veld 'Snijpunt' in de mapping van de Organisatie-koppeling kun je per werkgever die je in XS hebt aangemaakt aangeven wat Connect XS als snijpunt dient te hanteren:
var employerCode = Get("WerkgeverCode"); switch (employerCode?.ToLower()) { case "b1": return "0100"; case "b2": return "1200"; case "b3": return "1300"; default: return null; }
Met bovenstaande formule instrueer je Connect XS om:
- aan het bedrijf in XS met werkgevercode 'B1' (zijnde bedrijf 1) alle afdelingen toe te wijzen die vallen onder de OE met code 0100
- aan het bedrijf in XS met werkgevercode 'B2' (zijnde bedrijf 2) alle afdelingen toe te wijzen die vallen onder de OE met code 1200
- aan het bedrijf in XS met werkgevercode 'B3' (zijnde bedrijf 3) alle afdelingen toe te wijzen die vallen onder de OE met code 1300
- voor elk ander bedrijf in XS dat valt binnen de scope van deze koppeling geen snijpunt te hanteren. Elk bedrijf niet opgenomen in jouw formule ontvangt de gehele organisatieboom zoals opgehaald vanuit AFAS
Stel: bedrijf 2 en 3 vallen in XS samen onder één werkgever, dan stel je de het snijpunt voor die werkgever in je formule in op "1000" - het punt waar de afdelingen van bedrijf 2 en 3 samenkomen.
Let op: - hetzelfde snijpunt mag voorkomen bij meerdere werkgevers in XS. Het resultaat is eenvoudigweg dat al die werkgevers dezelfde afdelingenstructuur toegewezen krijgen - voor elke werkgever kan slechts één snijpunt gedefinieerd worden. Als een werkgevercode meermaals voorkomt in de formule, ontvangt die werkgever eenvoudigweg de gehele organisatieboom zoals opgehaald vanuit AFAS