Concatenate in interner Tabelle

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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 ) »
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

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


Re: Concatenate in interner Tabelle

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Hallo Steffen,

wie ist denn das Feld Z_Status definiert?

Viele Grüsse
Nicola

Re: Concatenate in interner Tabelle

Beitrag von wreichelt (Top Expert / 1031 / 29 / 188 ) »
Hi Nicola,

der CONCATENATE muss in den LOOP gepackt werden.

Gruß
Wolfgang

Re: Concatenate in interner Tabelle

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
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 ) »
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 (Top Expert / 1031 / 29 / 188 ) »
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 / 4784 / 294 / 628 ) »
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 ) »
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

Vergleichbare Themen

5
Antw.
2685
Views
Prüfung interner Tabelle
von knut » 27.06.2005 14:44 • Verfasst in ABAP® Core
2
Antw.
1698
Views
Problem mit interner Tabelle
von Troilus » 17.11.2007 23:09 • Verfasst in ABAP® Core
10
Antw.
3385
Views
Select mit interner Tabelle
von Kenny » 13.11.2013 12:17 • Verfasst in ABAP® für Anfänger
6
Antw.
5916
Views
Select bei interner Tabelle
von Buetzy » 09.07.2007 13:58 • Verfasst in ABAP® für Anfänger
6
Antw.
3718
Views
Key Felder von interner Tabelle auf dem ALV
von thesaint » 14.07.2005 16:32 • Verfasst in ABAP Objects®

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 72
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141