HRchannels - de interface - kort beschreven

Interface uitgelegd

Een interface is een woord waarachter veel onbegrip, misverstanden en communicatie misvattingen schuil gaan. Juist communicatieproblemen bij het opzetten van een interface is vrij gebruikelijk, daar het communiceren tussen systemen juist het doel is van de interface. Om een interface op te zetten moet helder zijn hoe de bron in elkaar steekt, hoe het doelsysteem werkt en hoe de beide systemen aan elkaar gekoppeld kunnen worden. Die eerste 2 onderdelen zijn voor iedereen helder. De "tussenvorm" ofwel de vorm waarin het wordt "vervoerd" is waar het in de feitelijke interface om draait. 

Uitgaand en binnenkomend

Iedere interface kent 2 kanten, de aanleverende of uitgaande kant en de binnenkomende, inkomende  of verwerkende kant. De uitgaande kant verzameld gegevens en stuurt deze op, waarbij doorgaans geen nieuwe documenten worden aangemaakt. Bij de inkomende kant worden de gegevens ingelezen en doorgevoerd als tasbare documenten zoals een order of in HR wat gebrukelijker: een medewerker of bijvoorbeeld de asres gegevens van een medewerker. De inkomende kant vanaf niets opzetten is veelal meer werk dan de uitgaande kant. 

HRchannels is een uitgaande interface. Met SAP in haar ERP rol is er veel meer vraag naar uitgaande interfaces voor HR gegevens dan andersom. In de bibliotheek van HRchannels is ook een HR binnenkomende interface opgenomen, maar het HRchannels product is een uitgaande interface (of liever: opzet voor uitgaande interfaces).

Zenden en ontvangen

In de regel bepaald het ontvangende systeem het formaat van de interface. Inhoudelijk gaat het hier om een verassend eenvoudige opzet, een bestand wordt samengesteld dat in 90% van de gevallen gewoon met een eenvoudige tekstverwerker kan worden ingezien en zelfs aangepast. Een numerieke waarde wordt vaak als getallenreeks verwerkt, terwijl het in zowel bron als doel systeem als fixed point arithmetic packed integer (overdreven lastig voorbeeld, ter demonstratie) wordt opgeslagen. Maar hoe zit  het dan met de echt ingewikkelde interface ? Interfaces zelf zijn niet moeilijk, ze zijn doorzichtig en voorspelbaar. Het gewenste gegeven zit erbij of het zit er niet bij. Het formaat is een bestandsformaat met ; als scheidingsteken, of het is in een XML bericht verwerkt. Onderdelen die te doorzien zijn. Er is maar 2 factoren die een uitgaande interface kan bemoeiljken: de hoeveelheid gegevens en het "pasbaar" maken van gegevens in bron met doel.

HRchannels

HRchannels is een set software componenten die door ons op het klantsysteem kan worden geplaatst. Het is een werkende opzet waar zonder tussenkomt van Abap programmering bestanden kunnen worden samengesteld. Het heeft echter niet het doel om dit voor de volledige interface verwerking to doen zonder Abap ontwikkeling. Er is een hoger doel: de interface moet niet alleen "werken", het moet ook inzichtelijk zijn en blijven waar gegevens vandaan komen (bron), naar toe gaan (doel) en wat er onderweg mee gebeurd. 

Bij het implementeren van uw interface worden alle wensen verwerkt. De meeste wensen kunnen zonder tussenkomst van Abap programmering worden behandeld, voor de overige wensen verzorgen wij de invulling. Er zijn 3 hoofdgebieden die "aangescherpt" kunnen worden - door tussenkomst van aanvullende Abap codering, te weten:

  • Selectie van gegevens - hierbij wordt veel gebruik gemaakt van de al beschikbare HR middelen (logische database PNPCE, cluster gegevens, organisatie plan gegevens). Maar het kan natuurlijk ook gewenst zijn een lijst kostenplaatsen of salarisschalen mee te sturen.
  • Bewerking van individuele veldinhoud - hierbij kan een stuk Abap logica worden ingezet om de byzondere wensen op veld-nivo te behandelen. Dergelijke onderdelen worden mogelijk maar voor een enkel veld opgezet, maar kunnen ook altijd op andere velden worden ingezet
  • Exporteren van de gegevens-sets - wordt het een XML waarin alle datasets zijn opgenomen of een .csv voor iedere dataset ? Als lokaal bestand of op een plekje op de server? Is het misschien een plat model, waarin ieder veld een eigen regel krijgt, met klantnummer, veldnummer, datum, veldwaarde? Export logica wordt opgezet als een herbruikbaar component zodat de .csv bijvàoorbeeld al standaard wordt uitgeleverd. Lokaal of op de server.

