Feldsymbol mit Objektreferenz -> direkter Zugriff Attribute

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

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Feldsymbol mit Objektreferenz -> direkter Zugriff Attribute

Beitrag von Romaniac (Specialist / 198 / 57 / 26 ) »
Hallo zusammen,

eine Frage an die OO Gurus, ich bekomme von einem BADI eine interne Tabelle zurück die nur Referenzen enthält, jetzt möchte ich ein Atribut in der Loop Schleife ohne Umwege auswerten:

Code: Alles auswählen.

        LOOP AT lt_attrib_values ASSIGNING FIELD-SYMBOL(<lw_attrib_values>).

        ENDLOOP.
Das Feldsymbol hat folgenden Inhalt:
<LW_ATTRIB_VALUES> -> {O:627*\CLASS=CL_SRM_ATTRIBUTE_VALUE}

Die Referenz:
{O:627*\CLASS=CL_SRM_ATTRIBUTE_VALUE}-IF_SRM_ATTRIBUTE_VALUE~ID -> CASE_TYPE

Ich würde das gerne mit einem CASE auswerten ohne erst eine Referenzvarialbe zuweisen zu müssen, geh sowas in der Art:

Code: Alles auswählen.

CASE <LW_ATTRIB_VALUES>-IF_SRM_ATTRIBUTE_VALUE~ID
  WHEN 'CASE_TYPE'.
...
Danke und Gruß,

Wolfgang
Geht nicht gibts nicht

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


Re: Feldsymbol mit Objektreferenz -> direkter Zugriff Attrib

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Die Syntax wäre:

Code: Alles auswählen.

CASE <LW_ATTRIB_VALUES>->IF_SRM_ATTRIBUTE_VALUE~ID.
oder

Code: Alles auswählen.

CASE <LW_ATTRIB_VALUES>->ID.
Je nachdem von welchem Datentyp "lt_attrib_values" bzw. "<LW_ATTRIB_VALUES>" ist.

Wenn es sich um ein generisches "REF TO OBJECT" handelt oder der Datentyp keine direkte Vererbung bis zum Interface IF_SRM_ATTRIBUTE_VALUE aufweist, muss noch ein CAST dazwischen.

Code: Alles auswählen.

CASE CAST IF_SRM_ATTRIBUTE_VALUE( <LW_ATTRIB_VALUES> )->ID.
Alte Syntax:

Code: Alles auswählen.

DATA: lr_cast TYPE REF TO IF_SRM_ATTRIBUTE_VALUE.
lr_cast ?= <LW_ATTRIB_VALUES>.
CASE lr_cast->ID.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
RomaniacIcke0801

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: Feldsymbol mit Objektreferenz -> direkter Zugriff Attrib

Beitrag von Romaniac (Specialist / 198 / 57 / 26 ) »
Hallo adt,

bevor ich das gepostet habe habe ich natürlich selber rumprobiert im Debugger und da hat es seltsamerweise nicht funktioniert. Jetzt funktioniert es genau so wie in meinem Beispiel mit

Code: Alles auswählen.

    CASE <LW_ATTRIB_VALUES>->IF_SRM_ATTRIBUTE_VALUE~ID.
Danke!

Gruß Wolfgang
Geht nicht gibts nicht

Re: Feldsymbol mit Objektreferenz -> direkter Zugriff Attrib

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
In deinem ersten Post hat ein ">" gefehlt. Ich hab es für einen Flüchtigkeitsfehler beim Kopieren gehalten.
Da du sonst keine "Fehlermeldung" angefügt hast, dachte ich daher du hast Probleme mit dem korrekten casten der Quellvariable.
Der Wert im Debugger ist dabei oft nicht so aussagekräftig. Wichtig ist auch welchen Typ die Variable im Programmcode syntaktisch hat. Erst dann weiß man wie man am besten auf die Inhalte zugreifen kann.
Zuletzt geändert von a-dead-trousers am 06.11.2018 12:49, insgesamt 1-mal geändert.
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: Feldsymbol mit Objektreferenz -> direkter Zugriff Attrib

Beitrag von Romaniac (Specialist / 198 / 57 / 26 ) »
a-dead-trousers hat geschrieben:In deinem ersten Post hat ein ">" gefehlt. Ich hab es für einen Flüchtigkeitsfehler beim Kopieren gehalten.
Da du sonst keine "Fehlermeldung" angefügt hast, dachte ich daher du hast Probleme mit dem korrekten casten der Quellvariable.
jetzt habe ich es auch gesehen, ich sollte jetzt essen gehen...
Geht nicht gibts nicht

Re: Feldsymbol mit Objektreferenz -> direkter Zugriff Attrib

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Romaniac hat geschrieben:ich sollte jetzt essen gehen...
Mahlzeit :P
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

Seite 1 von 1

Vergleichbare Themen

0
Antw.
987
Views
Direkter Druck von mehreren Anlagen (z.B. PDF) ?
von urk » 14.04.2005 09:29 • Verfasst in ABAP® Core
7
Antw.
3679
Views
direkter Aufruf von Bereichsmenüs (SE43)
von Andreas Flügel » 03.03.2006 12:37 • Verfasst in ABAP® Core
1
Antw.
1255
Views
Performance: Referenz oder direkter Methodenzugriff
von doeme » 10.07.2012 10:08 • Verfasst in SAP - Allgemeines
0
Antw.
328
Views
Fiori Bericht direkter Absprung auf Originalrechnung
von baka » 06.08.2021 07:48 • Verfasst in Fiori, UI5, JavaScript
2
Antw.
365
Views
Objektreferenz WD_THIS
von TomSpeed » 15.03.2023 11:58 • Verfasst in Web-Dynpro, BSP + BHTML

Ü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 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141