Type aus Type ermitteln

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

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Type aus Type ermitteln

Beitrag von akosch (ForumUser / 3 / 1 / 0 ) »
Hallo,

ich programmiere schon seit ein paar Jahren mit ABAP, bin aber gerade auf ein Problem gestoßen, bei dem ich nicht weiter komme und vielleicht geht das ja auch nicht.
Und zwar habe ich in einem Interface einen Type definiert, der mit einer im Repository definierten Struktur typisiert ist.

Also so:

Code: Alles auswählen.

types GTY_S_GET_BASISDATEN_INPUT type ZCD_GET_BASISDATEN1 .
Jetzt würde ich gerne zur Laufzeit ermitteln, welcher konkrete Type hinter GTY_S_GET_BASISDATEN_INPUT steckt (hier also ZCD_GET_BASISDATEN1).

Ich bin in einer konkreten Methode, in der es einen Eingabeparameter IS_INPUT gibt, der mit dem Type GTY_S_GET_BASISDATEN_INPUT typisiert ist:

Code: Alles auswählen.

methods GET_BASISDATEN
    importing
      !IS_INPUT type GTY_S_GET_BASISDATEN_INPUT.
Wenn ich mit RTTI arbeite, dann endet es bei mir immer bei GTY_S_GET_BASISDATEN_INPUT.

Also z.B. so:

Code: Alles auswählen.

DATA(lo_type_descr) = cl_abap_typedescr=>describe_by_data( is_input ).
DATA(lv_relative_name) = lo_type_descr->get_relative_name( ).
Hier steht jetzt also in lv_relative_name der Name GTY_S_GET_BASISDATEN_INPUT.

Nehme ich jetzt diesen Namen und mache wiederum über RTTI das hier

Code: Alles auswählen.

DATA(lo_type_descr_2) = cl_abap_typedescr=>describe_by_name( 'INTERFACE_NAME=>GTY_S_GET_BASISDATEN_INPUT' ).
erhalte ich trotzdem wieder nur GTY_S_GET_BASISDATEN_INPUT.
('INTERFACE_NAME=>GTY_S_GET_BASISDATEN_INPUT' ist jetzt hier im Code der Einfachheit halber direkt angegeben)

Ich finde einfach keine Möglichkeit an ZCD_GET_BASISDATEN1 heranzukommen.
Geht das einfach nicht oder weiß irgendjemand eine Möglichkeit?

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


Re: Type aus Type ermitteln

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Hi.

Du musst das über den Describer des Interface bzw. des Objekts ermitteln:
CL_ABAP_OBJECTDESCR=>GET_METHOD_PARAMETER_TYPE

lg ADT
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: Type aus Type ermitteln

Beitrag von akosch (ForumUser / 3 / 1 / 0 ) »
Zuerst einmal vielen Dank für den Tipp, ADT.
Aber leider lande ich auch hier wieder bei GTY_S_GET_BASISDATEN_INPUT.

Re: Type aus Type ermitteln

Beitrag von ewx (Top Expert / 4846 / 311 / 641 ) »
hm. Das finde ich interessant, dass man anscheinend den zugrunde liegenden Typen nicht so ohne weiteres herausbekommt. Für deinen Fall passend habe ich die Klasse CL_OO_INTERF_COMPONENTS_FLAT gefunden, die alle Type und deren Definition mit auswirft.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag (Insgesamt 2):
akoschqyurryus


Re: Type aus Type ermitteln

Beitrag von akosch (ForumUser / 3 / 1 / 0 ) »
Das ist die Lösung!
Vielen Dank ewx!

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1750
Views
type und like
von Gast » 05.04.2005 13:50 • Verfasst in ABAP® für Anfänger
11
Antw.
3575
Views
...using/importing value(xxx) type c[(n)]???
von Gast » 09.06.2005 18:47 • Verfasst in ABAP® für Anfänger
1
Antw.
3187
Views
JCO.TYPE Konvertierung
von shapoc » 03.05.2006 16:08 • Verfasst in Java & SAP®
1
Antw.
2816
Views
TEXT ID TYPE
von ATIDHI » 02.03.2005 13:02 • Verfasst in Development Related
4
Antw.
2488
Views
Type oder Like
von kostonstyle » 16.07.2007 09:47 • Verfasst in ABAP® für Anfänger

Ü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

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 753
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2377
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8962