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 / 223 / 65 / 28 ) »
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 / 4451 / 227 / 1197 ) »
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 / 223 / 65 / 28 ) »
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 / 4451 / 227 / 1197 ) »
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 / 223 / 65 / 28 ) »
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 / 4451 / 227 / 1197 ) »
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

7
Antw.
4241
Views
direkter Aufruf von Bereichsmenüs (SE43)
von Andreas Flügel » 03.03.2006 12:37 • Verfasst in ABAP® Core
0
Antw.
1990
Views
Fiori Bericht direkter Absprung auf Originalrechnung
von baka » 06.08.2021 07:48 • Verfasst in Fiori, UI5, JavaScript
1
Antw.
1588
Views
Performance: Referenz oder direkter Methodenzugriff
von doeme » 10.07.2012 10:08 • Verfasst in SAP - Allgemeines
2
Antw.
3746
Views
Objektreferenz WD_THIS
von TomSpeed » 15.03.2023 11:58 • Verfasst in Web-Dynpro, BSP + BHTML
0
Antw.
1707
Views
me->iterator �st keine Objektreferenz
von Aggressor » 10.02.2006 08:37 • 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

Aktuelle Forenbeiträge

FOR mit CORRESPONDING
vor 2 Tagen von sap_enthusiast 11 / 2321
Netzplan drucken
vor 2 Tagen von sap_enthusiast 2 / 423
SALV: Titel zu lang
vor 5 Tagen von ralf.wenzel 3 / 1003
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1542
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 3477

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

FOR mit CORRESPONDING
vor 2 Tagen von sap_enthusiast 11 / 2321
Netzplan drucken
vor 2 Tagen von sap_enthusiast 2 / 423
SALV: Titel zu lang
vor 5 Tagen von ralf.wenzel 3 / 1003
Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1542
WM: Transportauftrag quittieren - drucken
vor einer Woche von JHM 4 / 3477

Unbeantwortete Forenbeiträge

Web Feature Services (WFS) im SAP
vor einer Woche von msfox 1 / 1542
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 3865
Erweiterung in ME51N/ME52N:
vor 4 Wochen von ABAPlerv 1 / 3747