3

我正在尝试创建一个方法来导入结构,假设所有结构元素都是平面且数据类型相同。然后我想将它动态转换为具有该类型的表并返回它。我应该从哪里开始?我一直试图让它工作几个小时,但一无所获。

4

2 回答 2

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>.

是一个可以帮助您入门的链接。

于 2013-03-05T23:16:30.517 回答
2

绝对没有必要使用CL_ALV_TABLE_CREATE- 纯粹的矫枉过正。使用运行时类型服务 (RTTS)获取有关您的输入数据的信息(并验证您对组件类型的假设),然后使用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).
于 2013-03-06T07:46:11.837 回答