Gelöst Artikelsuche - Angepasste Suchwert - Matchcodes ohne Sonderzeichen

Frank

Neues Mitglied
Hallo,

Wir haben die Office Line 8.1.1 im Einsatz. Ich möchte hier die Matchcode Suche so anpassen, dass man diesen unabhängig der Sonderzeichen / Leerzeichen durchsuchen kann. Bei uns stehen z.B: teilweise Bestellnummern im Matchcode:
z.B. X17-1234 ABC
Da nun die Mitarbeiter teilweise nicht wissen, wie es in der Datenbank steht, wollen Sie z.b. einfach so suchen können: X171234ABC.
Das an sich ist schon mal nicht das Problem. Dafür hatte ich schon in unserer Alten Office Line Version (6.2) eine berechnete Spalte (MatchcodeOhneSonderzeichen) auf der Tabelle KHKArtikel angelegt mit der Berechnung: (replace(replace([Matchcode],' ',''),'-',''))

Diese habe ich nun in der neuen Office Line über das ANhängen einer Spalte über Datenquellen und IstArtikelstammArtikelstamm Element hinzugefügt im AppDesigner.

Nun kommt aber Schritt 2.
Es kann sein, dass die Mitarbeiter den Matchcode irgendwoher kopieren, und da die Sonderzeichen anders sind: z.B. X17-1234-AB-C
Jetzt müssten die Mitarbeiter die Sonderzeichen manuell entfernen und damit suchen. In der alten Office Line hatte ich hierfür eine Anpassung in der OLAbfApp.mdb in der Tabelle "UsysClassIndex". Hier habe ich die Matchcode suche einfach so angepasst: KHKArtikel.MatchcodeOhneSonderzeichen LIKE REPLACE(REPLACE($&$,' ',''),'-','')
Daher war es nun egal in welcher Form der Mitarbeiter den matchcode eingibt, er wird immer gefunden.

Nun ist die Frage, wie mache ich das ganze für die neue Maske über den AppDesigner? Ich benötige irgendwie eine Möglichkeit, den eingegebenen Suchwert vom Kollegen zu replacen bzw. umzuschreiben. Habe das Kochbuch, F1 Hilfe usw. alles durchsucht. Finde keine passende Möglichkeit.

Kurzfassung:
Ich möchte eine neue Suchspalte im Artikelstamm, bei der man den Suchwert anpassen kann, z.B:

KHKArtikel.MatchcodeOhneSonderzeichen like REPLACE(REPLACE([Suchwert],' ',''),'-','')
 
Zuletzt bearbeitet:
Wenn es um die Suche im Artikelstamm geht, dann haben Sie aktuell nur die Möglichkeiten, die in der Auswahl im Filterfeld angezeigt werden. An den Feldinhalt kommen Sie aktuell nicht dran.

Eine Variante gäbe es ab der Version 8.1.1, in dem Sie die Datenquelle und das Listen-Element der Navigation ersetzen.
Anlage Metadaten (ohne Benamung und Titel)
  • Datenstruktur mit den String-Feldern, MatchcodeMitSonderzeichen und SuchMatchcode
  • Selektionselement mit Zuordnung Datenstruktur und Import Felder, SuchMatchcode mit Sichtbarkeit=versteckt
  • Im Ereignis "Nach Aktualisierung" des Feldes MatchcodeMitSonderzeichen folgendes Makro hinterlegen:
    • Befehl=FestlegenFeldWert, Parameter 1= SuchMatchcode, Parameter 2 = "%" & REPLACE(REPLACE([MatchcodeMitSonderzeichen]," ",""),"-","") & "%"
  • dtsArtikelstamm.Sage.Wawi kopieren
    • SQL-Where-Bedingung = KHKArtikel.Mandant = $[Mandant] $[IfParameterExists(SuchMatchcode," AND Matchcode LIKE $[Parameter(SuchMatchcode)]",'')]
  • lstArtikelstammArtikelstamm.Sage.Wawi kopieren, Anhängen an Sage.Wawi, Ersetzen aktivieren
    • Datenquelle dtsArtikelstamm aus eigener Lösung zuordnen
Sie erhalten dann eine Inplace-Selektion. In dem Feld MatchcodeMitSonderzeichen kann dann der Matchcode kopiert werden. Eingabe von z.B. (im Demomandanten) "tisch-pl att" -> liefert zwei Datensätze mit "Tischplatte".
 
Zuletzt bearbeitet:
Hallo Herr Langmaack,

ich habe jetzt mal ihre Lösung durchgetestet, das funktioniert soweit. Vielen dank für die ausführliche und gute Erklärung.
Leider ist es doch eine sehr umständliche Lösung und nicht ganz perfekt, da ich die Standardlösung von Sage überschreiben muss und dadurch die Anpassungen, die von unserem Sage Business Partner kommen, nicht mehr greifen, da diese sich an die Standard-Sage Lösung anhängen und nicht an meine.
Schade, dass Sage hier von Haus aus nicht anbietet, dass man den Suchwert, der eingegeben wird, noch bearbeiten kann.

Ich werde es nun intern klären, ob wir irgendwie mit der Lösung arbeiten können. Aber Thema sehe ich somit erstmal als erledigt hier im Forum. Vielen Dank. :)
 
Zurück
Oben