Suchen nach diversen Artikelnummern auf Belegebene
Sebastian Dunkel
Einen wunderschönen Guten Tag,mir stellt sich folgendes Problem. In den Belegzeilen wird i.A. über die SBO-Artikelnr. gesucht, um diesen dem Beleg hinzuzufügen. Ich möchte es ermöglichen, dass nun zusätzlich ein weiteres Feld (UDF), angelegt in der Tabelle OITM, durchsucht wird. Hintergrund ist, dass dort interne 'sprechende' Artikelnummern hinterlegt sind.
Folgende SQL-Abfrage verrichtet bereits fröhlich ihr Werk:
SELECT T0.ItemCode, T0.U_AS400item AS 'AS/400-Nr.', T0.ItemName FROM OITM T0 WHERE T0.ItemCode LIKE REPLACE('[%G,38,1]','*','%') OR T0.U_AS400item LIKE REPLACE('[%G,38,1]','*','%')Der Nutzer kann wie gewohnt die Sternchentaste mit angeben. Da der SQL-Server dieses Zeichen nicht als Wild-Card interpretiert, wird es noch in ein '%' umgewandelt.
Ziel ist es nun diese Abfrage automatisch anzustoßen. Folgende zwei Lösungsansätze habe ich mir bereits überlegt.
1.) Über ein UDF auf Beleg-Ebene kann eine Artikelnummer eingegeben werden, welche dann bei erfolgreicher Suche in die letzte Zeile der Matrix geschrieben wird. Dazu hatte ich z.B. im Angebot in der Spalte "Artikelnr" die oben aufgeführte Benutzerdefinierte Abfrage gelegt, welche sich automatisch aktualisiert, wenn sich gerade eben der Wert des UDF ändert.
Probelm hierbei sah ich darin, dass es an meinen Fähigkeiten scheitert, die Nr. der letzte Zeile der Matrix zu ermitteln.
2.) Mittels CoreSuite Customize -> Optimizer das Event abfangen, wenn die Spalte "Artikelnr" über die Tab-taste verlassen wird. Hier ist sicherlich ein großes Problem, dass bereits im Standard ein Event hinterlegt ist, welches Überschrieben werden müsste. Hier scheitert es an den noch nicht vorhanden Programmierkenntnissen.
Ich würde als Lösung, gerne den zweiten Ansatz ausbauen, da ich diese in abgewandelter Form noch an anderen Stellen ihre Dienste verrichten könnte.
Der Erwerb des Add-On 'quickfinder' ist leider ausgeschlossen.
Ich freue mich auf Ihre Ideenanstöße und bedanke mich für Ihre Mühen.
Mit freundlichen Grüßen
Sebastian Dunkel
Michael Egloff
Hallo Sebastian,die von dir beschriebene Funktionalität lässt sich sicherlich entwickeln.
Ich würde auch auf die zweite Variante vorschlagen, auch aus Komfortgründen für den Benutzer.
Bitte melde dich doch per Email (michael.egloff 'at'' coresystems.ch) bei mir, dann kann ich dir genauere Angaben zu einer Aufwandsschätzung geben.
Gruss,
Michael
Sascha Balke
Hallo Sebastian und Michael,ich wollte das ganze einmal aufleben lassen.
Für uns ist die Suche nach Herstellernummer und/oder Lieferantenbestellnummer wichtig.
Aus diesem Grund habe ich folgende Query erstellt:
SELECT T0.ItemCode
FROM OITM T0
WHERE T0.FrgnName = '[%G;38;U_EISG_HerstLieferN;1]'
union
SELECT T0.ItemCode
FROM OITM T0
WHERE T0.SuppCatNum = '[%G;38;U_EISG_HerstLieferN;1]'
Das Problem was ich habe ist, dass ich ein Auswahlfenster erhalte, in dem ich entweder die Bestell- oder Herstellernummer eingeben kann. Gebe ich nun eine von beiden ein, so wird auch die korrekte Artikelnummer ausgegeben. Sollte der Fall eintreten, dass mehr als ein Treffer gefunden wird, erhalte ich eine dementsprechende Auswahlmöglichkeit. Was auch soweit in Ordnung ist.
Er soll aber die Nummer aus dem angelegten UDF sich ziehen, was ich ja auch als Where-Bedingung angegeben habe. Das wird jedoch überhaupt nicht beachtet.
Weiß jemand von euch, wo der Fehler liegt?
Wenn das soweit funktioniert, wollte ich das mit einem Event verknüpfen.
VG
Sascha
0
Please sign in to leave a comment.
Comments
0 comments