Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

RTTS dynamic DB table reference, how?

Hello all,

Here is a very simple program that will capture and write a list of the fields and their definitions of a database table that I have explicitly assigned to a variable using the type statement. I have been playing with this code and attempting to dynamically associate a database table structure with a variable, and then using that variable to assign it's structure to a <FS>. Everything that I tried generated a syntax error.

Could somebody please tell me what syntax I need to dynamically associate a database structure with a variable, versus statically?

This is the code.

data: dr_dref type ref to data,

rf_descr_ref type ref to cl_abap_typedescr .

data: <b>wa_vbap type vbak</b>. " DB table reference

field-symbols: <fs> type any.

start-of-selection.

do.

  • Assign every field of this structure to the untyped field symbol.

assign component sy-index of structure <b>WA_vbap</b> to <fs>.

if sy-subrc ne 0.

exit.

endif.

call method cl_abap_typedescr=>describe_by_data

EXPORTING

p_data = <fs>

RECEIVING

p_descr_ref = rf_descr_ref.

write: / sy-index, rf_descr_ref->type_kind,

rf_descr_ref->length,

rf_descr_ref->absolute_name+6.

enddo.

Thanks

Bruce

replied

Run this program, enter the structure name that you want the components of and hit execute.


report zrich_0003.


type-pools : abap.


data : it_details type abap_compdescr_tab,
       wa_comp type abap_compdescr.

parameters: p_type(10) type c.

data : ref_descr type ref to cl_abap_structdescr.

ref_descr ?= cl_abap_typedescr=>describe_by_name( p_type ).
it_details[] = ref_descr->components[].

break-point .

Regards,

Rich Heilman

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question