[53007] in SAPr3-news
=?iso-8859-1?Q?Re:_Assign_f=FCr_Fortgeschrittene?=
daemon@ATHENA.MIT.EDU (Andreas Plewe)
Mon Jan 17 09:50:12 2005
To: sapr3-news@mit.edu
Date: Mon, 17 Jan 2005 15:45:11 +0100
From: "Andreas Plewe" <A.Plewe@GMX.De>
Message-ID: <csgj2c$rk9$1@news.sap-ag.de>
Markus_13 wrote:
> [...]
> Ich suche eine Möglichkeit, beim Assign, den Feldnamen des gerade
> assignten Feldes in Erfahrung zu bringen.
> Die Felder haben keinen DDIC-Bezug !!!! [...]
Hallo Markus,
mit dem folgenden Coding kann ich mir beliebige Strukturen und deren
Werte ausgeben lassen. Mit der verwendeten Klasse cl_abap_typedescr
kannst Du vielleicht auch etwas anfangen. Zumindestens schaffe ich es
damit, den Feldnamen auszugeben. Du willst aber wohl auch den
Strukturnamen haben, oder?
*&--------------------------------------------------------------------
-*
*& Form write_structure
*&--------------------------------------------------------------------
-*
FORM write_structure USING u_struc TYPE any.
DATA:
lr_descr TYPE REF TO cl_abap_structdescr.
FIELD-SYMBOLS:
<lv_value> TYPE ANY,
<ls_comp> TYPE abap_compdescr.
lr_descr ?= cl_abap_typedescr=>describe_by_data( u_struc ).
SKIP.
WRITE lr_descr->absolute_name COLOR COL_NEGATIVE.
LOOP AT lr_descr->components ASSIGNING <ls_comp>.
ASSIGN COMPONENT <ls_comp>-name OF STRUCTURE u_struc TO
<lv_value>.
IF <ls_comp>-type_kind EQ cl_abap_typedescr=>typekind_struct1.
PERFORM write_structure USING <lv_value>.
ELSE.
WRITE: / <ls_comp>-name, <lv_value>.
ENDIF.
ENDLOOP.
ENDFORM. " write_structure
Gruß
Andreas