Benutzerdefinierte API-Transaktionen

In M3 Business Engine gibt es mehrere Möglichkeiten, benutzerdefinierte API-Transaktionen zu erstellen, jede von ihnen mit eigenen Stärken. Um zu entscheiden, welcher Ansatz der besten ist, sind im Folgenden die Eigenschaften für jedes Programm aufgeführt:

  • CRS990MI

    Alte Struktur; wird nicht mehr verwendet.

  • MDBREADMI

    Diese Transaktionen werden in den Programmen (MRS010) bis (MRS012) erstellt, wodurch Sie API-Transaktionen basierend auf einem vorhandenen Tabellenindex erstellen können. Da die Transaktion auf einem vorhandenen Tabellenindex basiert, ist die Performance besonders gut. Nur die definierten Ausgabefelder werden in der API gelesen, was sich ebenfalls positiv auf die Leistung auswirkt, d. h. weniger Ausgabefelder bedeuten eine bessere Performance (möglichst weniger als 10 Felder). Diese Einrichtung wird empfohlen, wenn keine API vorhanden ist und Sie Daten aus einer einzelnen Tabelle auflisten möchten.

  • CMS100MI
    Diese Transaktionen bestehen aus einer Informationsbrowserkategorie und werden in "Benutzerdefinierte Liste MI. Öffnen" (CMS015) definiert. Diese Transaktionen sind sehr flexibel, da Sie verknüpfte Tabellen, virtuelle Felder, Auswahlmöglichkeiten usw. einfügen können. Die Flexibilität geht jedoch auf Kosten der Leistung. Daher werden diese API-Transaktionen empfohlen, wenn die Flexibilität entscheidend ist und das Datenvolumen niedriger. Halten Sie die Anzahl der verknüpften Tabellen und virtuellen Felder möglichst gering, und vermeiden Sie die Verwendung von virtuellen Feldern, die eine M3-Funktion aufrufen, es sei denn, es werden sehr wenige Datensätze im Ergebnis erwartet. Es wird empfohlen, Filter zu verwenden, die dem ausgewählten Index (verwendete Sortierfolge) entsprechen.
    Hinweis

    Wenn kein Tabellenindex vorhanden ist, der Ihre Auswahlfelder unterstützt, wird empfohlen, einen benutzerdefinierten Index zu erstellen, um die Auslastung in der Datenbank zu verringern und die Performance zu erhöhen.

    CMS100MI kann höchstens 10.000 Datensätze zurückgeben.

  • EXCHEADMI

    Diese API-Transaktion kann Daten aus einer einzelnen Tabelle auf Basis einer SQL-ähnlichen Suchabfrage auflisten. Die Leistung hängt davon ab, wie die Suchabfrage aufgebaut ist, d. h. ein unterstützender Index kann die Performance verbessern.

    Folgendes wird immer empfohlen:
    1. Geben Sie den zu verwendenden Tabellenindex und die Filter für diesen Index an. Wenn kein Index angegeben wird, wird der Standardindexwert 00 verwendet. Wenn Filter verwendet werden, die keinem Index entsprechen, wird die Leistung erheblich beeinträchtigt.
    2. Geben Sie nur genau die Ausgabefelder an, die zurückgegeben werden sollen, da weniger Felder die Performance verbessern (möglichst weniger als 10 Felder). Verwenden Sie diese API, wenn die Ausgabe eine CSV-Datei oder ein Flat File sein soll.

    EXCHEADMI kann höchstens 10.000 Datensätze zurückgeben. Eine Ausnahme gilt, wenn Sie einen Index und zusätzliche Filterwerte angeben, die mehr als 10.000 Datensätze ausgeben.

Hinweis

Die obigen APIs unterstützen auch Tabellen, die in XtendM3 erstellt wurden.

Berechtigung

Die Toolbox-APIs entsprechen der normalen M3-Sicherheit für M3-Firma und Divisionen sowie Standort und Lagerort, wenn diese als Feld in der abgerufenen Tabelle vorhanden ist.

Der Benutzer muss außerdem berechtigt sein, auf die abzurufenden Informationen zuzugreifen und auf Tabellen auf Basis der Funktionen zuzugreifen, zu deren Verwendung sie berechtigt sind. Das Mapping zwischen Funktion und Tabelle erfolgt in "Tabelle. Öffnen" (MNS120).