Ich habe ein Dynpro auf dem 3 Felder sind:
Kundennr
Datum
Bestellnr
Jetzt möchte ich eine Suchhilfe auf meine Tabelle BESTELLUNG machen in der gleich auf Kundennr und Datum gefiltert wird. In meiner Suchhilfe habe ich als Export die Bestellnr und als Import die Kundennr und das Datum angegeben. Aber es findet leider keine Filterung statt. Wenn ich in Bestellnr auf F4 gehe, listet er mir alle Bestellungen ungefiltert auf. Kann mir jemand einen Tipp geben?!
man kann die Kundennummer und das Datum über SET/GET Parameter an eine Suchhilfe übergeben. Die SET/GET Parameter sind in einer Suchhilfe unter DEFAULT Wert zu hinterlegen.
oder im Dynpro PROCESS ON VALUE-REQUEST.
Wirkung
Ereignis in der selbstprogrammierten Hilfe, das dann eintritt, wenn der Benutzer auf einem Dynprofeld F4 gedrückt hat. Die in den nachfolgenden FIELD-Anweisungen angegebenen MODULE werden aufgerufen und ersetzen die Ausführung des SAPhelps.
Beispiel
FIELD XY MODULE XYZ
Im Modul XYZ kann der Wert des Feldes XY ermittelt werden. Er wird dann automatisch in das Eingabefeld des Dynpros gestellt.
Welche Methode ist denn zu bevorzugen?
Ich würde jetzt eher zur GET/SET Methode in der Suchhilfe tendieren. Wenn ich die Suchhilfe eh schon habe... oder?!
am einfachsten ist es mit den SET/GET Parametern. Diese können auch direkt bei den Dynprofeldern hinterlegt werden.
Offen: Erfolgt die Aktualisierung zum richtigen Zeitpunkt, bleibt ein unerwünschter Eintrag stehen? Einfach mal durchprobieren. Nicht dass die User was eingeben und kein Ereignis kommt um die SET/GET Parameter zu füllen und die Suchhilfe mit falschen Defaultwerten versorgt wird.
Ich hab das gestern mal versucht. In meiner Naivität hab ich einfach in den entsprechenden Zeilen der Suchhilfe unter Default nochmal den Spaltennamen (Datum und Bestellnr) eingetragen. Bei den beiden Controls auf dem Dynpro habe ich unter ParameterID auch die beiden Werte eingetragen und das Häckchen bei GET-Paramter gesetzt. Aber das das System sagt mir es kennt die Parameter nicht. Wo und wie muss ich die denn deklarieren?