Hallo ABAP-Experten,
ich bin ein ziemlicher Newbie und hänge an folgendem Problem:
Ich habe Daten aus einer Datenbanktabelle in eine interne Tabelle gelesen. Diese interne Tabelle hat nun eine Spalte und 4 Zeilen. Diese 4 Einträge möchte ich dann in ein Feld ausgeben
Ich erhalte als Ergebnis aber immer nur den Eintrag aus der ersten Zeile der Tabelle.
Wenn ich die Daten in einen Arbeitsbereich lese und den dann anzeigen lasse, sind alle 4 Einträge enthalten.
Code: Alles auswählen.
Z_STATUS = ''.
DATA: lt_itab Type Table of JEST.
DATA: wa_itab type JEST.
SELECT STAT FROM JEST INTO CORRESPONDING FIELDS OF TABLE lt_itab WHERE OBJNR = V_EQUI-OBJNR.
* Für den Arbeitsbereich zur Kontrolle der Tabelleneintäge:
LOOP AT lt_itab into wa_itab.
Write:/ wa_itab-STAT.
ENDLOOP.
Z_STATUS = concat_lines_of( table = lt_itab sep = ';' ).
Irgendwo habe ich vermutlich einen Denkfehler, aber ich komme nicht drauf.
Schon mal vielen Dank für die Nachhilfe
Update:
Mit folgendem Code bekomme ich zumindest für ein Objekt das korrekte Ergebnis.
Code: Alles auswählen.
Z_STATUS = ''.
TYPES: BEGIN OF typ_tab,
field TYPE c LENGTH 20,
END OF typ_tab.
DATA: lt_itab Type Table of JEST.
DATA: lt_result TYPE TABLE OF typ_tab.
DATA: wa_itab type JEST.
DATA: l_string_result TYPE string.
SELECT STAT FROM JEST INTO CORRESPONDING FIELDS OF TABLE lt_itab WHERE OBJNR = V_EQUI-OBJNR.
LOOP AT lt_itab into wa_itab.
APPEND wa_itab-STAT to lt_result.
ENDLOOP.
CONCATENATE LINES OF lt_result INTO l_string_result SEPARATED BY ';'.
Z_STATUS = l_string_result.
Aber da gibt es sicherlich elegantere Methoden.
Das grössere Problem ist noch, dass wenn ich mehrere Objekte selektiere, die Daten in der lt_result fortgeschrieben werden und damit die Ausgabe zum Objekt nicht mehr stimmt. Ich müsste also den Arbeitsbereich und damit die lt_result pro Objekt füllen und ich denke, das funktioniert mit meinem Ansatz nicht.
Hat da jemand eine Idee?
Das Ziel des Ganzen:
Ich will eine Abfrage zu Equipments generieren, die die Möglichkeit gibt auch den aktuellen Systemstatus auszuweisen.
Danke
Steffen