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?