Stap voor stap - implementatie

Een typische implementatie van HRchannels ziet er zo uit:

  • De vliegende start - na het installeren van de software kan het binnen 1 dag in basis worden opgezet:
    1. Installatie van de componenten, op het systeem van de klant
    2. Beschikbaar maken van interface instellingen voor een enkele proef-dataset
    3. Het doorvoeren van mapping instellingen voor de dadataset (richtlijn: 1 enkele dataset mat 10 tot 15 velden)
    4. Het uitvoeren van de interface met gegevens van het ontwikkelsysteem (Aanname: een veel gebruikt export formaat wordt gebruikt, zijnde .csv als lokaal bestand of op de server)
  • De vliegende start: kickoff. Vaak is een korte demonstratie van het systeem een hele effectieve manier om bij alle betrokkenen op het netvlies te krijgen wat er moet gebeuren. HRchannels is een veelbelovende opzet, maar het kan zichzelf niet invullen. Hoe het eindresultaat eruit gaat zien kan wel in de vliegende start worden aangeven.
  • Dan moeten de gegevens van het doel systeem en het formaat waarin het moet worden aangeleverd in kaart worden gebracht. Niet alleen op veld-nivo, maar ook de samenstelling van datasets (welke herhalingen kennen de datasets), de selectie aan de bron-zijde en natuurlijk ook het aan te leveren formaat. Voor als deze onderdelen moeten mogelijk onderdelen van HRchannels worden uitgewerkt.
  • Als de hierbovengenoemde onderdelen bekend zijn, kan de bouwfase worden voortgezet. Veelal zijn bouw en het samenstellen/bepalen van bijvoorbeeld mappings voor velden een samewerking tussen technisch en functionele consultants. Waar het vanuit functioneel oogpunt niet in een mapping kan worden opgenomen, maakt de techniek het mogelijk.
  • Bij de bouw wordt gewerkt met een "breed vizier", dat wil zeggen, als er een wens wordt verwerkt voor een veld uit een nog niet ondersteund infotype, dan zal de ontwikkelaar het infotype ondersteunen, en niet het specifieke veld. Hiermee worden alle velden uit het infotype beschikbaar. Uiteindelijk zal dit een werkende interface opleveren die "ruim in zijn jasje zit" - op een later tijdstip een nieuw veld uit een infotype betrekken is dan niet langer een ontwikkelaar handeling, maar een mapping (customizing) handeling.
  • De opzet van HRchannels is als een kapstok. Basis functionaliteit die voor iedere volwassen interface beschikbaar zou moeten zijn, maar een opzet waar op velerlij manieren op uitgebouwd kan worden. Een van de kernpunten daarbij is foutafhandeling. HRchannels maakt gebruik van een applicatie log die standaard SAP beschikbaar stelt. Deze log kan ook de aannames die de klant (u) stelt worden opgenomen. Nadat in de bijvoorbeeld dagelijkse interface run fouten zij gevonden, worden deze in de applicatie log opgeslagen. Een aanvullende stap zal de interface bij fouten een email samenstellen en aan een lijstje ontvangers versturen. De klant bepaald zelf welke mogelijke aannames getoetst moeten worden (tijdens de bouw fase) en wie de email moet ontvangen (ad hoc in te vullen/aan te passen op productie).

Implementaties die u al voorgingen

