
Ihr Leitfaden zur V5-Integration!

Die Integration der Lager- und Bestandsdaten zwischen V5 Traceability und dem ERP-System des Kunden ermöglicht die Übermittlung von Artikelbestandsdetails wie Chargennummern, verfügbaren Mengen und Lagerorten an V5 Traceability. Diese Daten können dann für die Produktion, Bestellung usw. verwendet werden.
Abhängig von unserem ERP-Setup gibt es verschiedene Möglichkeiten, wie wir mit Lagerbeständen umgehen können:
Wenn Sie sich nicht sicher sind, welchen Weg Sie für Ihr spezielles ERP-Setup am besten einschlagen sollen, kann SG Systems eine Beratungssitzung vereinbaren, um die optimale Methodik für Ihr System bestmöglich zu beurteilen.
Im Hinblick darauf, wie wir Lagerbestands-/Lagerstandortdetails mit dem verknüpfen können, was wir im Control Center sehen, werden wir diesen Endpunkt hauptsächlich dazu verwenden, das untere linke Feld zu füllen, um unsere Lagerbestände/Lagerstandorte für vorhandene Waren zu importieren und zu exportieren.
Mit dem V5-Gateway können wir die Daten hier einfach über zwei Endpunkte füllen: ‘Stock’ und ‘StockLocation’.
Weitere Informationen zu den Definitionen dieser Datenbankklassen finden Sie unter den folgenden Links:
Die Integrationsvorlage für Lagerstandorte kann hier heruntergeladen werden.
Primärschlüssel sind die eindeutige Kennung für jede Tabelle innerhalb der V5-API. Für StockLocation, diese sind:
location.code – Der eindeutige Identifikationscode für die Lagerort.
stock.commodity.code – Der eindeutige Identifikationscode für die Ware
stock.lotNo – Die Chargennummer des Bestands.
Für Stock, die Primärschlüssel sind:
lotNo – Die Chargennummer des Bestands.
commodity.code – Der eindeutige Identifikationscode für die Ware.
Beachten Sie, dass Chargennummern automatisch vom System generiert oder manuell eingegeben werden können. Lieferantenchargennummern können über das unten beschriebene Feld eingegeben werden. Chargennummern können global (keine zwei Chargennummern dürfen gleich sein) oder pro Ware generiert werden.
Weitere Felder, die von SG zum Ausfüllen einer gültigen Warenzeile im V5 Control Center benötigt werden, sind:
stock.expiry – Das Ablaufdatum der jeweiligen Charge.
qty – Die Menge der Ware in dieser Charge.
Bevorzugte Felder dienen dazu, weitere Informationen zu der betreffenden Ware hinzuzufügen. Sie sind zwar nicht erforderlich, aber nützlich, wenn es um zusätzliche Funktionen in V5 Traceability geht.
stock.supplier.code - Der Code des Lieferanten, der die Warencharge bereitgestellt hat.
stock.cost - Die Kosten (pro UoM) der Ware.
stock.dateReceived - Das Datum, an dem die Charge in den Bestand gebucht wurde.
stock.supplierLotNo - Die vom Lieferanten zugewiesene Chargennummer.
Es können auch zusätzliche Felder eingebunden werden, wie zum Beispiel:
stock.commodity.description - Die Beschreibung der Ware.
stock.commodity.units.code - Die Standard-ME der Ware.
stock.commodity.recordStock – Ob die Verwendung dieser Ware mit V5 Traceability verfolgt wird.
Beachten Sie, dass diese zusätzlichen Felder zum Erstellen von Wareneinträgen in V5 Traceability sowie zum Zuweisen von Lagerorten und -mengen verwendet werden können. Bei Verwendung des CSV-Methode Für den Datenaustausch müssen wir sicherstellen, dass im „Gateway“ des Control Centers „Untergeordnete Entitäten erstellen“ ausgewählt ist. Vorhandene Waren können jedoch nicht im aktualisiert werden V5-API Wenn wir diesen Endpunkt verwenden, müssen wir diese stattdessen direkt mit dem ' ansprechen.Ware' Endpunkt stattdessen.
Abhängig vom Zweck unserer API-Integration können wir davon Gebrauch machen ‘StockLocation’ or ‘Stock’ Endpunkt für JSON- und CSV-Importe und -Exporte. Das können wir uns nun unten ansehen.
StockLocation:
Wir können das nutzen ‘StockLocation’ Endpunkt zum Einfügen von Bestandsaufzeichnungen für Waren (vorhanden oder nicht) in V5 Traceability, die Informationen zu Empfangs-/Ablaufdaten, Los-/Lieferanten-Losnummern und natürlich zum Lagerort enthalten.
‘StockLocation’ Endpunkt/URI importieren –
http://host:port/V5-API/api/integrate/import/stock_location
Für diesen Beispielimport mit der ‘StockLocation’ Endpunkt können wir eine grundlegende Importdatei für ein einzelnes Los wie folgt strukturieren:

