REFERENCE vs. ASSIGNING

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

REFERENCE vs. ASSIGNING

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hallo!!

Was ist der Unterschied bei folgenden Anweisungen:

Code: Alles auswählen.

LOOP AT itab REFERENCE INTO l_ref.
und

Code: Alles auswählen.

LOOP AT itab ASSIGNING <fs>.
:?:

Also dass das eine eine Datenreferenz ist und das andere ein Feldsymbol, ist klar... :)

Aber gibt es Gründe, das eine oder das andere benutzen zu müssen, oder das eine dem anderen vorzuziehen (Performance, ...?)???

Danke!

...Enno...

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


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

bei LOOP at itab assigning <fs> entfällt der Transport in den Arbeitsbereich. Es wird direkt in die Tabelle gegangen. Unter z.B. 4.0B gibt es diese Anweisung noch nicht. Diese Art ist wesentlich schneller als LOOP AT itab INTO ...
Im LOOP kann man <fs> ändern (und damit die Tabellenzeile) und sich das MODIFY sparen.

READ TABLE itab ASSIGNING <fs> INDEX ... geht genauso.

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

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hi Wilfried,

das ist schon richtig, aber das gleiche passiert bei "LOOP AT ... REFERENCE INTO" auch... Da habe ich auch keinen Arbeitsbereich, sondern eine Refrenz auf die Tabellenzeile. Also im Grunde das gleiche, wie bei ASSIGNING...

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

man kann z.B. im ABAP-OO keine Feldsymbole global in der Klasse definieren, Referenzen dagegen schon...

Wenn Du also Daten im globalen Memory (Attribute) der Klasse halten willst, geht das nur über Referenzen oder eben normale Variablen...
Gruß
Ereglam


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

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
na, das wär ja schon mal ein Grund für Referenzen...
Danke!

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

soweit ich weiß, hat das mit ASSIGNINIG angesprochene Feldsymbol die Struktur und "Unterfelder" der Tabellenzeile.

Die Referenz ist meines Wissens strukturlos. Die muß man vor der "Benutzung" erst mit einer Struktur versorgen oder irgendwo hin assignen.

Gruß
babap

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
...das heisst, wenn man nicht gerade wiesoso mit Referenzen arbeitet/ arbeiten muss, dann ist nach wie vor ASSIGNING wohl das beste...
Danke!

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
hat das nicht auch was mit Performance zu tun?

Assign ist 'anstrengender' fürs System als Referenzen.
(kann mich auch irren, habe aber sowas mal gehört, spukt mir so im Hinterkopf rum)

gruß
Markus

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
ewx hat geschrieben:...das heisst, wenn man nicht gerade wiesoso mit Referenzen arbeitet/ arbeiten muss, dann ist nach wie vor ASSIGNING wohl das beste...
Danke!
ja, weil um mit einer Referenz zu arbeiten, in den meisten Fällen auch ein zusätzliches ASSIGN notwendig ist..

@babap
das hängt von der Art der Typisierung der Referenz ab. Bei bekanntem Typ kann man dref->feld schreiben, wo es erlaubt ist.

Code: Alles auswählen.

ASSIGN dref->feld TO <fs>.
Gruß
Ereglam


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

Seite 1 von 1

Vergleichbare Themen

2
Antw.
5630
Views
Reference parameters are not allowed with RFC
von bohne » 23.02.2006 15:05 • Verfasst in ABAP® für Anfänger
32
Antw.
10559
Views
LOOP/READ TABLE ... INTO vs REFERENCE INTO vs ASSINGING
von nickname8 » 26.10.2018 13:01 • Verfasst in ABAP® Core
16
Antw.
536
Views
ASSIGNING <fs>
von Juri » 30.09.2022 09:37 • Verfasst in ABAP® für Anfänger
2
Antw.
12867
Views
LOOP AT INTO und ASSIGNING (gelöst)
von beterman » 17.10.2011 15:56 • Verfasst in ABAP® für Anfänger
15
Antw.
4416
Views
ABAP OO - Loop mit Assigning
von Weltenschmerz » 11.05.2016 11:55 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 168