Feldname ermitteln

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

Feldname ermitteln

Beitrag von ralf.wenzel (Top Expert / 3579 / 168 / 245 ) »
Moin,

ich hab gerade einen Knoten im Hirn. Die Antwort auf meine Frage ist wahrscheinlich ganz einfach:

Gegeben ist folgendes Codingfragment:

Code: Alles auswählen.

      DO.
        counter = counter + 1.
        ASSIGN COMPONENT 'FIELD' && counter OF STRUCTURE <struc> TO <fieldxx>.
....
ENDDO.
Wie ermittle ich am Einfachsten (!) den Namen des Feldes, auf das <fieldxx> gerade zeigt? GET_RELATIVE_NAME gibt mir den Namen des Datenelements....


Ralf


Re: Feldname ermitteln

Beitrag von qyurryus (ForumUser / 72 / 53 / 29 ) »
Die Komponenten werden hier doch explizit per Name zugeordnet, statt per Index? In diesem Fall wäre es 'FIELD' && counter. Oder verstehe ich da was falsch 🤔

Re: Feldname ermitteln

Beitrag von ralf.wenzel (Top Expert / 3579 / 168 / 245 ) »
Die Antwort ist korrekt, sie passt leider nur nicht zur Frage ;)


Ralf

Re: Feldname ermitteln

Beitrag von a-dead-trousers (Top Expert / 3710 / 136 / 971 ) »
Da der Feldname ein Teil der Sturkturdefinition ist, kriegst du diese Information nur aus der Struktur selbst.

Code: Alles auswählen.

case type of cl_abap_typedescr=>describe_by_data( <struc> ).
  when type cl_abap_structdescr into data(lr_structdescr).
    do.
      counter = counter + 1.
      read table lr_structdescr->components index counter assigning field-symbol(<ls_component>).
      if sy-subrc eq 0.
        write <ls_component>-name.
      else.
        exit. "Ende erreicht.
      endif.
    enddo.
endcase.
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.07
Basis: 7.40

Re: Feldname ermitteln

Beitrag von qyurryus (ForumUser / 72 / 53 / 29 ) »
Genau, aber auch hier ist es dann erforderlich, dass der counter gegeben ist. Hat man das Feldsymbol alleine ohne weitere Kontextinformationen glaube ich nicht dass man den Feldnamen rausbekommt - habe ich in der Vergangenheit auch mal benötigt, aber auch nie eine Lösung gefunden.

Re: Feldname ermitteln

Beitrag von ewx (Top Expert / 4396 / 220 / 488 ) »
Ich meine auch, dass es nicht geht.

Re: Feldname ermitteln

Beitrag von ralf.wenzel (Top Expert / 3579 / 168 / 245 ) »
Die Strukturdefinition! Das war's! Danke.


Ralf

Re: Feldname ermitteln

Beitrag von ewx (Top Expert / 4396 / 220 / 488 ) »
ralf.wenzel hat geschrieben:
17.06.2021 13:25
Die Strukturdefinition! Das war's! Danke.
was war was? Wie ist dein Problem jetzt gelöst? 🤔

Re: Feldname ermitteln

Beitrag von ralf.wenzel (Top Expert / 3579 / 168 / 245 ) »
Ja, gelöst. Mein Beispiel war Mist, das gebe ich zu.

Wenn ich die Komponente per sy-index bestimme, habe ich den Index für die components-Tabelle. Es ging mir ja um die grundsäztliche Namensbestimmung.

Ralf

Folgende Benutzer bedankten sich beim Autor ralf.wenzel für den Beitrag:
ewx


Seite 1 von 1

Über diesen Beitrag



ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Vergleichbare Themen

ASSIGN und Feldname
von tomflo » 12.01.2005 14:53
Feldname in Variable für Where-Klausel ...
von andis » 02.02.2005 12:55
Feldname in Variable - Wert zuweisen
von MarkusW » 13.12.2007 15:38
Feldname einer DB-TAB in View ändern
von der_neuling » 09.10.2018 08:11
Feldname aus untypisierte Tabelle bestimmen.
von leon » 03.08.2011 16:02