Diese JSON-Beispieldatei kann hier heruntergeladen werden.
Anhand des API-Handbuchs können wir hier sehen, dass wir nur das verwenden ‘qty’ Wert von der ‘StockLocation’ Klasse, wobei alle anderen Werte unter einer der beiden verschachtelt sind ‘stock’ or ‘location’ Klasse. Wir können auch sehen, dass die ‘code’ und ‘units’ Datenpunkte werden weiter unter verschachtelt ‘commodity’ Klasse.
Nachfolgend finden Sie eine Zusammenfassung dieses Datenflussprozesses:

Wenn wir die JSON-Datei oben ausführen, sehen wir, dass es sich um eine Ware handelt ‘I015’ (Jalepenos) Jetzt wurde dieses Los in das Control Center importiert.

Allerdings können wir damit nichts anfangen ‘StockLocation’ Endpunkt sind Änderungswerte wie die Chargennummer des Lieferanten und das Ablaufdatum des vorhandenen Lagerbestands. Dazu müssten wir die verwenden ‘Stock’ Endpunkt.
Lager:
Wie oben erwähnt, die ‘StockLocation’ Der Endpunkt kann zum Einfügen von Bestandsdatensätzen und den zugehörigen Standorten verwendet werden. Wenn wir jedoch die Details zu diesen Losen aktualisieren möchten, die unter die fallen ‘Stock’ Header müssen wir verwenden ‘Stock’ Endpunkt. Dazu gehören Details wie die Chargennummer des Lieferanten, das Verfallsdatum und das erhaltene Gewicht.
‘Stock’ Endpunkt/URI importieren –
http://host:port/V5-API/api/integrate/import/stock
Für ein sehr einfaches ‘Stock’ Importdatei, die das Verfallsdatum und die Chargennummer des Lieferanten der oben erstellten Charge aktualisiert, können wir Folgendes verwenden:

Dies führt dazu, dass die Chargeninformationen in V5 aktualisiert werden:

Im Hinblick auf den Empfang von Dateien, die sich auf Lagerbestandsstandorte beziehen, von der V5-API, wenn wir die Methodenzusammenfassungen unter überprüfen IntegrationExport Klasse, das denken wir vielleicht ‘StockLocations’ (export/locations/stock) wäre das, wonach wir suchen. Dies ist jedoch nicht der Fall, da dieser Endpunkt eine Liste der im System vorhandenen Lagerstandorte (im Vergleich zu Produktionsstandorten) exportiert.
Um Standort- und Lagerbestandsinformationen für unsere Waren zu erhalten, können wir Folgendes verwenden:
Einzelne Ware + Chargenbestand:
Endpunkt/URI exportieren –
http://host:port/V5-API/api/integrate/export/stock/{commodityCode}/{lotNumber}
Dieser Endpunkt exportiert eine JSON-Datei mit allen zugehörigen Informationen für die angegebene Charge einer einzelnen Ware. Wenn wir diese Anfrage mit den gerade importierten Chargeninformationen ausführen, erhalten wir eine Datei, die etwa so aussieht:

