将选择选项转换为内部表

2020-08-19 02:20发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我已将s_field声明为sel...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我已将s_field声明为selection -option。

我需要将s_field转换为内部表。

例如。

如果我将值作为1到5(低= 1高= 5)传递给s_field

然后内部表应包含1 2 3 4 5

有人可以建议我如何在abap 7.40中将选择选项更改为内部表吗?

6条回答
Baoming ROSE
2020-08-19 03:01

由于您对要求的了解并不十分清楚,因此我必须基于 描述和示例:

  • 我假设您的选择选项S_FIELD为整数类型
  • 我假设您的可能整数值集受FROM和TO限制
    FROM最有可能为1,TO可能为10(或100,或....)。
    FROM和TO是整数,可以为负或正,并且FROM小于/等于TO
  • < li>因此,结果内部表的类型也为整数

下面的代码将为您提供内部表INT_TAB中从INT_FROM到INT_TO的整数列表,仅包括那些 由选择选项S_FIELD定义:

 REPORT ZSELECT  OPT2INTEGERTAB。

 数据间隔类型i。
 SELECT-OPTIONS s_field FOR间隔。
 选择屏幕跳过1。
 参数int_from TYPE i默认值1。
 参数int_to TYPE I默认10。

 数据int_range TYPE i。
 DATA int_current TYPE i。
 i的数据int_tab类型已排序表,带有唯一键table_line。

 检查int_from <= int_to。
 int_range = int_to-int_from + 1。
 int_current = int_from。

 做int_range TIMES。
   IF int_current IN s_field。
     插入int_current INTO TABLE int_tab。
   万一。
   将1加到int_current。
 ENDDO。

 DATA(out)= cl_demo_output => new()。
 out-> write(s_field [])。
 out-> write(int_tab)。
 out-> display()
 

也许,在看到此"解决方案"之后,您可以在 如果它还不能解决您的问题,那我一定会怀疑。

一周热门 更多>