Suchfunktionen verwenden

In diesem Dokument wird erläutert, wie Sie die verschiedenen Arten von Suchfunktionen in M3 Business Engine verwenden.

Folgende Suchtypen sind in M3 BE verfügbar:

  • Einfache Suche
  • Erweiterte Suche
  • Suche inklusive reservierter Wörter
  • Verwendung von M3 IES über API-Aufrufe – Infor Enterprise Search (IES); Application Programming Interface (API)
  • Mehrstufige Schlüsselsuche
  • Stark erweiterte Suchabfragen
  • Lucene-Referenzen

Einfache Suche

Dies ist die einfachste Form der Suche. Es werden ganze Wörter eingegeben, und die Suche erfolgt unter Berücksichtigung der Groß- und Kleinschreibung. Alle Spalten werden durchsucht, und die gefundenen Wörter können aus mehreren Spalten stammen.

  • Verwenden des Suchfelds

    Geben Sie im Suchfeld das Wort, nach dem gesucht werden soll, vollständig und unter Berücksichtigung von Groß- und Kleinschreibung ein. Wenn Sie beispielsweise nach "Käse" suchen, werden alle Instanzen von "Käse" in jeder Spalte zurückgegeben.

    Wenn Sie mehrere Wörter durch AND verbinden, müssen alle Wörter in mindestens einer Spalte einer Zeile vorhanden sein. Wenn Sie beispielsweise nach "Käse" und "Saft" suchen, werden alle Zeilen zurückgegeben, in denen beide Wörter in beliebigen Spalten einer Zeile vorhanden sind.

    Wenn Sie mehrere Wörter durch OR verbinden, muss mindestens eines der Wörter in einer der Spalten vorhanden sein. Wenn Sie beispielsweise nach "Käse OR Saft" suchen, werden alle Zeilen zurückgegeben, in denen eines der Wörter in einer der Spalten vorkommt.

    Verwenden Sie (), um Blöcke von AND und OR zu kombinieren. Zum Beispiel gibt "Käse OR (Saft 011215)" alle Zeilen zurück, in denen entweder "Käse" oder "Saft 011215" vorkommt.

    Sie können im Suchfeld die folgenden Platzhalter verwenden:

    • "*" – Ersetzt mehr als ein Zeichen. Zum Beispiel gibt "Käs*" alle Instanzen zurück, die "Käs" enthalten, wie "Käse", "Käsestücke", "große Käsestücke" usw.
    • "?" – Ersetzt ein einzelnes Zeichen an einer bestimmten Position. Zum Beispiel gibt "Sa?t" Instanzen von "Saft" zurück.
  • Spalten

    Um die Suche auf eine einzelne Spalte zu beschränken, klicken Sie mit der rechten Maustaste auf den Spaltenkopf, und wählen Sie "Zu Suche hinzufügen" aus. Geben Sie den Suchbegriff ein.

  • Feldnamen

    Sie können in der Suchabfrage Feldnamen verwenden, um in Feldern zu suchen, die nicht als Spalte angezeigt werden. Zum Beispiel gibt "Käs* STAT:20" Instanzen zurück, die "Käs" enthalten und auch den Status "20" haben, auch wenn in keiner Spalte der Status angezeigt wird.

  • Datum

    Sie können nach bestimmten Daten suchen, wobei Sie dasselbe Datumsformat verwenden müssen, das für den Benutzer im Benutzerstamm definiert wurde. Zum Beispiel "LMDT: 112515" gibt alle Zeilen mit "112515" in der Datumsspalte in diesem Format zurück.

  • Dezimalpunkte

    Das verwendete Dezimalpunktformat wird durch die Einstellung im Benutzerstamm gesteuert. Zum Beispiel ".", "," usw.

