CONCATENATE von unbekannten Tabellengrößen

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

CONCATENATE von unbekannten Tabellengrößen

Beitrag von phoenix687 (ForumUser / 9 / 1 / 0 ) »
Hallo Zusammen,

ich weiß nicht ob das Thema unter ABAP® für Anfänger richtig ist, oder ob es eher unter ABAP Objects® passt.

Derzeit erstelle ich gerade ein FuBa. In den FuBa übergebe ich eine Tabelle mit einem Inhalt und ein Parameter, der die DDIC Strukturname der Tabelle übergibt. Zudem übergebe ich ein Flag, was für mein Problem uninteressant ist.

Bei der Übergabe, weiß ich natürlich nicht, wie groß die Tabelle ist und welche Struktur.
Meine Deklaration im FuBa ist wie folgt:

*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_TAB_STRUC) TYPE TABNAME
*" VALUE(I_HEADER) TYPE XFELD
*" CHANGING
*" VALUE(IT_DATEN) TYPE ANY TABLE

Meine Datendeklarierung für mein Quellcode im FuBa sieht so aus:

Code: Alles auswählen.

***********************************************************************
* Types
************************************************************************
TYPES: ty_line(1500) TYPE c.

***********************************************************************
* Data declarations
************************************************************************
DATA: wa_ref TYPE REF TO DATA,
      lt_itab type ref to data,
      wa_tab TYPE ty_line,
      it_tab type table of ty_line.
************************************************************************
* Field Symbols
************************************************************************
FIELD-SYMBOLS: <fs>,
               <wa_daten> type any,
               <ft> type STANDARD TABLE.
Ich habe mir entsprechend Objekte erzeugt und weiße diese dem FS zu und übergebe den Inhalt der Tabelle an mein FS, was ich erstmal für Testzwecke mache:

Code: Alles auswählen.

CREATE DATA wa_ref TYPE (I_TAB_STRUC).
ASSIGN wa_ref->*  to <wa_daten>.

CREATE DATA lt_itab type table of (I_TAB_STRUC).
ASSIGN lt_itab->* to  <ft>.

move it_daten to <ft>.
Jetzt zu meiner Frage:

Ich muss jetzt den Inhalt dieser Tabelle verketten und mit einem bestimmten Seperator trennen. Aber wie verkette ich an dieser Stelle den Inhalt der Tabelle, die mir erst zur Laufzeit bekannt ist? Ich habe viel recherchiert und stoße immer wieder darauf, dass ich eine dynamische Tabelle erzeugen muss, aber nirgends finde ich wie ich eine dynamische Tabelle erzeuge mit einer Struktur die mir auch erst zur Laufzeit bekannt ist?

Ich hoffe auf eure Hilfe.

Danke

Greeetz

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


Re: CONCATENATE von unbekannten Tabellengrößen

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
Such nach RTTI und RTTC im Netz bzw. hier im Forum.
Ein Befehl den du dir in diesem Zuge auch verinnerlichen solltest, ist ASSIGN COMPONENT ... OF STRUCTURE ... TO.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: CONCATENATE von unbekannten Tabellengrößen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
ein
LOOP AT itab ASSIGNING <WS_DATEN>
+ DO. ASSIGN COMPONENT sy-index OF STRUCTURE <WS_DATEN> TO <value>
+ zeile = zeile && ';' && <value>
müsste reichen.
RTTC ist nicht notwendig.
Auch das bisherige CREATE DATA ist mehl als flüssig.

Re: CONCATENATE von unbekannten Tabellengrößen

Beitrag von phoenix687 (ForumUser / 9 / 1 / 0 ) »
Hallo,

danke für die schnelle Rückmeldung von euch beiden.

Mein Coding sieht nun wie folgt aus

Code: Alles auswählen.

LOOP AT it_daten ASSIGNING <WA_DATEN>.
DO. ASSIGN COMPONENT sy-index OF STRUCTURE <WA_DATEN> TO <value>.
zeile = zeile && ';' && <value>.

ENDDO.
append zeile to it_zeile.
ENDLOOP.
Die Anweisung im DO erfüllt das was ich will, aber jetzt habe ich das Problem, dass er ewig in dem DO hängt und dort gar nicht raus kommt. Die übergebene Tabelle ist nicht groß. Sie hat 13 Zeilen und 6 Spalten.

Meine neue Datendeklarierung ist wie folgt:

Code: Alles auswählen.

TYPES: ty_line(1500) TYPE c.

Data: zeile type ty_line,
        it_zeile type TABLE OF ty_line.

FIELD-SYMBOLS:<wa_daten> type any,
                       <value>.
Was mache ich falsch?

Re: CONCATENATE von unbekannten Tabellengrößen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »

Code: Alles auswählen.

do.
assign ...
if sy-subrc > 0.
exit. "from do
endif.
zeile ...
enddo.

Re: CONCATENATE von unbekannten Tabellengrößen

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Enno - warum verweist du denn nicht auf deinen Tricktresorbeitrag, der das Problem des Fragestellers direkt lösen kann. http://www.tricktresor.de/blog/umwandlung-struktur-csv/
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: CONCATENATE von unbekannten Tabellengrößen

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
black_adept hat geschrieben:Enno - warum verweist du denn nicht auf deinen Tricktresorbeitrag, der das Problem des Fragestellers direkt lösen kann. http://www.tricktresor.de/blog/umwandlung-struktur-csv/
Was schert mich mein Geschwätz von Gestern... :D

Re: CONCATENATE von unbekannten Tabellengrößen

Beitrag von phoenix687 (ForumUser / 9 / 1 / 0 ) »
ewx hat geschrieben:

Code: Alles auswählen.

do.
assign ...
if sy-subrc > 0.
exit. "from do
endif.
zeile ...
enddo.

Mir ist nach dem Posten eingefallen, dass Do ja ewig läuft. Habe es selber lösen können, aber trotzdem danke für den Hinweis.
black_adept hat geschrieben:Enno - warum verweist du denn nicht auf deinen Tricktresorbeitrag, der das Problem des Fragestellers direkt lösen kann. http://www.tricktresor.de/blog/umwandlung-struktur-csv/
Darauf bin ich auf meine Recherche vorher gestoßen, aber das hat leider nicht funktioniert.

Merci erst mal. Vorerst ist das Thema erledigt. Ich lasse es mal bis morgen offen, falls ich noch was habe, ansonsten deklariere ich es als gelöst.

Viele Grüße

Seite 1 von 1

Vergleichbare Themen

2
Antw.
6333
Views
Veränderung von Tabellengrößen ermitteln
von KleinerEisbaer » 11.04.2011 20:37 • Verfasst in Basis
3
Antw.
3021
Views
Tabellenvergleich mit unbekannten Inhalt
von Abapsocke » 03.08.2018 12:51 • Verfasst in ABAP® für Anfänger
3
Antw.
4561
Views
CONCATENATE
von lisa » 09.09.2008 17:17 • Verfasst in ABAP® für Anfänger
3
Antw.
2602
Views
Concatenate
von Gast » 04.10.2005 15:59 • Verfasst in ABAP® für Anfänger
5
Antw.
7138
Views
concatenate ''
von Gast » 29.06.2005 08:34 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Regex in where
vor 13 Stunden von tar 8 / 324
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1604
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 251
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 493

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.

Aktuelle Forenbeiträge

Regex in where
vor 13 Stunden von tar 8 / 324
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1604
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 251
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 493

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 189
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3369
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9922