我正在尝试创建一个导入结构的方法,假设所有结构元素都是平面且相同的数据类型。然后我想动态地将它转换为具有该类型的表并返回它。我应该从哪里开始?我一直试图让它工作几个小时而且无处可去。
答案 0 :(得分:4)
您可以create_dynamic_table
使用cl_alv_table_create
表单,如下所示:
* Create dynamic internal table and assign to FS
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = ifc
i_length_in_byte = 'X' "added by Paul Robert Oct 28, 2009 17:04
IMPORTING
ep_table = dy_table.
ASSIGN dy_table->* TO <dyn_table>.
* Create dynamic work area and assign to FS
CREATE DATA dy_line LIKE LINE OF <dyn_table>.
ASSIGN dy_line->* TO <dyn_wa>.
Here是一个可以帮助您入门的链接。
答案 1 :(得分:2)
完全没有必要使用CL_ALV_TABLE_CREATE
- 纯粹的矫枉过正。使用Run Time Type Services (RTTS)获取有关输入数据的信息(并验证您对组件类型的假设),然后使用dynamic form of CREATE TABLE:
* asssuming that l_type_name contains the type name of a single element
CREATE DATA lr_table TYPE STANDARD TABLE OF (l_type_name).