Erweiterte Suche

  • Bereiche

    Sie können nach Datenbereichen suchen, indem Sie Klammern wie folgt verwenden:

    • [x TO y] bedeutet, dass die Werte enthalten sind. So gibt "[100 TO 480]" beispielsweise alle Instanzen der ausgewählten Spalte zurück, die Werte von 100 bis 480 enthalten.
    • {x TO y} bedeutet, dass die Werte ausgeschlossen sind. So gibt "{100 TO 480}" beispielsweise alle Instanzen der ausgewählten Spalte zurück, die außerhalb des Bereichs 100 bis 480 liegen.

    Es können Platzhalter und Kombinationen von "[" und "}" verwendet werden, um alle Transaktionen mit einem negativen Wert zu finden.

  • Datum

    Folgende Datums-Makros stehen zur Verfügung:

    • YEAR(x)
    • MONTH(x)
    • WEEK(x)
    • DATE(x)

    "x" ist eine relative Zahl, wobei "0" für das aktuelle Jahr, den aktuellen Monat, die aktuelle Woche und das aktuelle Datum steht.

    Beispiel: "INDT:YEAR(-1)".

    Das Makro DATE kann mit Bereichen kombiniert werden, um eigene Bereiche zu definieren. Beispiel: "LMDT:[DATE(-14) TO DATE(0)]" gibt alle Transaktionen der letzten zwei Wochen zurück.

    Bei der Suche mit NOT muss eine andere Abfrage vorangestellt werden. Beispiel: "No:780 NOT INDT:YEAR(0)".

    Datums-Makros sind sehr nützlich bei gespeicherten Suchen, da sie zum Beispiel eine schnelle Verbindung zu den Bestellungen des letzten Monats bereitstellen. Die Makros können in Favoriten, Canvas, als Menüoption oder im Toolbox-Bereich gespeichert werden, sodass sie schnell zugänglich sind.

  • Platzhalter

    "?" – Ersetzt ein einzelnes Zeichen an einer bestimmten Position und kann zusammen mit anderen Platzhaltern verwendet werden. Zum Beispiel "SUNO:?*".

    Für numerische Felder können Sie die NOT-Anweisung verwenden. Zum Beispiel nb mkll?>e, "NOT STQT:0".

    "~" – Kann in Buchstaben, aber nicht in Zahlen verwendet werden und führt zu einer Fuzzy-Suche. Dies bedeutet, dass die Zeichen nicht genau mit denen in der Abfrage übereinstimmen müssen.

  • Suchergebnisse sortieren

    Mit "Suchergebnisse sortieren" können Sie beliebige Felder der Haupttabelle der Funktion mit Ausnahme von Feldern, die wie Beschreibungen mehrere Wörter enthalten, frei sortieren. Werden bei der Suche Ergebnisse in einer verknüpften Tabelle gefunden, die in "Verwandte Suche. Öffnen" (CMS022) konfiguriert wurde, sind die Ergebnisse nicht sortiert.

    Eine Suche, die Ergebnisse sowohl in verknüpften Tabellen als auch in der Haupttabelle findet, zeigt Treffer für die Haupttabelle zuerst in der ausgewählten Sortiermethode an, gefolgt von Treffern aus verknüpften Tabellen, die nicht sortiert sind.

    Diese Sortierung erfolgt mit dem Schlüsselwort "SortBy:x,a,!y", wobei "!" zu einer absteigenden Reihenfolge führt.

    Sie können die Sortierung im Toolbox-Bereich speichern, sodass Sie die Liste neu sortieren können, ohne einen separaten Index verwenden zu müssen. Sie können beispielsweise die Ergebnisse für die aktuelle Firmennummer mit "CONO:xxx" neu sortieren, wobei "xxx" durch die aktuell verwendete M3 BE-Firmennummer ersetzt wird.

  • Mehrere Begriffe suchen

    Das Suchen nach mehreren Begriffen in mehreren Spalten kann leicht zu falschen Ergebnissen führen, da alle Instanzen der Suche in allen Feldern in allen Spalten zurückgegeben werden. Zum Beispiel "Käs* 10".

    Mit dem Schlüsselwort "SearchFields:x;y;z" können Sie in mehreren Spalten suchen, aber nur in den angegebenen Feldern. Zum Beispiel "SearchFields:ITDS,FUDS Käs* 10".

  • Schlüsselsuche

    Das Suchen mithilfe der Schlüsselsuche vereinfacht komplexe Abfragen, sodass sie einfacher zu verwenden sind. Die Schlüsselsuche ermöglicht auch die Suche in anderen Tabellen ohne die Notwendigkeit übereinstimmender Schlüssel, wie es bei der Einrichtung der verknüpften Suche in (CMS022) erforderlich ist.

    Sie können z. B. eine Abfrage definieren, die bei der Eingabe des voreingestellten Teils der Schlüsselsuche automatisch angehängt wird.

    Die verfügbaren Schlüsselsuchen werden mit CTRL+F angezeigt.

    Hinweis

    Eine Schlüsselsuche wird sowohl in der Haupttabelle als auch in verknüpften Tabellen (definiert in (CMS022) oder verknüpfte Tabellen über "Verknüpfte Tabellen. Verbinden" (CMS011) ) durchgeführt.

Suche mit reservierten Wörtern

