M3-Datenimport
Mit dem M3-Datenimport können Sie in Streamdateien befindliche Daten mithilfe von APIs und Funktionsprogrammen in die M3-Datenbank importieren. Durch die Verwendung von APIs und Funktionsprogrammen wird sichergestellt, dass die M3-Geschäftslogik für Validierungen verwendet wird, dass die Daten an den richtigen Speicherorten eingefügt werden und dass die korrekten Berechtigungskontrollen durchgeführt werden.
Die Quelldateien werden in den Bereich M3-Dateiübertragung kopiert, in dem eines der beiden Programme ausgeführt wird, um die Dateien zu lesen, die korrekten Transaktionen von APIs und Funktionsprogrammen zu formatieren und die entsprechende API bzw. das entsprechende Funktionsprogramm aufzurufen. Die Programme werden im Hintergrund ausgeführt, wodurch das System eine bessere Kontrolle über die Ausführung bietet.
Einschränkungen
- CSV-Textdateien (Comma Seperated Values, durch Trennzeichen getrennte Werte) mit UTF-8-Kodierung
- Microsoft Excel-Dateien im XML-Format mit der Erweiterung ".xlsx".
Um sicherzustellen, dass Fehlerlogs korrekt generiert werden, darf der empfohlene Dateiname einschließlich Dateierweiterungen nicht mehr als 50 Zeichen bei CSV-Dateien und nicht mehr als 30 Zeichen bei Excel-Dateien aufweisen.
Name und Format der Quelldatei
Es gibt verschiedene Regeln, wie die Quelldateien benannt und formatiert werden:
CSV-Datei
- Dateiname
Die korrekte Benennung einer CSV-Datei ist entscheidend. Mit dieser Benennung wird dem Importprogramm mitgeteilt, welche API und welche Transaktion verwendet werden sollen.
Das Format für eine API ist: <Freier_Name>-<MI-Programm>.<Transaktion>.csv
Beispiel: NeueKunden-CRS610MI.Add.csv
Das Format für ein Funktionsprogramm ist: <Freier_Name>-<Fkt-Programm>.<RL>.<Wartungsmodus>.csv
Beispiel: Test-MMS015Fnc.INmaintain.ADD.csv
- Datumsformat
- Die CSV-Dateien müssen die Namen der Transaktions-Eingabefelder als Kopf und die erste Zeile der Datei enthalten.
- Es müssen nur die Felder verfügbar sein, die Sie importieren müssen, z. B. Schlüsselfelder und die zu importierenden Daten.
- Der Kopf und der gesamte Dateiinhalt müssen entweder durch ein Komma (,) oder Semikolon (;) getrennt sein. Es werden nur diese Trennzeichen unterstützt.
- Feldspalten die leer sind, müssen vorhanden sein, damit die Anzahl der Trennzeichen in jeder Zeile gleich ist.
- Tausendertrennzeichen werden nicht unterstützt.
- Datumsangaben müssen die Form "JJJJMMTT" haben.
- Als numerisches Dezimaltrennzeichen muss immer ein Dezimalpunkt (.) verwendet werden.Die folgende Tabelle zeigt ein einfaches Beispiel für die Daten einer CSV-Datei für eine API. Die Spaltenüberschriften A, B, C stehen für die Tabellenspalten und 1, 2, 3 für die Tabellenzeilen:
A B C 1 MMSTAT;MMITNO;MMITDS 2 20;Artikel123;Test 3 20;Artikel234;Test Die folgende Tabelle zeigt ein einfaches Beispiel für die Daten einer CSV-Datei für ein Funktionsprogramm. Die Spaltenüberschriften A, B, C stehen für die Tabellenspalten und 1, 2, 3 für die Tabellenzeilen:A B C 1 ITNO;AUTP;ALUN;COFA;DMCF 2 !MAT001;2;G;1;1 3 !MAT001;2;BAG;1;1
Excel-Datei
- Dateiname
Der Name der Excel-Datei ist frei, da sowohl das API- und Funktionsprogramm als auch die Transaktion in der Arbeitsmappe angegeben sind.
- DatumsformatDie Excel-Dateien müssen dem für das Smart Data-Tool angegebenen Format entsprechen. Das heißt, sie müssen in mindestens zwei Arbeitsblättern enthalten sein, wobei gilt:
- Das erste Arbeitsblatt enthält den Namen des API- bzw. Funktionsprogramms sowie der Transaktion und ob beides aktiv sein soll.
Die Benennung von API und Funktionsprogramm unterscheidet sich:
Beispiel für eine API:
API_MMS200MI_AddItmBasic
Beispiel für ein Funktionsprogramm:
FNC_MMS015Fnc_INmaintain_ADD
- Die zweite Registerkarte enthält die Daten für den Import.
Auf dem ersten Arbeitsblatt werden die Programmnamen und Transaktionen in der ersten Spalte angegeben, beginnend in der zweiten Zeile. Das erste angegebene Feld verweist auf das zweite Arbeitsblatt der Arbeitsmappe. Die folgenden Felder folgen dem zweiten Arbeitsblatt basierend auf der Anordnung der Felder im ersten Arbeitsblatt.
Die folgende Tabelle zeigt ein Beispiel: Die Spaltenüberschriften A, B, C stehen für die Tabellenspalten und 1, 2 steht für die Tabellenzeilen. Die in Spalte A, Zeile 2 angezeigte API und Transaktion verweist auf das zweite Arbeitsblatt der Arbeitsmappe:A B C 1 Arbeitsblatt Beschreibung Daten 2 API_MMS200MI_AddltmBasic x Es werden weitere Arbeitsblätter erstellt, die andere auszuführende APIs angeben, die jeweils in einer neuen Zeile angegeben werden. In der zweiten Spalte kann eine Beschreibung angegeben werden, die aber nicht von der API verwendet wird. In der dritten Spalte wird angegeben, ob die betreffende Registerkarte zur Laufzeit aktiv sein soll oder nicht.A B C 1 Arbeitsblatt Beschreibung Daten 2 API_MMS200MI_AddltmBasic API_MMS200MI_AddltmBasic x 3 API_CRS610MI_Add API_CRS610MI_Add x In der Liste unten finden Sie die möglichen Werte, die in der Datenspalte und deren entsprechende Bedeutungen spezifiziert werden können:- Der Buchstabe "x" gibt an, dass die Daten aktiv sein müssen.
- Der Bindestrich "-" gibt an, dass eine Registerkarte nicht verarbeitet werden kann.
- Ein Leerzeichen bedeutet, dass ab hier die Verarbeitung komplett gestoppt wird.
- Das erste Arbeitsblatt enthält den Namen des API- bzw. Funktionsprogramms sowie der Transaktion und ob beides aktiv sein soll.
Format des Arbeitsblatts für API-Transaktionsdaten
Die Datenblätter müssen wie bei der CSV-Datei in der ersten Zeile die Feldnamen für die Transaktion aufweisen.
Folgende Regeln zum Formatieren der Daten auf einem Arbeitsblatt gelten:
- Geben Sie in der ersten Zeile der ersten Spalte ein Feld mit dem exakten Namen MESSAGE gemäß der Smart Data-Spezifikation an.
- Die Feldnamen müssen in der ersten Zeile der zweiten Spalte beginnen.
- Geben Sie in der zweiten Zeile die Feldbeschreibungen an.
- In der dritten Zeile wird für jedes Feld angegeben, ob es verarbeitet werden soll oder nicht. Dies wird entweder mit "yes" (Ja) oder "no" (Nein) angegeben.
- Geben Sie ab der vierten Zeile die Daten an.
Die folgende Tabelle zeigt ein Beispiel: Die Spaltenüberschriften A, B, C stehen für die Tabellenspalten und 1, 2, 3, 4, 5, 6 für die Tabellenzeilen.
A B C D 1 MELDUNG STAT ITNO ITDS 2 Meldung Status Artikelnummer Artikelbeschreibung 3 nein ja ja ja 4 20 Test Test 5 20 Test2 Test2 6 20 Test3 Test3 - Alle Datenfelder in der Arbeitsmappe sollten nur als Text formatiert sein. Das Formatieren von Feldern in andere Formate kann dazu führen, dass Excel Dezimalwerte in eine ungenaue Darstellung des tatsächlich angegebenen Werts konvertiert. Das könnte wiederum dazu führen, dass die Zeile nicht importiert oder in M3 mit einem anderen Wert gefüllt wird.
- Skripte werden nicht unterstützt.
- Ähnlich wie bei den CSV-Dateien wird nur das Datumsformat "JJJJMMTT" unterstützt.
- Tausendertrennzeichen werden nicht unterstützt.
- Als numerisches Dezimaltrennzeichen muss immer ein Punkt "." verwendet werden.
Ausführung
Die Quelldateien müssen auf dem M3-Dateiübertragungslaufwerk im Verzeichnis FileImport gespeichert werden. Zu diesem Zweck wird die M3 Business Engine-Dateien-App im Menü "Administrations-Tools" verwendet.
Wenn es Zeit für den Import ist, wird dieser in "M3-Datenimport. Öffnen" (EVS100) ausgeführt. Das Programm listet alle verfügbaren Dateien im Verzeichnis FileImport auf.
Führen Sie folgende Schritte aus:
- Wählen Sie die entsprechende Datei aus.
- Wählen Sie die verknüpfte Option 20 = Import aus.
Das korrekte Programm ist auf Basis der Dateierweiterung bereits ausgewählt.
- CSV-Datei - EVS101 (Importieren von Dateien im CSV-Format)
- Excel-Datei - EVS102 (Importieren von Dateien im Excel-Format)
Sie können die Historie der Importlogs für jede Datenimportdatei in "M3-Datenimportlog. Öffnen" (EVS110) anzeigen, oder Sie können über (EVS100) mithilfe der verknüpften Option 21 = Importlogs anzeigen weitergeleitet werden. Für jede Datenimporttransaktion oder pro Arbeitsblatt wird ein Log erstellt. Es enthält Details wie das API-Programm und dessen abgeschlossene Transaktion, Start und Ende der Ausführung mit Datum und Uhrzeit, verarbeitete Positionen (erfolgreich und fehlgeschlagen), alle tatsächlich fehlgeschlagenen Positionen sowie die Fehlerlogdatei für fehlgeschlagene Importe.
Sie können die Datenimportläufe auch auf andere Weise überprüfen. EVS101 und EVS102 werden der Jobwarteschlange mit "Job. Jobwarteschlange verbinden" (MNS310) zugewiesen. Nach der Ausführung von (EVS100) können Sie die Jobs in "Job. Historie anzeigen" (MNS320) überwachen.
Meldungen von Meldungstyp 012 werden in "Anwendungsmeldung. Öffnen" (CRS420) angezeigt und enthalten Informationen bezüglich der Ausführung. Die Meldung zeigt die Anzahl der Datensätze an, die gelesen wurden, die verarbeitet wurden und die fehlgeschlagen sind.
Fehlerbehandlung
- Schwerwiegende Fehler, die zum Abbruch des Imports führten
- Fehler, die von der API-Geschäftslogik zurückgegeben werden
Wenn schwerwiegende Fehler auftreten, wird an den Benutzer, der den Import initiiert hat, direkt eine entsprechende Meldung gesendet. Die Meldung wird an den Infor Inbox gesendet und auch in das Log des Jobs geschrieben.
API-Fehler können unterschiedlich sein und hängen von den Fehlern ab, die in den Eingabedaten gefunden wurden. Derartige Fehler werden in einer Ergebnisdatei zusammen mit der Eingabedatenzeichenfolge aufgezeichnet. Erfolgreiche Transaktionen sind in der Ergebnisdatei nicht enthalten. Die Ergebnisdatei ist sofort ausführbar, sobald die Daten für die fehlgeschlagenen Transaktionen korrigiert wurden.
Das ProcessPulseAlert-BOD muss im BOD Processor aktiviert sein. Außerdem muss Meldungstyp 012 in "Settings – Meldungen" (CRS424) aktiviert sein.
Zur Untersuchung von Problemen kann das Konzeptlogging verwendet werden. Importprogramme nutzen das Konzept "mvx.import.debug", das im Log des Jobs aktiviert werden kann. Diese Art von Konzeptlogging kann auch verwendet werden, um zur besseren Lesbarkeit nach bestimmten Positionen zu filtern.