Code: Alles auswählen.
TYPES: BEGIN OF Test1,
name TYPE c LENGTH 40,
vorname TYPE c LENGTH 40,
END OF Test1.
DATA: t_test1 TYPE TABLE OF Test1,
wa_test1 LIKE LINE OF t_test1,
t_db1 TYPE TABLE of db1, "Datenbank mit Verknüpfungen die nacheinander abgefragt werden müssen Beispiel zeigt sie die Verknüpfungen zu OBJID und Namen, anschließend muss man noch einmal mit den Namen auf die db um dazu alle Vornamen zu bekommen.
wa_db1 LIKE LINE OF t_db1.
****Normalerweise würde hier ein Select erfolgen, der Einfachheit, befülle ich die Daten direkt zum Testen und probieren.
wa_test1-name = 'Mueller'.
APPEND wa_test1 TO t_test1.
CLEAR: wa_test1.
wa_test1-name = 'Schuster'.
APPEND wa_test1 TO t_test1.
CLEAR: wa_test1.
wa_test1-name = 'Bauer'.
APPEND wa_test1 TO t_test1.
************************************************************
CLEAR: wa_test1, t_db1, wa_db1.
Select * FROM db1 INTO TABLE t_db1 FOR ALL ENTRIES IN l_test1 WHERE
NAME = l_test1-name.
IF sy-subrc = 0.
LOOP AT t_db1 INTO wa_db1.
wa_test1-name = wa_db1-name.
wa_test1-vorname = wa_db1-vorname.
APPEND wa_test1 TO l_test1.
ENDIF.
Guten Morgen Peter,PeterPaletti hat geschrieben: ↑12.02.2023 06:02Moin,
also was mich angeht, scheinst du das Brett und die Wand weiterzureichen: Ich habe auch nach mehrfachen Lesen und nachgrübeln leider nicht verstanden, was die Aufgabe ist?
Meine letzte Vermutung ist die, dass du den passenden Vornamen in die richtige Zeile der vorab gefüllten Tabelle mit den Nachnamen bekommen möchtest.
Ich denke nicht dass das direkt über ein einfaches SELECT geht. In dem Fall würde ich ein LOOP über die L_TEST setzen und aus der T_DB1 den Vornamen dazu lesen.
Oder hast du eine ganz andere Aufgabenstellung?
Code: Alles auswählen.
....
IF sy-subrc = 0.
LOOP AT t_db1 INTO wa_db1.
wa_test1-name = wa_db1-name.
wa_test1-vorname = wa_db1-vorname.
* APPEND wa_test1 TO l_test1.
MODIFY l_test1 From wa_test1 TRANSPORTING vorname WHERE name = wa_test1-name.