方法导入参数类型范围为任意



我正在尝试构建一个动态方法,我需要将任何范围表传递给它。所以我想确保 a( 只能传递一个范围,或者 b( 如果提供的表不是范围,我离开处理。所以我的问题是:

有没有办法定义一种方法,以便导入参数必须是范围表(任何类型的范围表(?

如果没有任何好处,我会这样做来检查导入表是否是一个范围。

1(我会检查表头。

Methods: this_method
  IMPORTING
    i_table TYPE any table.
IF i_table IS INITIAL.
  "do some code
ENDIF.

如果这不起作用,我会采取更长的路。

2(我会使用cl_abap_*descr类来找出传递的表是否具有名为"符号","选项","低","高"的字段。

没有等效的"任何范围表"类型参数。

您的第二个选择RTTS将起作用。

另一个性能更好的选项只有在参数不是范围表类型时才能批准,是分配第一行的SIGNOPTION等组件(如果存在(,然后检查IS NOT ASSIGNED

最新更新