De HRchannels opzet is een beproefde opzet, en al ingezet om SAP systemen te koppelen aan verschillende ontvangers. Mogelijk kunt u van de al voorhanden opzetjes gebruik maken, waardoor de term "vliegende start" een veel bredere invulling kan krijgen. Hierbij moet wel worden aangegeven dat het hier om de delen gaat die zich laten lenen voor "algemeen gebruik". Er is dus maar matig sprake van een volledige "turn-key" oplossing. Tot op heden zijn de volgende formaten beschikbaar:

  • ADP - Workforce
    HR minimaster gegevens worden in 18 datasets (18 bestanden) vanuit SAP opgebouwd en aan ADP aangeleverd in WFINT formaat. Daarbij is het bepalen van contracten (een gegevenset die SAP niet kent en in ADP WFINT een belangrijke rol speelt) een onderdeel waar veel aandacht naar toe is gegaan
  • Cornerstone
    Een SAP naar Cornerstone waarin onderandere de volledige organisatie structuur is opgenomen
  • Concur
    SAP naar Concur, voor een bedrijf met meer dan 8000 medewerkers
  • Active directory
    De LDAP opzet die een Active Directory gegevens structuur aan kan bieden

Dagelijkse werkzaamheden

Uw interface zal naar alle waarschijnlijkheid worden ingepland om geheel automatisch op gezette tijden de gegevens te verwerken. Eenmaal werkend, heeft u er geen omkijken meer naar. Het is vrij gebruikelijk dat fouten in de uitgaande interface leiden tot het afbreken van de zogenaamde achtergrond taak. Vervelend, want het afbreken van een dergelijke taak is vaak het begin van de zoektocht naar een eigenaar van die taak, die vervolgens weer lastig kan ontdekken wat er precies mis gegaan is. Bij HRchannels is deze aanpak anders: er wordt altijd een verwerkingslog aan gemaakt en als daar fouten op komen te staan, wordt deze log opgeslagen. Vervolgens kan worden ingesteld dat er email ontvangers zijn die deze foutenlogs willen ontvangen. Als alles goed gaat is het dus stil. Gaat er iets mis, dan wordt de juiste persoon van de juiste informatie voorzien enkele minuten nadat de interface zijn verwerking heeft afgerond. Deze email kan ook vaker worden ingezet, zodat er bij iedere verwerking een email wordt samengesteld, ook als deze geen fouten bevatte. Zo kan actief worden gecontroleerd of een bepaalde verwerking heeft plaatstgevonden of niet.

Vandaag en de toekomst

De interface is vaak een stuk ondoorzichtige software waarvoor het onderhoud een zorgkindje is. Hoe oplossingen zijn doorgevoerd en waar de aanpassingen een oplossing voor was raakt na de eerste testrondes al snel in de vergetelheid. Bij HRchannels is het juist die ondoorzichtigheid die wordt doorbroken: er wordt namelijk gebruik gemaakt van veld-mapping, wat op zich niet ongebruikelijk is, maar bij HRchannels wordt alles via de mapping gedaan. De interface zelf voegt niets toe en alles wat wel wordt toegevoegd voor een veld, wordt ingezet via een mapping. De "definitie overzicht" rapportage geeft datasets en velden helder weer, zoals ze ook worden verwerkt door de interface. Deze rapportage is ook van documentatie voorzien, toegespitst op de aangegeven mapping regels. Zoek gerust eens op hoe een veld aan de ontvanger wordt aangeleverd. Het is allemaal in hapklare brokken voorhanden en die helderheid is voor vandaag en de toekomst van grote waarde.

Het simpele maar vaak vergeten feit bij een interface is namelijk dat ze 2 verschillende systemen verbinden. Dat betekend ook dat er 2 partijen zijn die ieder met hun eigen software versies. De HRchannels opzet helpt niet alleen met het live brengen van de interface, maar ook met het live houden ervan. 

 

Voorbeelden

De opzet van HRchannels kan worden opgeslagen in een XML formaat, waardoor er gemakkelijk een aantal voorbeeld interfaces kunnen worden ingesteld. Juist omdat HRchannels een flexibele opzet heeft, is het goed te weten dat de instellingen die worden gedaan als een compleet pakketje gegevens in XML formaat kan worden ingepakt (en weer uitgepakt). Als de HRchannels software componenten op uw systeem is geinstalleerd, kunnen ten aller tijden de onderstaande opzetjes als voorbeeld worden ingelezen. Ze kunnen meteen worden uitgevoerd en leveren uitvoer in verschillende formaten indien ingezet via de bijgeleverde "template" rapportage. Een overzichtje van kant en klare en direct inzetbare voorbeelden. Zet ze in met de template rapportage (een met de installatie meegeleverde rapportage) en lees ze in via de definitie overzicht rapportage. 