Hier können Sie Beispiel-JSON-Dateien dieses Typs herunterladen.
Alle Lagerbestände:
Endpunkt/URI exportieren –
http://host:port/V5-API/api/integrate/export/stock/{all}
Dieser Endpunkt exportiert eine JSON-Datei, die eine Liste aller zugehörigen Informationen für alle Chargen aller Waren im System enthält, abhängig vom Wert des Felds {all}. Wenn das ist ‘true’ dann ziehen wir alle Lagerbestände ab, während wenn ‘false’ dann erhalten wir lediglich eine Rückgabe für neue Lagerartikel (also viele Waren, die nicht als bereits exportiert gekennzeichnet sind).
Wenn wir diese Anfrage ausführen als ‘true’ (damit http://host:port/V5-API/api/integrate/export/stock/true) , erhalten wir eine Datei, die etwa so aussieht:

Hier können Sie Beispiel-JSON-Dateien dieses Typs herunterladen.
Die oben genannten Endpunkte liefern nur die aktuellen Lagerbestände. Was aber, wenn wir unsere Lagerbestände während der Produktion verfolgen möchten? Hier haben wir verschiedene Möglichkeiten, je nachdem, wie wir die API verwenden und in ein ERP-System integrieren.
Wir können auch eine Vielzahl von Transaktions- und Protokollendpunkten nutzen , um relevantere Informationen über Bestandsänderungen zu erhalten.
Für Systemprotokoll- Endpunkte gilt Folgendes:
Verbrauchte/produzierte Systemprotokolle
Für transaktionale/generische Endpunkte gelten folgende Bestimmungen:
Dateiname der Kopf-/Spaltendefinition: “stockLocation.csvh”
Fertige Header-Dateien sollten abgelegt werden in: “<installdir>\SG Control Center\gateway\import\column_defs”
CSV-Dateiname importieren: “stockLocation-datetime.csv”
CSVs für den Import sollten abgelegt werden in: “<installdir>\SG Control Center\gateway\import”
Header-Datei:
Die Headerdateien werden in der Regel von SG Systems vor der CSV-Integration kompiliert. Nachfolgend sehen wir ein einfaches Beispiel, das wir für Inventar/Lagerbestand verwenden können, unter Verwendung der zuvor definierten Klassendefinitionen :

Weitere Informationen zur Struktur dieser Dateien finden Sie auf der Hauptseite zur Integration . Diese Beispiel-Headerdatei kann hier heruntergeladen werden.
CSV-Importdatei:
Anschließend können wir die definierte Reihenfolge der Datenpunkte im Header verwenden, um unsere Importdatei zu strukturieren. SG Systems kann hierfür eine Vorlagendatei bereitstellen, die den Datenpunkt für jede Spalte auflistet, um die Dinge beim Ausfüllen der Liste klarer zu gestalten. Beachten Sie, dass diese erste Zeile vom Control Center ignoriert werden kann und daher bei der Übermittlung zum Import in der Datei beibehalten werden kann.
Eine Beispiel-CSV-Importdatei könnte etwa so aussehen:

Hier sehen wir, dass wir 3 neue Chargen von 2 verschiedenen Lieferanten importieren. Diese Beispielimportdatei kann hier heruntergeladen werden.
Nachdem der Import abgeschlossen ist, können wir sehen, dass diese zusätzlichen Jalapeno-Lots zum Control Center hinzugefügt wurden. Beachten Sie hier den Unterschied zwischen ‘Qty’ (zur Hand) und ‘Stock_WeightReceived’ in unserer Import-CSV.

Wie bei JSON-Exporten haben wir hier verschiedene Möglichkeiten:
StockLocation:
Wenn wir Waren mit dieser Methode exportieren, können wir die gleichen Endpunkt- und Klassendefinitionen verwenden wie für Importe.
Dateiname der Kopf-/Spaltendefinition: “stockLocation.csvh”
Fertige Header-Dateien sollten abgelegt werden in: “<installdir>\SG Control Center\gateway\export\order”
CSV-Dateiname exportieren: “StockLocation-datetime.csv”
CSVs für Exporte werden generiert in: “<installdir>\SG Control Center\gateway\export”
Dieser Export müsste auch im Gateway-Bereich des Control Centers aktiviert werden. Wir können hier den Export auswählen ‘Stock’ .

Header-Datei:
Von hier aus wäre es ein einfacher Fall, unsere Export-Header-Datei so zu strukturieren, dass sie den Informationen entspricht, die wir vom System zurückerhalten möchten.
Wir könnten es auf eine sehr ähnliche Weise strukturieren, wie wir den Import-Header strukturiert haben:

Diese Beispiel-Headerdatei kann hier heruntergeladen werden.
CSV-Exportdatei:
Dies würde eine CSV-Rückgabe für unsere letzten Importe ergeben, die etwa wie im folgenden Beispiel aussehen würde. Hier können wir sehen, dass wir alle zuvor nicht exportierten Lagerbestände abgerufen haben, einschließlich der Hinzufügung einiger Produkte, die früher am Tag hergestellt wurden.

Diese Beispiel-Exportdatei kann hier heruntergeladen werden.
Wie bei den oben genannten JSON-Exporten würde dies jedoch keine Transaktionsdaten zurückgeben, sodass wir auch hier auf die zurückgreifen können ‘SystemLog’ Stattdessen können Sie den Endpunkt nutzen, um relevantere Daten im Hinblick auf Transaktionen und Bestandsanpassungen abzurufen.
SystemLog:
Dieser Endpunkt ermöglicht die Extraktion vielfältiger Daten durch Durchlaufen der von hier verlinkten Datenpunkte. Die hier verwendbaren Definitionen sind hier einsehbar.
Dateiname der Kopf-/Spaltendefinition: “SystemLog.csvh”
Fertige Header-Dateien sollten abgelegt werden in: “<installdir>\SG Control Center\gateway\export\order”
CSV-Dateiname exportieren: “SystemLog-datetime.csv”
CSVs für Exporte werden generiert in: “<installdir>\SG Control Center\gateway\export”
Wie oben müsste dies im Gateway-Bereich des Control Centers aktiviert werden:

Header-Datei:
Von hier aus können wir unseren Header danach strukturieren, welche Transaktionsdaten wir zurück an das ERP erhalten möchten. Für unsere Zwecke hier könnte das so aussehen:

Diese Beispiel-Headerdatei kann hier heruntergeladen werden.
CSV-Exportdatei:
Wir können hier also sehen, dass wir speziell auf unsere Bedürfnisse zugeschnittene Daten zurückerhalten, darunter Daten wie die Ware, ihre Chargennummer, die ursprüngliche Menge, etwaige Anpassungen und den Benutzer, der die Aktion durchgeführt hat, zusammen mit etwaigen Gründen und relevanter Tätigkeit /Batch-Info.
Wenn wir das Systemprotokoll mit dem obigen Header ausführen, erhalten wir einen Export, der etwa so aussieht:

Diese Beispiel-Exportdatei kann hier heruntergeladen werden.