Concatenate in interner Tabelle Thema ist als GELÖST markiert

Getting started ... Alles für einen gelungenen Start.
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Concatenate in interner Tabelle

Beitrag von wenigerABAP (ForumUser / 3 / 1 / 0 ) » 16.09.2016 12:47
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


Re: Concatenate in interner Tabelle

Beitrag von Lucyalison (Specialist / 196 / 34 / 16 ) » 16.09.2016 16:12
Hallo Steffen,

wie ist denn das Feld Z_Status definiert?

Viele Grüsse
Nicola

Re: Concatenate in interner Tabelle

Beitrag von wreichelt (Expert / 825 / 19 / 142 ) » 16.09.2016 16:48
Hi Nicola,

der CONCATENATE muss in den LOOP gepackt werden.

Gruß
Wolfgang

Re: Concatenate in interner Tabelle

Beitrag von Lucyalison (Specialist / 196 / 34 / 16 ) » 16.09.2016 16:52
Hallo Wolfgang,

da bin ich der falsche Ansprechpartner - ich hab die Frage nicht gestellt.
Aber der obere Teil von Steffen's Coding mit dem concat_lines_of( table = lt_itab sep = ';' ) müsste eigentlich funktionieren wenn das Result Feld richtig definiert ist. Daher meine Frage. Ich hätte das Problem aber auch old-fashioned mit loop und concatenate im loop gelöst.

Viele Grüsse
Nicola

Re: Concatenate in interner Tabelle

Beitrag von wenigerABAP (ForumUser / 3 / 1 / 0 ) » 19.09.2016 09:53
Hallo Nicola, hallo Wolfgang,

Danke für Euren schnellen Antworten.
Das Feld Z_STATUS ist als alphanumerisches Feld definiert (Typ "C").

Ich habe den CONCATENATE jetzt in den Loop gepackt, aber egal wie ich es anstelle, ich erhalte immer das gleiche Ergebnis:
Bei einem Objekt passt`s, bei mehreren werden die Daten fortgeschrieben:
Status_Fortschreibung.PNG
Gelb markiert sind die zum Objekt gehörenden Daten.

Danke und Gruss
Steffen

Re: Concatenate in interner Tabelle

Beitrag von wreichelt (Expert / 825 / 19 / 142 ) » 19.09.2016 10:17
Hallo Steffen,

wie sieht der CONCATENATE bei Dir aus ?

Wird das Feld Z_STATUS auch mal gelöscht ? CLEAR ?

Gruß
Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
wenigerABAP


Re: Concatenate in interner Tabelle

Beitrag von ewx (Top Expert / 4281 / 202 / 460 ) » 19.09.2016 10:19
Dieser Funktionsbaustein beantwortet zwar nicht deine Frage, löst aber dein Problem:
STATUS_TEXT_EDIT

Re: Concatenate in interner Tabelle

Beitrag von wenigerABAP (ForumUser / 3 / 1 / 0 ) » 19.09.2016 10:39
Hallo Wolfgang,

Danke. Der Hinweis auf CLEAR hat es gebracht. :up:
Das hatte ich natürlich nicht drin. :roll:
Jetzt passt es.

Gruss
Steffen

@ewx:
Danke auch für Deinen Hinweis. Werde mir den FUBA mal anschauen.

Seite 1 von 1

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und besseren Inhalt:

Aktuelle Forenbeiträge

Last erzeugen im SAPGui?
vor 3 Stunden von tm987456 23 / 295
Neue Felder cji5
vor 7 Stunden von Rabea1103 1 / 22
Abap Karriere Tipps
vor 8 Stunden von Cargo2 5 / 168

Vergleichbare Themen

Problem mit interner Tabelle
von Troilus » 17.11.2007 23:09
Select bei interner Tabelle
von Buetzy » 09.07.2007 13:58
Prüfung interner Tabelle
von knut » 27.06.2005 14:44
Select mit interner Tabelle
von Kenny » 13.11.2013 12:17
Move-Corresponding mit interner Tabelle
von Dele » 13.10.2015 13:53