Wenn ich eine Suchhilfe auf einem Feld in meinem Dynpro verwende das zu einem OHNE Top-Include gehört, funktioniert meine Suchhilfe problemlos.
Wenn ich das gleiche Szenario nun in einem Top-Include Programm verwende und ich das Programm starte, dann erscheint zwar das Symbol für die Suchhilfe, aber wenn ich darauf klicke heisst es
"Wählen sie eine gültige Funktion aus"
Ich probiere es schon seit Stunden, aber kann das Problem einfach nicht nachvollziehen, da es bei einem Programm ohne Top-Include ja geht...
Was steht denn so alles in dem Top(f)-Include denn drinnen?
Vielleicht ist ja irgendwo eine Variable definiert die gleich lautet wie die Suchhilfe.
Ist die Suchhilfe am Dynpro eingebunden? Oder auf einem Selektionsbildschirm?
Du kannst eine Suchhilfe auch direkt ohne Dynpro-Beteiligung aufrufen:
- Mit dem Baustein F4IF_GET_SHLP_DESCR kannst du eine Suchhilfe auslesen
- Du bekommst eine Struktur vom Typ SHLP_DESCR
- Jetzt kannst du die Suchhilfe noch etwas an deine Bedürfnisse anpassen. Auf alle Fälle musst du in der Tabelle INTERFACE für jene Felder für die die Suchhilfe gelten soll den Wert F4FIELD auf 'X' setzten und in VALFIELD den tatsächlichen Namen des Feldes auf dem Dynpro eintragen.
- Mit dem Baustein F4IF_START_VALUE_REQUEST kannst du die Suchhilfe zur Anzeige bringen
Theoretisch kannst du so auch eine dynamische Suchhilfe aufbauen (also ohne F4IF_GET_SHLP_DESCR), das hab ich aber bislang noch nie versucht.
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
danke schon mal für deine Antwort.
Ich werde heute am Nachmittag nochmal nachschauen, ob ich evtl. eine Variable im Top Include habe die den gleichen Namen trägt wie die Suchhilfe.
Die Suchhilfe habe ich innerhalb des Screen Painters bei der Gestaltung des Dynpro dem jeweiligen Feld direkt zugewiesen.
Ich werde wie gesagt erst einmal deinen Tipp überprüfen und mich nochmals melden, sollte ich hier immer noch nicht weiter kommen.