Enkele voorbeelden van veel gebruikte formaten: 

Gegevens als serie bestanden met ;

Een heel veel voorkomend formaat is gegevens met een scheidingsteken, veelal de ; Hierbij worden veldwaarden voor een afgesproken reeks velden achter elkaar geplaatst. Bevat het veld geen waarde, dan volgt gewoonweg meteen het volgende scheidingsteken (de ;). Een voorbeeldje:

Naam, adres en woonplaats van een medewerker wordt in .csv formaat verwacht, per personeelsnummer. Hierbij wordt de eerste regel voorzien van veldnamen (welke een standaard HRchannels optie is: veldnamen, veldomschrijvingen, beiden of geen van beiden) 

Personeelsnummer;Naam;Straat;Nummer;Plaats;Postcode;Land
12354;Pieterse;Botterstraat;12;Huizen;1271XM;Nederland
12355;Johnson;King George Ave;45;TW18 4BL;Loughborough;England

Voor iedere dataset wordt een .csv bestand gemaakt. Dit kan worden gedaan als rapportage uitvoer (ALV), als een serie bestanden op de pc of als een serie achtergrond bestanden (op de server). Alleen gegevens die een verandering hebben ten opzichte van de vorige uitvoer ronde kan ook worden ingesteld.

HRchannels instellingen voor .csv (een XML bestand)

Mogelijk moet er voor deze opzet een zogenaamde plugin worden ingezet. Bij installatie van het HRchannels product worden de meest gangbare plugins meegeleverd. Aangezien .csv een veel gebruikte opzet is zullen de hieronder staande plugins al voorhanden zijn. Echter: ook veel gebruikte plugins kunnen worden vernieuwd en uitgebreid, dus hieronder vind u de nieuwste stand vanzaken:

Plugin voor CSV naar lokaal bestand - v1.0

Plugin voor CSV naar server bestand - v1.0

Plugin voor CSV naar server bestand - v1.1
Belangerijkste verschillen: controle over bestandsnamen.

Gegevens als regel voor regel

Een ander populair bestandsformaat is de "regel-voor-regel" of "regel-voor-veld" aanpak. Hiermee wordt het datamodel van het ontvangende systeem in zijn geheel plat geslagen tot elementaire en op zich losstaande velden. Iedere regel die door de interface wordt aangerijkt bevat een enkele veldwaarde, met daarbij de geldigheid. Dit ziet er zo uit:

50012;12354;20151225;1016;Pieterse
50012;12354;20151225;10546;Botterstraat
50012;12354;20151225;1055;12
50012;12354;20151225;1062;Huizen
50012;12354;20151225;1060;1271XM
50012;12354;20151225;1069;Nederland

In het voorbeeld is 50012 de klant (voor de verzendende partij meestal een vaste waarde), 12354 is het personeelsnummer, 20151225 is de datum (eerste kerstdag 2015), 1016 is het nummer van het veldje "Medewerker naam" en uiteindelijk volgt de waarde. In feite staat hier dus in 6 instructieregels wat het adres van de medewerker moet worden vanaf de 1e kerstdag 2015. Dit kan alsvolgt door HRchannels worden uitgevoerd:

Alle velden uit alle datasets worden verwerkt tot een regel in de uitvoer. Hiervoor krijgt iedere regel een aansluitnummer, een personeelsnummer, een startdatum en een veldnummer met veldwaarde. Alleen gegevens die een verandering hebben ten opzichte van de vorige uitvoer ronde kan ook worden ingesteld.

HRchannels instellingen voor regel-voor-regel (een XML bestand)

Ook voor deze opzet zijn plugins toepasbaar, en ook deze plugin wordt met de initiele installatie uitgeleverd met de dan geldende nieuwste versie.

Plugin voor regel voor regel naar server bestand - v1.0

 
Let op: aanmelden is alleen bedoeld voor de medewerkers van BV TallVision IT.