从表中选择必填字段

2020-09-08 10:57发布

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

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


嗨,

我的要求是选择屏幕上有一个称为PERIOD的字段。

如果用户在期间字段中输入值" 4",则必须显示表JVTO1中带有详细信息的字段TSL01,TSL02,TSL03,TSL04。

类似地,如果用户在期间字段中输入" 5",则必须显示表JVTO1中的字段TSL01,TSL02,TSL03,TSL04,TSL05及其详细信息,依此类推。

有人可以提出一些建议吗?

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

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


嗨,

我的要求是选择屏幕上有一个称为PERIOD的字段。

如果用户在期间字段中输入值" 4",则必须显示表JVTO1中带有详细信息的字段TSL01,TSL02,TSL03,TSL04。

类似地,如果用户在期间字段中输入" 5",则必须显示表JVTO1中的字段TSL01,TSL02,TSL03,TSL04,TSL05及其详细信息,依此类推。

有人可以提出一些建议吗?

付费偷看设置
发送
3条回答
木偶小白
1楼-- · 2020-09-08 11:16

要么创建动态表,要么使用ALV并修改字段目录(no_out = abap_true)或cl_salv_column-> set_visible(value = abap_false)

太Q了
2楼-- · 2020-09-08 11:14

简单。 下面假定您将表中的所有必填字段读出到内部表中。 然后,您可以遍历数据并处理...。

执行周期时间。
data(lv_field_name)='TSL'&& sy-tabix。 "也许需要计数器的其他格式
将结构X的组件(lv_field_name)分配给field-symbol()。
检查(sy-subrc eq 0)。 字段值
enddo。
闻人可可
3楼-- · 2020-09-08 11:25

如果您的要求很简单,则可以尝试使用动态SQL和内联声明来实现:

 field_list = VALUE#(BASE(field_list)FOR i = 1直到i = input_value(| TSL0 {i} |))。
 选择(field_list)
   从JVTO1
  地点(条件)
   到表@DATA(itab)。
 

如果情况更复杂(在SQL或其他方法之后需要额外的计算),则应选择所有字段,然后构建一个动态内部表:

https://wiki .scn.sap.com/wiki/display/Snippets/Example +-+ create + a + dynamic + internal + table

一周热门 更多>