点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我创建了一个使用SALV(cl_salv_table)和自定义用户状态的报告。 这使我可以在顶部放置一个名为" DELETE"的按钮。 如果用户选择SALV的一行或多行,我将在我的内部表中将其删除。 如果用户过滤了事先显示的数据,则在刷新方法(完整)之后将不执行此过滤器。
我的解决方案是在执行refresh方法之前,先读取过滤器,将其清除并添加回去。 但是,没有其他方法可以将其存档吗? 刷新(完全模式)并不能单独解决问题。
数据:lt_filters类型salv_t_filter_ref, lt_seltopt类型salv_t_selopt_ref。 lt_filters = mr_alv-> get_filters()-> get()。 mr_alv-> get_filters()-> clear()。 循环到lt_filters分配字段符号()。 lt_seltopt = -r_filter-> get()。 在lt_seltopt分配字段符号( )中循环。 mr_alv-> get_filters()-> add_filter(列名= -列名 符号= -> get_sign() 选项= -> get_option() 低= -> get_low() 高= -> get_high()。 结局。 结局。 mr_alv->刷新(refresh_mode = if_salv_c_refresh => full)。
最诚挚的问候,
罗兰
罗兰·荣尼克(Roland Jungnickel)
在探索一件有趣的事情时,我在CL_HRPAYFR_FPOC_MGR类中注意到了 &方法SET_FILTERS_TO_TABLE,它们以类似的方式进行操作,但未设置任何刷新模式,因为默认值是SOFT刷新模式为" 1"。
刷新"软"(或称为"稳定")怎么办? 这应该尊重过滤器。
我自己还没有尝试过,所以不确定是否可行。 让我们知道。
好,所以我将此称为SAP bug或至少缺少的功能,然后将上述解决方案添加到我的已知解决方法集合中; p>感谢您的评论。 当我激活软模式时,我确定了问题。 因此问题依旧。
一周热门 更多>