点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好 请解决这个问题,我已经尝试解决了好几个小时,但是失败了。
我正在对itemchanged()事件中的字段执行SetItem()。 要求是该字段将始终为6个数字字符。 因此,如果用户键入11,则在跳出时我尝试设置0000,以便该值变为110000。
在调试期间,我看到在数据窗口中设置了值110000,但是当执行转到itemfocuschanged()事件时,该值会自动更改为11。
最初,我认为该字段是Char类型,所以可能是个问题,但不是。 对于Long类型字段,其行为也相同。 我也尝试过将AcceptText()放在itemChanged()和ItemFocusChanged()事件中,但是没有成功。
下面是我在Itemchanged event()中的代码:
ls_col_value = This.GetItemString(row," col_name")//由于安全原因未提及实际的列名//
如果镜头(数据)<6然后
数据=数据+填充(" 0",6-Len(数据))
This.SetItem(行," col_name",数据)
END IF
尝试一下...。
字符串ls_name
字符串ls_data
ls_name =字符串(DWO.Name)
ls_data =修剪(data)
选择大小写ls_name
case" <您的col name>"
IF Len(ls_data)<6 then
data = ls_data + fill(" 0", 6-Len(ls_data))
END IF
结束选择
返回0
嗨Ashish;
如果您具有且有效的"显示"或"编辑"蒙版,则它们可以抑制结尾的零。 该值很可能是11000。此外,还要检查DW列定义,以确保它可以处理额外的长度。
此致...克里斯
嗨克里斯,
感谢您的回复。 该字段是没有掩码的常规列。 字段长度为10,因此应该没有问题。
我将创建一个具有类似环境的新工作区,以对其进行进一步分析。 我将更新论坛。
谢谢..
啊....
1)除非需要上一个值,否则删除GetItemString()。
2)不应使用SetItem()来设置值。
3)Data参数将在此脚本的末尾移至DWO的主缓冲区。 因此,在填充数据参数后,只需发出... RETURN 0 {接受值}
一周热门 更多>