In M3 IES (Infor Enterprise Search) werden reservierte Wörter in gespeicherten und veröffentlichten Suchabfragen verwendet, um automatisch Informationen aus dem Kontext abzurufen, zu dem sie gehören.

Mit reservierten Wörtern können Sie allgemeine Widgets, Favoritenseiten in M3 H5 sowie Homepages und Widgets in Infor OS erstellen und veröffentlichen.

Reservierte Wörter können auch Informationen in Abfragen ersetzen, die auf der ausgewählten Zeile einer Liste basieren, oder Informationen im Bildkopf.

Die gespeicherte Suche kann zudem verwendet werden, um Links zu anderen Programmen hinzuzufügen, in denen die Suchabfrage an das nächste Programm weitergeleitet wird.

Die folgende Tabelle zeigt reservierte Wörter in M3 IES (Infor Enterprise Search):

Reserviertes Wort Effekt
SortBy:x,y,!z Sortiert das Suchergebnis in der x-, y-, z-Hierarchie. Das "!" vor einem Feldnamen bewirkt eine absteigende Sortierfolge.
SearchFields:x;y Begrenzt die Suche auf die aufgelisteten Felder x, y usw. Verbessert die Leistung und kann falsche Treffer vermeiden.
Year(x) Datumsbereich von Jahr relativ zum aktuellen Jahr x = -1 bedeutet letztes Jahr.
Month(x) Datumsbereich von Monat relativ zum aktuellen Monat x = -1 bedeutet letzten Monat.
Week(x) Datumsbereich von Woche relativ zur aktuellen Woche x = -1 bedeutet letzte Woche.
Date(x) Datumsbereich von Datum relativ zum aktuellen Datum x = -1 bedeutet Vortag.
<xxxx> Ersetzungen für Abfragezeile auf Basis von Liste und Listenkopf.
<USID> ID des angemeldeten Benutzers.
<CONO> Nummer der angemeldeten Firma.
<DIVI> Angemeldete Division; entspricht <CurrentDivision>.
<FACI> Standardstandort aus "Benutzer. Öffnen" (MNS150).
<CUNO> Kundennummer aus (MNS150).
<LNCD> Sprachcode aus (MNS150).
<CurrentLanguage> Derzeit in M3 BE verwendete Sprache (im Falle einer Sprachumschaltung während der Sitzung).
<TIZO> Zeitzone aus (MNS150).
<WHLO> Lagerort aus (MNS150).
<DEPT> Abteilung aus (MNS150).
<MNVR> Menüversion aus (MNS150).
<DFMN> Menüname aus (MNS150).

Diese Tabelle zeigt M3 IES (Infor Enterprise Search) nur für die Schlüsselsuche an:

Reserviertes Wort Effekt
<QRY> In der Suchsequenz angegebene Abfrage.
MAXJOIN:x Wird verwendet, um die Anzahl der Datensätze zu ändern, die bei der Verknüpfung der Schlüsselsuche verwendet werden (standardmäßig in den lokalen IES-Verwaltungsseiten festgelegt).
NOOPT Wird verwendet, wenn mehrere Schlüsselsuchen in derselben Tabelle ausgeführt werden. Beispiel: "Finde Artikel mit Attribut x, y, aber NICHT z" oder "Artikel, die an den Lagerorten a, b und c vorhanden sind".

Stoppwörter verwenden

Stoppwörter in M3 IES sind Wörter, die nicht indexiert sind und automatisch aus der Suchabfrage entfernt werden. Zum Beispiel "and", "or" und "etc". IES verfügt standardmäßig über eine Reihe von englischen Stoppwörtern, zu denen auch "a", "by", "is" und "as" gehören. Es kann Fälle geben, in denen diese Wörter eine alternative Bedeutung haben, die bei einer Suche berücksichtigt werden muss. Zum Beispiel "Factor a" oder das schwedische Wort "is", was auf Deutsch "Eis" bedeutet.

Eine provisorische Lösung besteht darin, auf den IED-Verwaltungsseiten für diese Wörter ein neues Stoppwort hinzuzufügen. Dies wäre ein einzigartiges Wort, nach dem sonst nicht gesucht würde, zum Beispiel "lkdshja7789".

Hinweis

Die betroffenen Tabellen wie MITMAS, MITLAD, OCUSMA, CIDMAS usw. müssen nach dem Hinzufügen neuer Stoppwörter auf den IED-Verwaltungsseiten neu indexiert werden.

Regeln für Suchabfragen und Schlüsselsuchen

