EXCHEADMI

EXCHEADMI ist eine allgemeine API zum Extrahieren von Daten aus M3 und verfügt über Datenanpassungsfunktionen, die Flexibilität bei der Datenauswahl bieten. Im Allgemeinen bietet diese API die Möglichkeit, eine SQL-ähnliche Datenauswahl und Datensuche unter Verwendung der Funktionen von M3 Function Search (IES) zu definieren. Die zurückgegebenen Daten sind entweder als ein einziges langes Feld mit einem Flat File-Format oder einem durch Komma getrennten Format formatiert.

Trotz dieser Flexibilität weist EXPORTMI folgende Einschränkungen auf:

  • Der Abruf der Informationen ist auf eine einzelne Tabelle in M3 beschränkt. Die Verknüpfung anderer Tabellen ist nicht möglich. Die API erfordert, dass die Tabelle, aus der Informationen abgerufen werden, das Feld "M3-Firma" (CONO) enthält.
  • Filter, die die Auswahl von Firmen enthalten, werden nicht unterstützt. Die M3-Firma wird immer auf die Firma eingestellt, die von der API-Sitzung verwendet wird (normalerweise die Standardfirma des Benutzers, es sei denn, während der Anmeldung bei der API-Sitzung wurde eine andere Firma festgelegt).
  • Filter mit Divisionen werden nur für API-Sitzungen unterstützt, die bei einer globalen Division (leere Division) angemeldet sind.

Suchtransaktion

Die Suchtransaktion verwendet in erster Linie die Funktionen von M3 Function Search (IES), um Daten zu filtern. Diese robuste Suchfunktion verbessert die Datenauswahl und die Anpassung von EXPORTMI.

Beachten Sie die folgende Hinweise zur Verwendung der Transaktion:
  • In den Output (FLDS) zu berücksichtigende Felder können ausgewählt werden. Wenn keine Eingabe erfolgt, werden alle Felder der Tabelle berücksichtigt.
  • Der Trennzeichenparameter (SEPC) wird verwendet, um das Trennzeichen zwischen den Feldwerten zu definieren. Wenn das Feld leer gelassen wird, ist das Ergebnis ein Flat File-Format, das auch nachstehende Leerzeichen beinhaltet. Wenn ein Zeichen angegeben wird, wird dieses Zeichen als Trennzeichen verwendet, und mögliche Leerzeichen werden von den Werten abgeschnitten. Wenn das Zeichen "*" oder "#" ist, wird den Feldwerte auch der Feldname vorangestellt (das gilt für alle Zeilen im Ergebnis), gefolgt von einem Leerzeichen.
  • Wenn der Kopfparameter (HDRS) auf 1 gesetzt ist, enthält der erste zurückgegebene Datensatz die Feldnamen, die auf die gleiche Weise formatiert sind, wie sie im Trennzeichenparameter definiert sind.
  • Verschiedene Suchmethoden sind als Eingabe durch die Suchabfrage (SQRY) zulässig. Weitere Informationen dazu finden Sie unter Suchfunktionen verwenden.

Auswahltransaktion

Die Auswahl wird in einer SQL-ähnlichen Syntax definiert, wobei die gleiche API-Transaktion für nahezu jede Tabelle in M3 verwendet werden kann.

Die Syntax für den Filter muss den folgenden Richtlinien entsprechen:

  • Der zum Auswählen der Informationen verwendete Filter wird in einer SQL-ähnlichen Syntax geschrieben.
    Hinweis

    Dies ist keine echte SQL, sie weist nur eine ähnliche Syntax auf. Operationen wie IN(), "Order by" usw. werden nicht unterstützt.

  • Sie können einen bestimmten Index für die Tabelle definieren. Dadurch wird die Sortierung der zurückgegebenen Liste gesteuert. Wenn kein Index angegeben ist, wird der Index "00" verwendet. Beim Filtern wird aus Leistungsgründen die Verwendung eines Index empfohlen, der mit den Filterfeldern übereinstimmt.
  • Die Operatoren "von", "wo", "und" und "oder" müssen kleingeschrieben werden. Außerdem müssen sie auf jeder Seite über ein einzelnes Leerzeichen aufweisen.
  • Operatoren "=", "<>" usw. müssen auf jeder Seite ein einzelnes Leerzeichen haben.
  • Es können spezielle Operatoren wie "count(*)" verwendet werden. Das Ergebnis ist eine Zahl, die der Anzahl der Datensätze entspricht, die mit der Filterauswahl übereinstimmen.
    Hinweis

    Mit count(*) wird die Anzahl der Datensätze für die aktuelle Firma zurückgegeben. Um alle Datensätze in der Tabelle zu zählen, müssen Sie count(#) verwenden.

  • Feldnamen müssen in Großbuchstaben geschrieben werden und das Tabellenpräfix enthalten. Das heißt, "MMITNO" ist korrekt, aber "ITNO" ist es nicht.
  • Aus Leistungsgründen ist es empfehlenswert, immer die einzelnen Felder anzugeben. In Ausnahmefällen können Sie das allgemeine Zeichen "*" verwenden, um alle Felder auszuwählen. D. h. alle Felder, die in die Transaktion passen können, werden in die Rückgabedaten aufgenommen.
  • Vergleichswerte werden mit oder ohne umgebende Anführungszeichen " angegeben, unabhängig vom Typ des Wertes wie Zeichenfolge, Zahl usw.
  • Der Trennzeichenparameter (SEPC) wird verwendet, um das Trennzeichen zwischen den Feldwerten zu definieren. Wenn das Feld leer gelassen wird, ist das Ergebnis ein Flat File-Format, das auch nachstehende Leerzeichen beinhaltet. Wenn ein Zeichen angegeben wird, wird dieses Zeichen als Trennzeichen verwendet, und mögliche Leerzeichen werden von den Werten abgeschnitten. Wenn das Zeichen "*" oder "#" ist, wird den Feldwerte auch der Feldname vorangestellt (das gilt für alle Zeilen im Ergebnis), gefolgt von einem Leerzeichen.
  • Wenn der Kopfparameter (HDRS) auf 1 gesetzt ist, enthält der erste zurückgegebene Datensatz die Feldnamen, die auf die gleiche Weise formatiert sind, wie sie im Trennzeichenparameter definiert sind.
  • Beispiele für die Eingabezeichenfolge:
    Hinweis

    Das Leerzeichen bis Position 16, die den Trennzeichenparameter (SEPC) enthält. Position 17 enthält dann den Kopfparameter (HDRS).

    • Mit Angabe der Felder: Select ;1MMSTAT,MMITNO,MMITDS,MMRESP,MMDCCD,MMUNMS,MMITGR,MMITCL from MITMAS where MMSTAT = 10 or MMSTAT = 90 and MMITCL = 'Y001'.
    • Ohne Angabe der Felder: Select ;1* from CEMAIL where CBEMTP = 04 and CBRGDT <= 20160111.
    • Mit Angabe der Felder und Angabe des Index (beachten Sie, dass die Filterwerte mit dem Index übereinstimmen): Select ;1MMSTAT,MMITNO,MMITDS,MMRESP,MMDCCD,MMUNMS,MMITGR,MMITCL from MITMAS80 where MMITTY = ‘D02’ and MMSTAT = ‘50’.