Hallo zusammen,
ich bastele gerade an einem RFC-Baustein, bei dem der User Daten aus einer Tabelle als Antwort erhalten soll.
Es gibt "draussen" ein Suchformular, in dem er beliebige Felder fuellen kann, es gibt also auch leere.
Beispiel:
Inputfeld1 = 'Meier'; Inputfeld2 = 'Otto'; Inputfeld3 kein Eintrag .
select * from tabelle where feld1 like Inputfeld1 and feld2 like Inputfeld2 and feld3 like Inputfeld3.
Der Select wuerde alle Otto Meier finden, bei denen in feld3 'NULL' enthalten ist. Ich moechte aber alle Otto Meier finden, egal, was in feld3 in der Tabelle ist.
Wer hat eine gute Idee, um das Problem zu loesen
Karsten
Du kannst die Where Klausel dynamisch aufbauen im FUBA (wie das geht steht in der SAP Hilfe) und dann Inputwerte die nicht gefüllt sind einfach nicht mit in die Where Klausel aufnehmen.
Dynamische SELECTs sind ziemlich schwer zu durchschauen, wenn man ein paar Tage später nochmal draufschaut.
Hilft es nicht, ein Prozent-Zeichen anzuhängen?
Hallo Haubi,
das könnte klappen für eine feste Anzahl an Inputfeldern, aber wenn der User nun 2 oder 3 oder 7 Kriterien = Inputfelder füllt, was möglich sein soll, muß ich doch mit den AND's flexibel reagieren...
Nee, Du hast recht, es funktioniert. Ich hab's gerade mal probiert. Ich setze grundsätzlich Deine Zeile und füge so auch in leere Inputfelder ein '%' ein.