Die folgenden Regeln werden verwendet, um "*" und "~" festzulegen:

  • <QRY>* – Fügt jedem Wort in der eingegebenen Abfrage automatisch einen Platzhalter hinzu. Beispiel: Die Abfrage "joh smit" wird vor Ausführung der Suche in "joh* smit*" geändert.
  • <QRY>~ – Fügt jedem Wort in der eingegebenen Abfrage automatisch eine Tilde oder Fuzzy-Suche hinzu. Beispiel: Die Abfrage "joh smit" wird vor Ausführung der Suche in "joh~ smit~" geändert. Fuzzy-Suchläufe sollten aufgrund der Art dieser Suche nicht mit numerischen Werten verwendet werden.

Ausnahmen:

  • Abfrage innerhalb von "" – Bei Eingabe einer Abfrage, die von doppelten Anführungszeichen "" umschlossen ist, werden keine Platzhalter zur Suche hinzugefügt, da die Suchmaschine alle in "" enthaltenen Zeichen als normale Zeichen behandelt. Das heißt, "joh*" gibt nur Ergebnisse für "joh*" einschließlich des Zeichens "*" zurück und nicht "john" usw.
  • Kurze Wörter – (ab M3 IES, Version 11, Patch 5). Kurze Wörter, die weniger Zeichen enthalten, als auf der lokalen IES-Verwaltungsseite festgelegt wurde, werden nicht mit "*" oder "~" versehen. Wenn die Einstellung beispielweise drei Zeichen ist, was der Standardwert ist, dann würden "jo", "10" und "xl" nicht mit "*" oder "~" ergänzt. Dies dient zur Verbesserung der Systemleistung.

Verwendung von M3 Infor Enterprise Search (IES) über API-Aufrufe (Application Programming Interface)

M3 API unterstützt vollständig die Verwendung von IES. Bei einigen Standard-API-Transaktionen ist die Suchfunktionalität aktiviert. So wird z. B. bei "Trans SearchItem" MMS200MI die normale Filtereingabe durch eine Suchabfrage ersetzt. Die Suche über API unterstützt alle normalen Suchabfragen, mit Ausnahme von UI-bezogenen Abfragen wie Datums-Makros und Ersatzwerte für Feldwerte, z. B. <WHLO>.

MDBREADMI und CMS100MI bieten vollständige Suchfunktionalität.

Hinweis

Es gibt keine feste Obergrenze für die Anzahl der Datensätze, die von einer Suche über eine API zurückgegeben werden können. Es gibt jedoch eine praktische Grenze, die durch eine Zeitüberschreitung verursacht wird. Daher hängt die Anzahl der zurückgegebenen Datensätze von der Umgebung ab, aber ein angemessenes Maximum liegt bei 3.000-6.000 Datensätzen.

Weitere Informationen dazu finden Sie im API-Verzeichnis in "MI Repository. Öffnen" (MRS001), "MI Transaktion. Öffnen" (MRS002) und "MI Transaktionslayout. Öffnen" (MRS003).

Bereichssuche

Eine Funktion der Verwendung von IES über API-Aufrufe ist die Bereichssuche. Dabei handelt es sich grundsätzlich um die Anzahl der Datensätze, die einem bestimmten Wert in einem bestimmten Feld entsprechen, oder die aggregierte Anzahl von Datensätzen in verschiedenen Gruppen.

M3-Bereiche werden über (FACETIM) abgerufen. An die API werden der Tabellenname, für den die Bereiche abgerufen werden, und die Suchabfrage zum Filtern der Bereiche und ihrer Anzahl übergeben. Beispielsweise können die Ergebnisse einer Abfrage als 161 Datensätze mit einem Einkaufspreis von "0" und 1 Datensatz mit einem Verkaufspreis von "20" gruppiert werden.

Der Vorteil von Bereichen liegt in einer hohen Performance, die unabhängig von der Anzahl der Datensätze erreicht wird, und der Filter für die Bereiche und deren Anzahl basiert auf einer Suchabfrage. Dies bietet endlose Möglichkeiten zur Durchführung von Drilldowns in den Daten.

Bereiche können auch als Online-Statistiken verwendet werden. Sie wurden vielen M3-Tabellen hinzugefügt, darunter transaktionale und statistische Tabellen. So werden Bereiche beispielsweise in der M3 Sales Manager-Homepagevorlage verwendet.

Mehrstufige Schlüsselsuche

Die mehrstufige Schlüsselsuche wird verwendet, um mehrere Tabellen parallel zu durchsuchen.

Hinweis

Sie müssen eine mehrstufige Suche immer mit der Suche starten, die die geringste Anzahl von Treffern zurückgibt und bei der Sie die eingegebene Abfrage verwenden, z. B. die MITMAS-Stufe.

