Code: Alles auswählen.
go_sdescr ?= cl_abap_structdescr=>describe_by_name( input-tabellenname ).
gd_tabnam = go_sdescr->get_relative_name( ).
Code: Alles auswählen.
raise type_not_found.
die Methode DESCRIBE_BY_NAME wird doch von der Klasse CL_ABAP_TYPEDESCR geerbt...Tron hat geschrieben:Moin,
in "meinem" System gibt es die Methode describe_by_name nicht, aber schau doch mal mit SE24 nach, ob überhaupt Exceptions zur Methode deklariert sind.
gruß Tron
Code: Alles auswählen.
DATA:
go_sdescr TYPE REF TO cl_abap_structdescr,
go_tdescr TYPE REF TO cl_abap_typedescr.
cl_abap_structdescr=>describe_by_name(
EXPORTING
p_name = input-tabellenname
RECEIVING
p_descr_ref = go_tdescr "kein CASTING hier erlaubt
EXCEPTIONS
type_not_found = 1
OTHERS = 2 ).
IF sy-subrc EQ 0.
go_sdescr ?= go_tdescr.
ENDIF.
Code: Alles auswählen.
DATA:
go_sdescr TYPE REF TO cl_abap_structdescr,
go_tdescr TYPE REF TO cl_abap_typedescr.
CALL METHOD cl_abap_structdescr=>describe_by_name
EXPORTING
p_name = input-tabellenname
RECEIVING
p_descr_ref = go_tdescr "kein CASTING hier erlaubt
EXCEPTIONS
type_not_found = 1
OTHERS = 2.
IF sy-subrc EQ 0.
go_sdescr ?= go_tdescr.
ENDIF.
hat go_tdescr den Typ 'TYPE REF TO cl_abap_typedescr'?simethandreas hat geschrieben:Dann bekomm ich aber die meldung:
the type of "go_tdescr" cannot be converted into the type of "p_descr_ref"
Nun, cl_abap_tabledescr ist ja auch nicht cl_abap_typedescr! Das Erste beschreibt eine Tabelle, das Zweite einen elementaren Typen, was auch der Rückgabetyp der Methode describe_by_name ist.simethandreas hat geschrieben:hm ne...hat TYPE REF TO cl_abap_tabledescr
aber wenn ich ihn nach 'TYPE REF TO cl_abap_typedescr' änder, hauts mir im weiteren coding nicht mehr hin