Suchhilfe richtig anpassen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Suchhilfe richtig anpassen

Beitrag von smidi (ForumUser / 17 / 0 / 0 ) »
Hallo an alle.

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.

Danke und Gruss Marko

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Suchhilfe

Beitrag von Nicole_80 (Specialist / 120 / 0 / 0 ) »
Hallo,

[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.



[b]4. Perform [/b]

form uorg_value_request using p_s_uorg_low.

clear: itab_value_uorg_input, itab_value_uorg_input[],
itab_value_uorg_output, itab_value_uorg_output[].

* 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.

endloop.

refresh return_tab.
clear return_tab.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
* DDIC_STRUCTURE = ' '
retfield = 'UORG'
* PVALKEY = ' '
* DYNPPROG = ' '
dynpnr = sy-dynnr
* DYNPROFIELD = ' '
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
value_org = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
tables
value_tab = itab_value_uorg_output
* FIELD_TAB =
return_tab = return_tab
* DYNPFLD_MAPPING =
* EXCEPTIONS
* PARAMETER_ERROR = 1
* NO_VALUES_FOUND = 2
* OTHERS = 3
.
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.

* Rückgabe des in der Wertehilfe selektierten Wertes
loop at return_tab.
p_s_uorg_low = return_tab-fieldval.

endloop.


endform. " uorg_value_request



Kopier dir alles in dein Programm,
dann funktioniert es auch!

Gruß,
Nicole

Beitrag von smidi (ForumUser / 17 / 0 / 0 ) »
Hallo,

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.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
* ddic_structure = 'ZSDB_F4_STAWN'
retfield = 'ZSTAWN'
* PVALKEY = ' '
* dynpprog = sy-repid
dynpnr = sy-dynnr
* dynprofield = 'GS_MARC-STAWN'
* STEPL = 0
* window_title = text-lif
* VALUE = ' '
value_org = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
tables
value_tab = lt_stawn
* FIELD_TAB =
return_tab = lt_retval
* dynpfld_mapping = p_dynfields
exceptions
parameter_error = 1
no_values_found = 2
others = 3
.
if sy-subrc <> 0.
endif.

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.

Kannst du mir da noch weiterhelfen?

Danke.

Gruß

Marko

Beitrag von Nicole_80 (Specialist / 120 / 0 / 0 ) »
Hallo,

hast du die LT_STAWN richtig definiert?

Oder hast du evlt. eine Benutzereinstellung /Sicht abgespeichert?

Die Zeile DDIC_STRUCTURE = 'ZSDB_F4_STAWN' hast du ausgesternt, ist
das Absicht??

Ansonsten fällt mir momentan nichts mehr ein.

Gruß,
Nicole

Beitrag von smidi (ForumUser / 17 / 0 / 0 ) »
Hallo,

was meins du mit richtig definiert?

Die Zeile DDIC_STRUCTURE = 'ZSDB_F4_STAWN' hatte ich auch schon drin, aber es war kein unterschied.

Gruß

Marko

Beitrag von Nicole_80 (Specialist / 120 / 0 / 0 ) »
Hallo,

kannst du mir mal deine Datendefinition zum Feld LT_STAWN hier reinschreiben?? Will sehen wie diese intere Tabelle definiert wurde.

Gruß,
Nicole

Beitrag von smidi (ForumUser / 17 / 0 / 0 ) »
Hallo,

hier die Datendefinition:

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:

ZSTAWN Komponente STAWN
ZTEXT Komponente TEXT40.

Danke.

Gruß

Marko

Beitrag von smidi (ForumUser / 17 / 0 / 0 ) »
Hallo,

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.

Gruss Marko

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4820
Views
Suchhilfe: Zwei Dynpro-Felder aus 1 Suchhilfe beschicken
von meinrad » 03.03.2006 15:24 • Verfasst in Dialogprogrammierung
0
Antw.
5364
Views
BAPI_REQUISITION_CREATE richtig füllen
von Norbert » 14.06.2005 11:23 • Verfasst in ABAP® Core
4
Antw.
2703
Views
CL_SALV_TREE richtig refreshen
von Ingo » 17.03.2020 17:24 • Verfasst in Dialogprogrammierung
4
Antw.
2786
Views
Dynpros richtig wechseln
von Ingo » 29.08.2012 17:39 • Verfasst in ABAP® Core
2
Antw.
3301
Views
Feldsymbol richtig zuweisen
von 1337 » 13.12.2013 09:12 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.