Durch Hinzufügen mehrerer Schlüsselsuchen können Sie mit derselben Abfrage Beschreibungen für verschiedene Sprachen und Aliasse suchen. Beachten Sie, dass die Schlüsselsuche auf die gleiche Weise mit einer höheren Stufe verbunden wird wie bei einer einzelnen Schlüsselsuche.

Erweiterte Suchabfragen für Fortgeschrittene

Dieser Abschnitt richtet sich an fortgeschrittene IES-Benutzer, die IES-Suchabfragen über Code ausführen möchten. Diese Abfragen werden nicht manuell erstellt.

Schlüsselsuche ohne CTRL+F UI/(CMS030)

Beispiel für die Syntax, die verwendet wird, wenn sie in "Schlüsselsuche. Öffnen" (CMS030) definiert wurde:

related:[ITEM/WHS("WHLO:100"; ITEM GRP1("ITGR:1533"; ITEM_BROWS("chair")))]

  • Schlüsselsuch-ID, die in (CMS030) existiert – "ITEM/WHS", "ITEM GRP1" und "ITEM_BROWS"
  • Abfrage pro Schlüsselsuche – "WHLO:100", "ITGR:1533" und "chair"
    Hinweis

    Dabei muss sichergestellt werden, dass die richtige Anzahl von ")" verwendet wird.

Schlüsselsuche ohne UI/(CMS030)

Beispiel für die Syntax, die verwendet wird, wenn sie nicht in (CMS030) definiert wurde: related:

[MITMAS(ITNO;"ITGR:fop*"; ITEM_BROWS("chair"))]

  • Tabellenname in M3 – "MITMAS"
  • Ausgabefelder der Schlüsselsuche (verwenden Sie ",", wenn Sie mehrere Felder suchen) – "ITNO"
  • Abfrage pro Schlüsselsuche – "ITGR:fop" und "chair"
  • Schlüsselsuch-ID, die in (CMS030) existiert – "ITEM_BROWS"

Beispiel für die Syntax, die verwendet wird, wenn sie nicht in (CMS030) definiert wurde und wenn in "Feldalias. Öffnen" (CMS031) kein Alias definiert ist:

related:[ITEM_RESP("magnus";MITBAL(RESP=USID,CHID;"RESP:itama0";ITEM/WHS("WHLO:100";ITEM GRP2("1533";ITEM_BROWS("chair")))))]

  • Tabellenname in M3 – "MITBAL"
  • Ausgabefelder der Schlüsselsuche (verwenden Sie ",", wenn Sie mehrere Felder suchen) – "USID", "CHID"
  • Schlüsselsuch-ID, die in (CMS030) existiert – "ITEM_RESP", "ITEM/WHS" und "ITEM_BROWS"
  • Feldalias (normalerweise definiert in (CMS031)) – "RESP"

Beispiel für Verwendung der Schlüsselsuche

  • related:[ORDEREDGTO_1(MITMAS(ITNO;"ITNO:cherry OR ITDS:cherry~ OR FUDS:cherry~ OR ITDS:cherry* OR FUDS:cherry*"))]
  • related:[MITMAS(ITNO;"ITGR:fop*"; ITEM_BROWS("chair"))]
  • related:[ITEM/WHS("WHLO:100"; ITEM GRP1("ITGR:1533"; ITEM_BROWS("chair")))]
  • related:[MITBAL(ITNO;"RESP:itama0";ITEM/WHS("WHLO:100";ITEM GRP2("1533";ITEM_BROWS("chair"))))]
  • related:[MITMAS(ITNO;"ITGR:fop*"; ITEM_BROWS("chair"))] NOT related:[ITEM/WHS("WHLO:100] Separate Schlüsselsuche. Sie können AND (Standard, wenn nichts eingegeben wurde), OR und NOT verwenden. In diesem Beispiel werden Treffer aufgelistet, die im ersten Teil vorhanden sind, aber keine Treffer in der zweiten Schlüsselsuche sind.
  • MAXJOIN:2000 related:[MITMAS(ITNO;"ITGR:fop*"; ITEM_BROWS("chair"))] Beachten Sie, dass MAXJOIN die Anzahl der Treffer intern in der Schlüsselsuche erhöht. Dies überschreibt die Einstellung auf den lokalen Verwaltungsseiten in IES.

Lucene-Referenzen

IES verwendet die Lucene-Suchmaschine als Basis. Die Lucene-Suchsyntax ist unter https://lucene.apache.org/core/2_9_4/queryparsersyntax.html dokumentiert.