Basiswerking Flow

⌘K
  1. Home
  2. Flow
  3. Basiswerking Flow

Basiswerking Flow

Flow is een Low-Code Ontwikkelings Platform (LCDP) ontwikkeld door Simplex Connect, voornamelijk gericht op AFAS Software.

Naast AFAS naar AFAS koppelingen ondersteunen we ook meerdere AFAS omgevingen en andere Applicaties middels API’s
Het doel van Flow is om het opzetten van proces-versnellers(robots) simpel en toegankelijk te maken voor iedereen, zonder de mogelijkheden voor geavanceerde gebruikers te beperken.
Om dit unieke concept mogelijk te maken wordt iedere ‘flow’ gemaakt door verschillende acties te maken en met elkaar te verbinden. Net zoals je een procestekening in bijvoorbeeld visio maakt dus.
Een flow maken werkt met eenvoudige acties.

Acties

De kracht van Flow ligt in “acties”. Elke actie heeft een input, een actie, en vervolgens een output.
Als voorbeeld:

  • Actie “Tekst inkorten”. Je stelt in dat de eerste 6 tekens vanaf links gepakt moeten worden
  • Input  “Dit is een mooie tekst
  • Output: “Dit is”


Acties zijn generiek opgezet, zodat ze in meerdere Flows en situaties bruikbaar zijn. Dit zorgt ervoor dat je Acties die je kent overal kunt hergebruiken, maar ook dat wij Acties individueel en situatie-onafhankelijk kunnen testen, wat Flow een veiligere optie maakt dan op maat gemaakte koppelingen.

Een flow kun je maken voor eenmalig gebruik, maar je kunt deze ook inplannen in onze uitgebreide taak planner  “Flow Planner“.

Hiermee kan je bijvoorbeeld je een flow elke 5 minuten laten uitvoeren, of bijvoorbeeld elke laatste dag van de maand om 17:00u. 

Syntax

Bijna alle acties in Flow kun je door middel van een eenvoudige interface in elkaar klikken. Voor geavanceerde gebruikers is er altijd de mogelijkheid om terug te vallen op code. Hiervoor gebruiken we Mapping Syntax. Met de Mapping Syntax koppel je velden aan elkaar. Wees gerust, voor de UpdateConnector heb je gewoon een fijne interface!

Op plekken in Flow waar de Mapping Syntax wordt gesupport (wat eigenlijk bijna alle velden zijn), heb je de mogelijkheid om velden vanuit de input te gebruiken, door dit aan te geven met accolades (bijvoorbeeld ‘{{VeldNaamUitInput}}’).

Dit klinkt misschien wat complex, maar wat er precies gebeurt wordt snel duidelijk met een voorbeeld. Stel, we hebben in de input het volgende formaat:

{
  Medewerker: "Mark",
  Geboortedatum: 1996,
  InDienst: true
}

En dit willen we in het volgende formaat krijgen:

{
  EmId: "Mark",
  DaBi: 1996,
  ViSe: true
}

Dan moeten we op een bepaalde manier kunnen aangeven dat het veld ‘Medewerker’ hoort bij het veld ‘EmId’ (en ‘Geboortedatum’ bij ‘DaBi’, enz.). Dit is waar de Mapping Syntax gebruikt wordt. De Mapping om dit te bereiken ziet er als volgt uit:

{
  EmId: "{{Medewerker}}",
  DaBi: "{{Geboortedatum}}",
  ViSe: "{{InDienst}}"
}

Dat is in basis wat de Mapping doet. De mogelijkheden van de Mapping houden hier echter niet op! Je mag bijvoorbeeld ook gewoon statische velden toevoegen aan de Mapping. Dat ziet er zo uit:

{
  EmId: "{{Medewerker}}",
  DaBi: "{{Geboortedatum}}",
  ViSe: "{{InDienst}}",
  LwNa: "Nederland"
}

Ook kun je bijvoorbeeld combinaties maken van statische waardes en waardes uit de input. Dat ziet er zo uit:

{
  EmId: "{{Medewerker}}",
  DaBi: "{{Geboortedatum}}",
  ViSe: "{{InDienst}}",
  Ds: "Geboren in jaar: {{Geboortedatum}}"
}

Waardes worden altijd omgezet naar tekst wanneer je het in een combinatie gebruikt. Zo word het nummer ‘1996’ in dit voorbeeld omgezet naar de tekst ‘Geboren in jaar: 1996’.

Je kan zelfs combinaties maken van meerdere inputvelden! Dat ziet er zo uit:

{
  EmId: "{{Medewerker}}",
  DaBi: "{{Geboortedatum}}",
  ViSe: "{{InDienst}}",
  Ds: "{{Medewerker}}{{Geboortedatum}}{{InDienst}}"
}

Zoals je ziet, geeft de Mapping Syntax jou de vrijheid om zelf te bepalen hoe jouw data eruit komt te zien. De interface in Flow zorgt ervoor dat je dit bijna niet nodig hebt, maar je zult zien, zodra je handiger wordt met Flow en complexere zaken gaat doen val je terug op deze Mapping Syntax

Flow statussen

Wanneer flows gepland zijn loggen deze steeds hun status terug. We onderscheiden de volgende statussen in Flow

Succes: Alle regels zijn succesvol verwerkt.

Waarschuwing: De Flow is niet binnen de tijd afgerond. We hebben nog wel de logging wel kunnen schrijven, maar niet alle regels zijn verwerkt. Er zijn geen errors.
Oplossing: Verklein de dataset of laat de flow langer draaien.

Timed out: De Flow is niet binnen de tijd afgerond. We hebben ook de logging niet weg kunnen schrijven omdat de flow hier te lang over deed. We weten niet of er errors zijn. Dit komt sporadisch voor bij gigantisch grote flows met véél data en heel veel acties (meer dan 100).
Oplossing: Verklein de dataset of laat de flow langer draaien.

Error: Er zijn een of meerdere regels fout gegaan. We streven naar een 100% foutvrije verwerking. Los de fout op. Soms is dit een aanpassing in de AFAS data, en soms in de Flow logica.

Broken: Er is een kritieke fout opgetreden in jouw flow. Jouw flow wordt niet meer uitgevoerd door de planner. Los de fout op door de flow een keer hanmdatig te draaien en opnieuw op te slaan.

Geen oplossing? #
Was dit artikel nuttig voor jou? Ja Nee

How can we help?