Struktur richtig füllen

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

Struktur richtig füllen

Beitrag von bohne (Specialist / 437 / 0 / 0 ) »
Hallo!

Wie kann ich bei dem u.s Code die
Werte aus itab2 (dieser Typ hat nur eine Komponente)
in itab3 so zuweisen(bzw reinschieben) , dass immer alle 4 Komponenten des itab3 gefüllt werden.
Man nehme an in itab2 gibt es 40 Werte und nun sollen diese Viererweise
in itab3 so dass ich zum Schluß 10 Zeilen a 4 Werte habe ?


Code: Alles auswählen.

TYPES: begin of typ1,
       eins(10) type c,
       zwei(10) type c,
       drei(10) type c,
       vier(10) type c,
       end of typ1.
       
TYPES: begin of typ2,
       first(10) type c,
       end of typ2.


data itab type ALSMEX_TABLINE occurs 0 with header line.
data itab2 type typ2 occurs 0 with header line .
data itab3 type typ1 occurs 0 with header line .
Viele Grüße
bohne

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


Beitrag von poldi (Specialist / 116 / 0 / 0 ) »
Hallo Bohne,

das geht ungefähr so (nicht getestet):

data: i type i.

loop at itab2.
i = i + 1.
case i.
when 1.
itab3-eins = itab2-first.
when 2.
itab3-zwei = itab2-first.
when 3.
itab3-drei = itab2-first.
when 4.
itab3-vier = itab2-first.
append itab3.
clear itab3.
i = 0.
endcase.
endloop.
if i > 0.
append itab3.
endif.

Wenn in itab3 recht viele Felder stehen, müßte man sich etwas anderes einfallen lassen (mit assign component und zuweisen über Feldsymbole).
Das hier ist erst einmal der einfachste Weg.


Viele Grüße
Wilfried
Wir sind lustig und haben es gar nicht nötig!

Beitrag von bohne (Specialist / 437 / 0 / 0 ) »
Hallo poldi,

danke für die Unterstützung.
Das mit den mit assign component und zuweisen über Feldsymbole hört sich
sehr interessant an.

Wenn wir schon beim Thema sind hätte ich gerne gewusst
was das bedeutet ?

Wird der Komponente (je nach sy-index ) der Struktur fs zugewiesen
oder andersherum?
Was genau passeirt an dieser Stelle ?

Code: Alles auswählen.

assign component sy-index of structure interneTab to <fs>.
<fs> = interneTab2-kd.Nr.
Viele Grüße
bohne

Beitrag von bohne (Specialist / 437 / 0 / 0 ) »
hallo zusammen,

das geht OK!

damit wird die Komponente mit dem Zeiger verbunden und später
der entsprechende Wert zugewiesen. Das ist natürlich auch eine sehr
gute Sache wenn man Strukturfelder füllen möchte deren Anzahl größer
ist als die Anzahl der Quellstruktur wie in meinem oben geschilderten Fall.
Viele Grüße
bohne

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4919
Views
Dynamisch Struktur und Tabelle generieren und füllen
von Kresiquadratur » 16.07.2007 14:32 • Verfasst in ABAP® für Anfänger
2
Antw.
7042
Views
Wie kann ich Feld einer tiefen Struktur füllen???
von c oco » 24.02.2011 16:29 • Verfasst in ABAP® für Anfänger
6
Antw.
5219
Views
Füllen einer tiefen Struktur per Select oder im CDS
von zornbruder » 14.08.2018 09:30 • Verfasst in ABAP® für Anfänger
1
Antw.
2236
Views
0
Antw.
1859
Views
BAPI_ACC_BILLING_REV_POST richtig verwenden
von thomas.klammer » 17.08.2018 11:52 • Verfasst in Financials

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

TABSTRIP oder Subscreen
vor 3 Tagen von ewx 2 / 3943
SELECT SUM CUST
vor 3 Tagen von wreichelt 4 / 4110
Banf anlegen
vor 4 Tagen von IHe 3 / 15840
FS-CD schnellstmöglich lernen
vor 6 Tagen von waltersen 3 / 8533
Banf anlegen
vor einer Woche von wreichelt 2 / 16223

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

TABSTRIP oder Subscreen
vor 3 Tagen von ewx 2 / 3943
SELECT SUM CUST
vor 3 Tagen von wreichelt 4 / 4110
Banf anlegen
vor 4 Tagen von IHe 3 / 15840
FS-CD schnellstmöglich lernen
vor 6 Tagen von waltersen 3 / 8533
Banf anlegen
vor einer Woche von wreichelt 2 / 16223