![]() |
Artikelgruppe aus Artikelnummer *schnell* ermitteln
Wir haben hier Artikelnummnern rein aus Zahlen wie z.B.
5462155 76543887 Diese beginnen immer mit einer unterschiedlich langen Artikelgruppennummer. Zur Verdeutlichung *hier* durch einen Bindestrich abgegrenzt: 54-62155 5655-43887 64373-1 Zu einer Artikelnummer möchte ich nun die Artikelgruppennummer zusammen mit der Artikelgruppe ermitteln. Dazu gibt es diese Artikelgruppenliste: ... 52 Toner schwarz 53 Toner blau 54 Toner rot ... 5654 Papier A5 5655 Papier A4 ... 64373 Klebefilm 5462155 wäre also ein "Toner rot". Da die Artikelnummer mit 54 beginnt. Die Artikelgruppennummer ist immer eindeutig. Es gibt keine Überschneidungen. Wie bekommt man das schnell hin, ohne jeden einzelnen Eintrag aus der Artikelgruppenliste mit der Artikelnummer abzugleichen? Manchmal hilft es auch es nochmal aufzuschreiben, denn während ich das hier schreibe hat mich das und etwas googlen auf einen "Trie". Als Lösung geführt: ![]() Präfixanfragen der Art „Welche Zeichenketten in S beginnen mit dem Muster M?“ Das scheint hier also die Lösung zu sein. Gibt es da für Delphi schon etwas fertiges? |
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Zitat:
![]() ![]() Ich habe bei mir z.B. die Situation, dass ich einen eingescannten Barcode (1D / 2D) identifizieren muss und daraus definierte Werte extrahieren muss (Seriennummer, Chargennummer, etc.). Zu diesem Zweck registriere ich einen neuen Barcodetypen einmalig und identifiziere diese danach anhand meines definierten "Daumenabdruckes" (Anzahl Zeilen und Zeichen, Erkennungsmuster, etc.) |
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Danke, aber das ist zu langsam. Denn damit müsste ich im schlimmsten Fall bei jeder Artikelnummer die gesamte Liste aller Artikelgruppen durchgehen, wenn erst der letzte Eintrag in der Artikelgruppen-Liste ein Treffer ist. Wie gesagt geht es bei der Fragestellung nicht darum, es irgendwie sondern möglichst schnell hinzubekommen, da diese Suche sehr oft ausgeführt wird und die Liste sehr lang ist. Ziel ist es, dass der User in der GUI bei der Suche keinerlei Wartezeit wahrnimmt.
|
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Ich würde das durch ein geeignetes Datenbankmodell lösen.
|
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Wenn Zahlen tatsächlich Unique sind, egal in welcher Kombination, vielleicht einfach drei verschiedene DB abfragen mit jeweils anderem Trenner, eine der drei sollte ja dann als "Positiv" rauskommen, oder versteh ich da was falsch?
|
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Zitat:
In meinem konkreten Fall muss ich z.B. beim einen Barcode die Chargennummer auslesen, beim nächsten die Cargen-/Serien- und IMEI-Nummer, gleichzeitig muss der Code auch einem Artikel zugeordnet werden können. Die Merkmale habe ich in der Datenbank abgelegt und lese sie beim Programmstart in den Speicher. |
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Ich würde mir eine Tabelle machen, wo du - einmalig - Artikelnummer + Artikelgruppe ablegst. Oder auch ein neues Feld in der Artikel-Tabelle. Dann kannst du das abrufen + musst nichts ermitteln.
Wenn du lustig bist, machst du einen Trigger, der dir das aktuell hält. |
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Zitat:
(edit sagt, dass AC natürlich schon Overkill ist, weil es auch nach Position 0 noch sucht... aber eine fertige getestete Implementierung ist halt auch was wert, alternativ könntest Du die entsprechenden Pfade im Baum einfach weglassen) |
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Zitat:
Ansonsten, ist das wirklich eindeutig? Zitat:
Das würde noch mehr für eine Modellverbesserung sprechen. |
AW: Artikelgruppe aus Artikelnummer *schnell* ermitteln
Das erinnert mich an Telefonnummern, bei denen man ja auch nach einer unterschiedlichen Ziffernanzahl auf unterschiedlichen Organisationsebenen landet.
Dementsprechend würde ich einen Suchbaum aufbauen, und bei Gelegenheit die Artikelnummern überholen. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz