Shopfloor
Datum: 04/07/2023
Functionaliteit
Binnen I-Fresh/I-Make is een module beschikbaar genaamd ‘Shopfloor’.
Er zijn verschillende aspecten aan de shopfloor:
- De front end (PowerApps applicatie waarin o.a. productie orders kunnen worden bekeken, gestart, boekingen worden gedaan)
- De verwerking van gebeurtenissen van buiten Business Central naar Business Central toe.
Dit document gaat alleen in op het tweede deel, de verwerking van productie gerelateerde boekingen die in een applicatie buiten Business Central om gebeuren.
Deze shopfloor boekingen verlopen via verwerking van een tussenbestand, de Shopfloor Mutaties. Deze mutaties kunnen vanuit meerdere 'externe' bronnen worden gevoed, bijvoorbeeld:
- De Axians Power Shopfloor app
- Scanning App's (Warehouse Insight, NAV Anywhere)
- Software van derden/Eigen gemaakte software (vaak Mes/Scada systemen).
- Shopfloor applicaties van derde partijen.
Vanuit een extern systeem worden dan records in het Shopfloor mutatie bestand gevuld en vervolgens middels een Business Central programma verwerkt (via taakwachtrijpost). Records kunnen met verschillende technieken worden gevuld, waaronder:
- Via een webservice of API
- Door xml bestanden op een vooraf afgesproken plaats te zetten en te importeren middels een code unit.
Inrichting
In dit document wordt ingegaan op het gebruik en de daarvoor benodigde set-up voor deze functionaliteit.
Instellingen
Onderstaande instellingen moeten worden ingesteld om met deze functionaliteit te kunnen werken:
Shopfloor Instellingen
Deze instellingen hebben betrekking op de verwerking van shopfloormutaties binnen Business Central.
Ga hiervoor naar Shopfloor instellingen
| Instelling | Uitleg | Waarde |
|---|---|---|
| Ingeschakeld | Hiermee wordt aangegeven of de functionaliteit van Shopfloor is ingeschakeld | Aan |
| Shopfloor functie-update gebruiken | De bijgewerkte functionaliteit vervangt het gebruik van de mutatiecode door het gebruik van de mutatiesoort binnen de Shopfloormutatie. Ook het gebruik van I-Suite drager functionaliteit wordt mogelijk t.b.v. de Shopfloormutaties. | |
| Aantal pogingen | Hiermee wordt aangegeven het aantal pogingen dat wordt gedaan om een shopfloormutatie te verwerken voordat deze op verwerkingsstatus Fout wordt gezet. | |
| Mutaties archiveren | Indien dit actief is wordt een verwerkte shopfloormutatie verplaatst naar het Shopfloor mutatie archief. Indien niet actief blijft de verwerkte mutatie staan in de mutatielijst (met status Verwerkt). Aangeraden wordt om deze instelling te activeren. De instelling Archiveer door BC dient dan ook actief te zijn. |
|
| Archiveer door BC | Indien dit actief is wordt een verwerkte shopfloormutatie verplaatst naar het Shopfloor mutatie archief. Indien niet actief blijft de verwerkte mutatie staan in de mutatielijst (met status Verwerkt). Aangeraden wordt om deze instelling te activeren. De instelling Mutaties archiveren dient dan ook actief te zijn. | |
| Productieorder kaart | Vanuit de shopfloor mutatie kan worden doorgezoomd naar de productie order, in deze instelling wordt aangegeven naar welke pagina wordt doorgezoomd. | |
| Productieorder kaart naam | Hier wordt de omschrijving van de pagina van de pagina weergegeven uit de instelling ‘Productieorder kaart’ | |
| Productieorder dagboekbatch | Alle Shopfloormutaties worden verwerkt via een dagboek. Voor elke soort is binnen Business Central een eigen soort dagboek (output, verbruik, artikel, herindeling). Binnen het dagboek worden de boekingen verwerkt met de hier ingestelde batchnaam. Dit zodat de mutaties in een eigen dagboekbatch verwerkt kunnen worden. Dit betekent wel dat bij de relevante dagboeken deze als batchnaam moet worden ingericht. | |
| Capaciteit eenheid | Dit is de default eenheid van capaciteit, bijv. uren of minuten | |
De redencode die bij diverse boekingen kan worden gebruikt, wordt in standaard BC alleen naar magazijnpost doorgezet. Deze wordt ook doorgegeven naar de artikelpost, hiervoor is in de artikelpost een veld opgenomen: AXI Reason Code (11166802).
Voor output en verbruik gaat dit via shopfloormutatie: De shopfloor instelling: Shopfloor functie-update gebruiken dient dan wel actief te zijn voor deze mogelijkheid.
App Specifieke instellingen
Deze instellingen hebben betrekking op de Axians Shopfloor app.
Ga hiervoor naar Shopfloor instellingen
| Instelling | Uitleg | Waarde |
|---|---|---|
| Standaard outputaantal | Hiermee kan worden ingesteld welk aantal bij een outputboeking in de shopfloor app wordt voorgesteld. - Handmatige invoer: de gebruiker dient t.a.t. het outputaantal handmatig in te geven.- Resterend aantal: bij output boeking wordt het resterend aantal te produceren als voorstel gegeven - Aantal op lastdrager: bij outputboeking wordt het standaard aantal op de standaard lastdrager als voorstel gegeven |
|
| Partijnr. Output | Hiermee kan worden ingesteld voor productie artikelen met artikeltracering wat als lotnummer wordt gehanteerd t.b.v. de shopfloormutatie (outputboeking) - Productieorder: het productieordernummer wordt als lotnummer doorgegeven naar de shopfloormutatie- Partijnrs.: het lotnummer wordt bepaald vanuit de lotnumme reeks zoals in het betreffende te produceren artikel is ingesteld. |
|
| Bewerkingsplaats Selectie | Geeft aan of de bewerkingsplaats selectie actief is in de shopfloor app. Selectie van afdelingsgroep en/of afdeling en/of bewerkingsplaats heeft invloed op de manier c.q. waarop een werknemer zicht moet inloggen in de shopfloor app, en hiermee ook welke bewerkingen de werknemer te zien krijgt. | |
| Afdeling Selectie | Selectie van afdelingsgroep en/of afdeling en/of bewerkingsplaats heeft invloed op de manier c.q. waarop een werknemer zicht moet inloggen in de shopfloor app, en hiermee ook welke bewerkingen de werknemer te zien krijgt. | |
| Selectie Afdelingsgroep | Geeft aan of de Afdelingsgroep selectie actief is in de shopfloor app. Selectie van afdelingsgroep en/of afdeling en/of bewerkingsplaats heeft invloed op de manier c.q. waarop een werknemer zicht moet inloggen in de shopfloor app, en hiermee ook welke bewerkingen de werknemer te zien krijgt. | |
Shopfloor Mail instellingen
Deze instellingen hebben betrekking op de verwerking van shopfloormutaties: op het moment dat een shopfloormutatie op een fout loopt is het mogelijk om op dat moment een signaal via mail te sturen, zodat direct kan worden ingegrepen.
Ga hiervoor naar Shopfloor instellingen – Mailing Shopfloor
| Instelling | Uitleg | Waarde |
|---|---|---|
| Verzend van tijd | Met deze instelling kan de tijd worden ingesteld vanaf tijdstip op de dag een fout in de shopfloor mutatieverwerking een mail genereert. | |
| Verzend tot tijd | Met deze instelling kan de tijd worden ingesteld tot welk tijdstip op de dag een fout in de shopfloor mutatieverwerking een mail genereert. | |
| Email eenmaal per dag verzenden | Indien dit uit staat zal elke fout in de mutatie leiden tot een signaleringsmail. Indien dit aan staat wordt er slechts 1 mail per dag verstuurd (bijvoorbeeld einde dag) indien er 1 of meerdere fouten zijn opgetreden. Indien actief wordt ook het veld laatste datum verzonden bijgehouden om dit op deze wijze te doen | |
| Zenderadres | In het zenderadres wordt het mailadres ingegeven vanuit waar de signaleringsmail wordt verzonden. Bijvoorbeeld: info@axians.com. | |
| Afzender | In de afzender wordt de naam ingegeven vanuit waar de signaleringsmail wordt verzonden. Bijvoorbeeld: Jan Pietersen. | |
| Onderwerp | In het onderwerp wordt het onderwerp van de mail ingegeven. Bijvoorbeeld: Fout geconstateerd in de shopfloor mutatie verwerking, s.v.p. nakijken. | |
| Emailadres | In het Emailadres wordt het primaire mailadres ingegeven waar de signaleringsmail naar toe moet worden gestuurd. Bijvoorbeeld: productie@axians.com. | |
| CC E-Mailadres | In het Emailadres wordt het CC mailadres ingegeven waar de signaleringsmail naar toe moet worden gestuurd. Bijvoorbeeld: planning@axians.com. | |
| Actief | Met deze instelling kan het mailen bij een fout in de verwerking van shopfloor mutaties worden geactiveerd of ge-deactiveerd | |
Interface instellingen
Indien er een koppeling is t.b.v. shopfloormutaties waar sprake is van koppeling middels xml bestanden, is het nodig om deze instellingen in te vullen.
Ga hiervoor naar Interface instellingen - Shopfloor
| Instelling | Uitleg | Waarde |
|---|---|---|
| Mutaties archiveren | Met deze instelling kan ervoor worden gekozen om de binnenkomende mutaties via xml te archiveren na verwerking. | Optioneel |
| Shopfloor parameterstring | De verwerking van de xml bestanden kan worden geautomatiseerd middels een taakwachtrijpost - code unit 11164100 (AXIOP Interface Handler). Deze heeft een parameterstring nodig, welke is ingericht in dit veld van de interface instellingen. | Optioneel |
| Bestandsextensie | In de importfolder kan worden gefilterd op een bepaald bestandsformaat, dat kan hier worden ingegeven, bijvoorbeeld .xml. Indien in de importmap meerdere soorten bestanden kunnen voorkomen die niet relevant zijn voor deze import kan dit hier worden ingericht. | Optioneel |
| Direct naar archief | Deze parameter is niet geimplementeerd. | Optioneel |
| Providersoort | Hier dient de bestandsprovidersoort te worden gekozen. Zie ook Bestand Providers. | Optioneel |
| Provider | Hier dient de bestandsprovider te worden gekozen. Zie ook Bestand Providers. | Optioneel |
| Bestandslocatie IN | Hier wordt de submap voor inkomende xml bestanden ingegeven. | Optioneel |
| Bestandslocatie OUT | Hier wordt de submap voor uitgaande xml bestanden ingegeven. | Optioneel |
| Bestandslocatie verwerkt | Hier wordt de submap voor goed verwerkte xml bestanden ingegeven. | Optioneel |
| Foutbestandslocatie | Hier wordt de submap voor foute xml bestanden ingegeven. | Optioneel |
Codeunits taakwachtrijposten
Er zijn twee code units mogelijk van toepassing die kunnen worden gebruikt voor verwerking van shopfloormutaties:
Een xml verwerken vanuit een map naar shopfloor mutatie. Dit is het geval als er sprake is van een systeem van derden die middels een xml kan interfacen (en niet middels een API). Zoals hierboven al vermeld: dit betreft code unit 11164100 AXIOP Interface Handler. Deze heeft een parameterstring welke is ingericht in de interface instellingen(Shopfloor parameter string). Deze triggert de verwerking van inlezen van xml bestanden t.b.v. shopfloor mutaties.
Verwerken van shopfloor mutatie Dit betreft code unit 11164002 (AXI SF Handler), deze heeft geen parameterstring nodig. Deze triggert de verwerking van Shopfloor mutaties.
Stambestanden
Onderstaande stamtabellen moeten of kunnen worden ingericht om met deze functionaliteit te kunnen werken:
| Stamtabel | Uitleg | Verplicht/optioneel |
|---|---|---|
| Bestandsproviders | Om (xml) bestanden met Business Central te kunnen uitwisselen is een fysieke bestandslocatie nodig voor bestandsuitwisseling. | Optioneel |
| Batchnamen | Zoals reeds hierboven vermeld: ten behoeve van de shopfloor zijn er specifieke batchnamen om de boekingen in te doen. De relevante dagboeken hangen af van welke mutaties gebruikt zullen worden:- In outputdagboek De naam wordt bepaald in instellingen (zie Shopfloor instellingen - Productieorder dagboekbatch), maar zal hier moeten worden ingericht.- In verbruiksdagboek De naam wordt bepaald in instellingen (zie Shopfloor instellingen - Productieorder dagboekbatch), maar zal hier moeten worden ingericht.- In artikeldagboek De naam wordt bepaald in instellingen (zie Shopfloor instellingen - Productieorder dagboekbatch), maar zal hier moeten worden ingericht.- In herindelingsdagboek De naam wordt bepaald in instellingen (zie Shopfloor instellingen - Productieorder dagboekbatch), maar zal hier moeten worden ingericht. |
|
| Shopfloor gebruikers | Deze instellingen is niet geimplementeerd. | |
Proces
Mutatiesoorten
Er zijn een aantal mutaties mogelijk die vanuit de shopfloor mutatietabel kunnen worden verwerkt.
Deze zijn grofweg op te delen in:
- Mutaties vanuit de shopfloor app in EGL
- Mutaties vanuit shopfloor app in Power apps en overige externe systemen
Mutatiesoorten shopfloor app EGL
Een deel van de mutatiesoorten is ontstaan vanuit de shopfloor app in EGL, dit betreft de volgende transacties:
| Mutatiesoort | Omschrijving |
|---|---|
| ROUTINGSTATUS | Deze registreert Start/stop moment en gereedmelden productie order |
| BLOCKORDER | Hiermee kan de productieorder worden geblokkeerd |
| BLOCKORDERCOMME | Hiermee kan een opmerking worden meegegeven waarom productie order is geblokkeerd |
| BLOCKLOT | Hiermee kan een lot/partij worden geblokkeerd |
| BLOCKLOTCOMME | Hiermee kan een opmerking worden meegegeven waarom een partij is geblokkeerd |
| GENERATELOT | Deze boeking maakt een nieuw lot aan tbv output, met als uitgangspunt dat er gebruik wordt gemaakt van automatische lotnummering |
| POSTLOTUOM | Deze boeking verwerkt loteenheden |
| SELECTLOT | Deze boeking selecteert een lot t.b.v. verbruik materiaal |
| POSTJOURNAL | Deze transactie verzorgt het boeken van het productiedagboek |
| MEASUREMENT | Deze transacties boekt de kwaliteitsmetingen |
| BLOCKMATRIJS | Hiermee kan een matrijs worden geblokkeerd |
| BLOCKMATRIJSCOM | Hiermee kan commentaar mbt blokkeren matrijs worden meegegeven |
Binnen de verwerking van bovenstaande mutatiesoorten is de volgorde van belang, bij bijvoorbeeld outputboeking van de POSTJOURNAL dient -indien van toepassing- eerst een lot/partij te zijn genereerd, POSTLOTUOM te zijn uitgevoerd (dan zijn reserveringsposten aangemaakt) en dan kan pas de boeking worden verwerkt.
Mutatiesoorten shopfloor app power apps en overig
Een deel van de mutatiesoorten is generieker van aard en wordt zowel vanuit de shopfloor app in power apps gebruikt als ook vanuit overige externe systemen. Afhankelijk van de shopfloor instelling Shopfloor functie-update gebruiken betreft het een Code of een optie. Het betreft de volgende transacties:
- Mutaties ook beschikbaar als Optie (en dus ook i.c.m. dragers):
| Mutatiesoort | Omschrijving |
|---|---|
| CONSUMPTION (Verbruik) | Met deze mutatie kan verbruik op een productie order materiaal worden geboekt (verbruiksdagboek). |
| OUTPUT (Output) | Met deze mutatie kan output op een productie order materiaal worden geboekt (outputdagboek). Het betreft dan zowel aantallen, tijd en ook de bewerkingsplanregelstatus. Achterwaartse boekingen m.b.t. materialen worden ook geboekt. |
| ITEMRECLASS (Artikel herindeling) | Met deze mutatie kan een herindeling worden geboekt (herindelingsdagboek). |
| POSADJ (Positieve correctie) | Met deze mutatie kan een positieve correctie op de voorraad worden geboekt (artikeldagboek). NB in combinatie met dragers: dit mag alleen voor een drager die reeds is ontvangen. |
- Mutaties niet beschikbaar als Optie (en dus ook niet i.c.m. dragers).
| Mutatiesoort | Omschrijving |
|---|---|
| PURRECEIPT | Met deze mutatie kan een ontvangst inkoop worden geboekt. Dit werkt voor boeken van ontvangsten direct op inkooporder (niet voor magazijnontvangst). |
Shopfloor Mutaties
Shopfloormutaties komen dus in een centraal bestand terecht (Shopfloormutaties), en afhankelijk van de soort mutatie vind er een verwerking van het record plaats.
Triggers om de mutatuties te verwerken:
- Automatisch via taakwachtrijpost (zie eerder)
- Handmatig via de pagina Shopfloor mutaties Mutaties verwerken.
Bij verwerking kan het record succesvol zijn verwerkt, of een fout geven.
- In geval van succesvolle verwerking zal de achterliggende actie van betreffende soort mutatie juist zijn uitgevoerd. Afhankelijk van de shopfloor instellingen wordt het record direct naar het shopfloor mutatie archief verplaatst of blijft het record in de mutatielijst als verwerkt staan.
- In geval van een fout zal het record een aantal keren worden geprobeerd om alsnog te verwerken. Het aantal pogingen hiervan is ingesteld in de shopfloor instellingen. Zolang er een fout is en het aantal; pogingen voor herverwerken is nog niet bereikt zal de mutatiestatus Opnieuw proberen blijven. Als na het aantal pogingen voor herverwerken er nog steeds een fout is krijgt het record de mutatiestatus Fout. In dat geval zal het record niet meer automatisch door het systeem worden verwerkt en afhankelijk van instellingen een signaleringsmail genereren.
Fouten afhandeling
Een fout in shopfloor mutaties kan op 2 manieren worden opgelost:
- De oorzaak van de fout wordt opgelost en de mutatie kan opnieuw worden aangeboden
- De mutatie wordt verwijderd
Ad 1. oorzaak fout oplossen
Indien de oorzaak van de fout is opgelost, kan geprobeerd worden de mutatie nogmaals aan te bieden.
Als de status op dat moment 'Opnieuw proberen' is, kan middels handmatige verwerking of wachten op taakwachtrijverwerking worden gewacht.
Meestal zal echter de status van het record op 'Fout' staan. In dat geval kan een record opnieuw worden aangeboden aan de (handmatige of automatische) verwerking door de status terug te zetten op 'Te verwerken' of 'Opnieuw proberen'.
Eventueel kan ook de errortekst worden verwijderd (dan zie je duidelijker als record is herverwerkt en er is nog steeds een fout).
En eventueel kan het pogingnummer ook op 0 worden gesteld.
Ad 2. de mutatie verwijderen
Als de fout niet is op te lossen, of de boeking is al op een andere wijze gedaan, dan kan de mutatie worden verwijderd.
De functie Verwijder fout (ouder dan 7 dagen) kijkt naar mutaties, status Fout EN de mutatiedatum is ouder dan 7 dagen geleden.
Als een record verwijderd moet worden en deze is nog geen 7 dagen oud kan in het record de mutatiedatum worden aangepast naar langer dan 7 dagen geleden, de verwijderfunctie zal deze dan verwijderen.
Notitie
NB de verwijderfunctie is alleen handmatig te triggeren. En een indiviueel record kan dus niet worden verwijderd. Alleen via de verwijderfunctie.
Mutatie archief
Zoals vermeld, afhankelijk van de shopfloor instellingen worden verwerkte records naar het shopfloor mutatie archief verplaatst en zijn daar nog opvraagbaar.
Opschonen
Het is mogelijk om het Shopfloormutatie archief op te schonen. Dit kan door een bewaarbeleid voor dit bestand op te nemen en te activeren:
- 11164003 Shopfloormutaties archief
In de standaard documentie van Business Central kunt u vinden hoe dit ingericht en geactiveerd kan worden.