field-symbols definierung

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

field-symbols definierung

Beitrag von dimes ( / / 0 / 3 ) »

Code: Alles auswählen.

types: begin of itab,
        item             type matnr,
        item_desc        type maktx,
        ...
       end of itab.

data: itab1 type table of itab with header line.
field-symbols: <itab1> structure itab default itab1.
loop at itab1 assigning <itab1>.
...
endloop.
Fehlerausgabe: "itab1" ist für <itab1> zu kurz.
Woran liegt es?
Danke

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


Beitrag von PsychoMantis (ForumUser / 98 / 0 / 0 ) »
Probiers mal mit

Code: Alles auswählen.

field-symbols: <itab1> type itab.

Beitrag von Patrick K. ( / / 0 / 3 ) »
Hallo.
Wieso machst du sowas denn mit nem field-symbol?
nimm doch eine Workarea.
ist meiner meinung nach wesentlich einfacher.
Und heißt es nicht:
Data: itab1 type standard table of itab?

und wenn du es mit einer workarea machen würdest, könntest du einfach
data: wa type itab

und dann kannst du den Inhalt von wa mit append wa to itab1 anhängen.

Also ich finde diese Methode viel einfacher als mit nen fieldsymbol und einem assingning.

Würde mich über ne Antwort freuen.

Beitrag von Gast ( / / 0 / 3 ) »
Hi Patrick

Danke für deine antwort.

ich weiß das es auch so geht kann, aber ich bin grad ein bisschen mit dem Thema Performance beschäftigt und wenn man das mit dem
Loop at .. assigning macht dann spart man sich ja ein modify.
Außerdem hab ich mich gefragt, warum das (oben) nicht geht!
Patrick K. hat geschrieben: Und heißt es nicht:
Data: itab1 type standard table of itab?


"standard" muss man nicht unbedingt anhängen, wenn du das meinst!

dimes

Beitrag von PsychoMantis (ForumUser / 98 / 0 / 0 ) »
Der Weg mit dem Feldsymbol ist etwas performanter (kommt auf die größe der internen Tabelle an), da die Werte nicht extra in die wa kopiert werden müssen. Außerdem kannst du dir so nen modify sparen, da die Daten direkt in in der itab geändert werden.

Der Weg mit der wa ist wahrscheinlich etwas verständlicher, aber gerade bei großen Programmen kann man schon ein paar Millisekunden mit dem Feldsymbol herausholen :roll:
Und wenn man ein paar mal mit Feldsymbolen gearbeitet hat, geht einem das auch in Fleisch und Blut über.

Gruß
Psy

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo,

die Verwendung von Feldsymbolen ist aber im Rahmen von Performance-Gesichtspunkten interessant, weil dabei das Kopieren der Tabellenzeile in die Workarea entfällt.
Und Änderungen am Tabelleninhalt der jeweiligen Zeile sind ohne MODIFY möglich (aber eben auch nicht ganz ungefährlich ;) )

PS:
besser finde ich folgende Definition:

Code: Alles auswählen.

FIELD-SYMBOLS:
  <wa_itab> LIKE LINE OF itab.
* bzw. 
DATA:
  wa_itab LIKE LINE OF itab.
Dadurch geht IMHO besser hervor, dass dies eine direkte Anlehnung an die Tabelle hat...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
...und wenn man eh mit Workarea und Feldsymbol arbeitet kann man auch gleich die "HEADER LINE" weglassen...

Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo
PsychoMantis hat geschrieben:...
Und wenn man ein paar mal mit Feldsymbolen gearbeitet hat, geht einem das auch in Fleisch und Blut über.
...
Ja, das stimmt, ich mache es nur noch so.
Bei mir gibt es zu jeder internen Tabelle ITAB gleich ein Feldsymbol <ITAB> dazu, dann kann nichts schief gehen.

Auch wenn man von einer Tabelle in die andere übertragen will (und beide die gleiche Struktur haben) geht das mit

Code: Alles auswählen.

APPEND <tab1> to tab2.
wunderbar.

Der Code wird lesbar und es gibt keine Verwirrung mehr, ob jetzt die Headerline gemeint war oder die Tabelle. Auch im Debugger hat man jetzt sofort die Tabelle "am Wickel".

Gruß
babap

Seite 1 von 1

Vergleichbare Themen

7
Antw.
2837
Views
field symbols
von bohne » 20.10.2006 15:07 • Verfasst in ABAP® für Anfänger
3
Antw.
1840
Views
field symbols
von Riceman » 20.03.2006 15:08 • Verfasst in ABAP® Core
10
Antw.
4013
Views
FIELD-SYMBOLS
von kostonstyle » 15.08.2008 08:07 • Verfasst in ABAP® für Anfänger
13
Antw.
11886
Views
Field-Symbols
von cschmoel » 23.08.2012 09:21 • Verfasst in ABAP® für Anfänger
13
Antw.
5818
Views
Field Symbols
von Trulchen » 27.06.2014 08:10 • Verfasst in ABAP® für Anfänger

Ü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.