Ich habe ein kleines Problem mit einer Suchhilfe. Ich habe auf meinem Bildschirm zwei Selektionsfelder. Das erste Feld beinhaltet eine Organisationseinheit, das zweite soll dann die Untereinheiten enthalten. Wenn in dem ersten Feld etwas eingegeben wird, sollen in der zweiten Suchhilfe nur Ergebnisse zum ersten Feld erscheinen. In den Suchhilfen wird zur Datenbeschaffung eine Selektionsmethode verwendet.
Was muss ich in der zweiten Suchhilfe machen, damit nur Einträge erscheinen, die auch zum ersten Feld gehören?
Kann mir hier jemand auf die Sprünge helfen?
Falls die Fragestellung zu ungenau ist, einfach eine kurze Rückmeldung, dann versuche ich es noch mal genauer zu erklären.
[b]1. Datendefinition - was soll deine Suchhilfe ausgeben[/b]
* Definition interne Tabelle input Wertehilfe Unterorg
data: begin of itab_value_uorg_input occurs 0,
org type xxx, " Org
uorg type xxx, " Unterorg
uorgtext type xxx, " Unterorg-Bezeichnung
end of itab_value_uorg_input.
* Definition interne Tabelle output Wertehilfe Version
data: begin of itab_value_uorg_output occurs 0,
org type xxx, " Org
uorg type xxx, " Unterorg
uorgtext type xxx, " Unterorg-Bezeichnung
end of itab_value_uorg_output.
* Definition Returntabelle für Wertehilfefunktionsbaustein
data: return_tab like ddshretval occurs 0 with header line.
[b]2. Selektionsfeld definieren[/b]
select-options: s_uorg for xxxx
obligatory no-extension no intervals.
[b]3. Wertehilfe aufrufen bei UORG[/b]
* Absprung Perform der Unterorg.-Wertehilfe
at selection-screen on value-request for s_uorg-low.
perform uorg_value_request using s_uorg-low.
* Ermittlung der relevanten Unterorg. in abhängigkeit zur Org
select * from xxx into corresponding fields of
itab_value_uorg_input
where xxx IN xxxxx.
append itab_value_uorg_input.
endselect.
loop at itab_value_uorg_input.
* hier kann noch was ausgeschlossen, oder überarbeitet werden
move-corresponding itab_value_uorg_input to
itab_value_uorg_output.
append itab_value_uorg_output.
danke für die Antwort. Leider löst diese mein Ursprungsproblem nicht, da hier bereits über die SE11 Suchhilfen angelegt wurden. Sorry, hatte ich vergessen mit aufzunehmen.
Aber die Antwort hat mich bei einer anderen Suchhilfe weitergebracht. Ich konnte deine Performvariante sehr gut gebrauchen. Leider scheint bei mir noch ein Fehler im Coding zu sein, da ich immer eine leere Hilfe bekomme. Mein Coding sieht so aus:
lv_rfcd = grf_mat_country->get_rfcdestination( ).
call function 'ZSDB_STAWN' destination lv_rfcd
tables
t_stawn = lt_stawn.
Die Werte für die Suchhilfe kommen aus einem anderen Mandant und im Debugging konnte ich auch sehen, daß die Datentabelle (LT_STAWN) gefüllt ist. Es scheint auch so, als ob die richtigige Anzahl an Zeilen ausgegeben wird, aber eben ohne Inhalt.
data:
lt_retval type hrreturn_tab,
lt_stawn type standard table of zsdb_f4_stawn,
lt_stawn_ret type standard table of zsdb_f4_stawn,
ls_stawn type zsdb_f4_stawn,
lv_rfcd type rfcdest.
ZSDB_F4_STAWN ist eine Struktur mit zwei Feldern. Die Felder sind:
nochmal danke für die Hilfe, ich habe das Problem jetzt gelöst. Ich habe wohl gepennt, da ich einen Zuweisungsfehler in dem Baustein hatte, der die Daten für die F4-Hilfe beschafft.