Klassennamen ermitteln

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).
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Klassennamen ermitteln

Beitrag von mfromg (ForumUser / 17 / 11 / 0 ) »
Ich übergebe als Parameter an einen Funktionsbaustein eine Variable vom Typ
ref to object.

IM FB möchte ich herausfinden, welche Klasse ich übergeben habe.
Derzeit habe ich das so realisiert.

data: lv_clasn type string.

lv_clasn = cl_abap_classdescr=>get_class_name( is_objct_ref ).
if lv_clasn = space.
raise class_is_empty.
endif.
shift lv_clasn left up to '='.
shift lv_clasn left.


Ich erhalte als Rückgabewert "\CLASS=ZZ_CL_MEINEKLASSE"

Gibt es einen eleganteren Weg ? das shiiften und die Abfrage auf "=" stört mich etwas.

Danke

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


Re: Klassennamen ermitteln

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin.
ja z.B.:

Code: Alles auswählen.

data: x type string,
      y type string.
data lv_clasn type string value '\CLASS=ZZ_CL_MEINEKLASSE'.

split lv_clasn at '=' into X Y.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Klassennamen ermitteln

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Das "\CLASS=ZZ_CL_MEINEKLASSE" ist der sogenannte absolute Name.
Wenn man direkt mit dem Klassenobjekt arbeitet (DESCRIBE_BY_OBJECT_REF) erhält man mit GET_RELATIVE_NAME den Klassenname ohne Kontext.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
mfromg

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: Klassennamen ermitteln

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
CL_INSTANCE_DESCRIPTOR=>CLASSNAME (aus dem Kopf, der Klassenname stimmt aber.


Ralf

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

Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Seite 1 von 1

Vergleichbare Themen

37
Antw.
11105
Views
Klassennamen / Intefacenamen
von ralf.wenzel » 26.03.2018 15:39 • Verfasst in ABAP Objects®
2
Antw.
4213
Views
Bilanzdaten ermitteln Bilanzpositionen ermitteln
von Blueshape » 19.01.2006 11:31 • Verfasst in Financials
0
Antw.
1339
Views
Bilanzdaten ermitteln Bilanzpositionen ermitteln
von Blueshape » 20.01.2006 09:12 • Verfasst in ABAP® Core
13
Antw.
3315
Views
Jobcount via RFC ermitteln
von FullyScaled » 12.02.2015 13:28 • Verfasst in ABAP® Core
1
Antw.
1421
Views
Fluktuation ermitteln
von LeonBarthez » 14.07.2008 08:41 • Verfasst in Human Resources

Ü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

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 2 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140