08-03-2005 11:42 AM
Hi all,
Does anyone know if exists a statement, function module or method that gets the field names of an internal table ?
Thanks in advance,
David
08-03-2005 11:49 AM
Hi,
See this
REPORT typedescr_test.
TYPES:
BEGIN OF my_struct,
comp_a type i,
comp_b type f,
END OF my_struct.
DATA:
my_data TYPE my_struct,
descr_ref TYPE ref to cl_abap_structdescr.
FIELD-SYMBOLS:
<comp_wa> TYPE abap_compdescr.
START-OF-SELECTION.
descr_ref ?= cl_abap_typedescr=>describe_by_data( my_data ).
WRITE: / 'Typename :', descr_ref->absolute_name.
WRITE: / 'Kind :', descr_ref->type_kind.
WRITE: / 'Length :', descr_ref->length.
WRITE: / 'Decimals :', descr_ref->decimals.
WRITE: / 'Struct Kind :', descr_ref->struct_kind.
WRITE: / 'Components'.
WRITE: / 'Name Kind Length Decimals'.
LOOP AT descr_ref->components ASSIGNING <comp_wa>.
WRITE: / <comp_wa>-name, <comp_wa>-type_kind,
<comp_wa>-length, <comp_wa>-decimals.
ENDLOOP.
08-03-2005 11:49 AM
Hi,
See this
REPORT typedescr_test.
TYPES:
BEGIN OF my_struct,
comp_a type i,
comp_b type f,
END OF my_struct.
DATA:
my_data TYPE my_struct,
descr_ref TYPE ref to cl_abap_structdescr.
FIELD-SYMBOLS:
<comp_wa> TYPE abap_compdescr.
START-OF-SELECTION.
descr_ref ?= cl_abap_typedescr=>describe_by_data( my_data ).
WRITE: / 'Typename :', descr_ref->absolute_name.
WRITE: / 'Kind :', descr_ref->type_kind.
WRITE: / 'Length :', descr_ref->length.
WRITE: / 'Decimals :', descr_ref->decimals.
WRITE: / 'Struct Kind :', descr_ref->struct_kind.
WRITE: / 'Components'.
WRITE: / 'Name Kind Length Decimals'.
LOOP AT descr_ref->components ASSIGNING <comp_wa>.
WRITE: / <comp_wa>-name, <comp_wa>-type_kind,
<comp_wa>-length, <comp_wa>-decimals.
ENDLOOP.
08-03-2005 11:49 AM
Hi,
1) DESCRIBE FIELD itab INTO TD.
2) fm REUSE_ALV_FIELDCATALOG_MERGE
regards Andreas
08-03-2005 11:58 AM
Hi, some solution has been mentioned.
In addition, you can also call FM 'GET_COMPONENT_LIST'
like following:
DATA: ITAB_SFLIGHT TYPE STANDARD TABLE OF TYP_SFLIGHT,
LC_SFLIGHT LIKE LINE OF ITAB_SFLIGHT.
DATA: ITAB_RSTRUCINFO TYPE STANDARD TABLE OF RSTRUCINFO.
CALL FUNCTION 'GET_COMPONENT_LIST'
EXPORTING
PROGRAM = 'ZGZL_SDNTEST' "program name
FIELDNAME = 'LC_SFLIGHT'
TABLES
COMPONENTS = ITAB_RSTRUCINFO.
Hope it will work.
08-03-2005 12:19 PM