前段时间解决一个bug。
WF发邮件的时候,发现有个客户总收不到邮件。其他人都能收到。
那说明代码应该没问题,就是他邮箱本身问题了。
进入系统看了下他的邮箱,是大小写混写的。
具体程序代码我没看,应该是做了邮箱的校验,拿邮箱作为查询条件去搜索了。然后让basis帮忙修改了邮箱,全部大写(或者小写),问题就解决了。
正常,前台屏幕输入的,都会自动转换为大写,但是邮箱这个字段,支持小写。
我在自己的练习系统上测试了下:
真的是保存的小写。
那么,我猜他代码里以邮箱搜索的时候,应该是 = 邮箱小写 OR = 邮箱大写。
但是因为混搭了,就搜索不到了,为啥不根据用户名校验而是直接校验邮箱,我也没明白……
在自己测试机上做了个增强,限制邮箱只能是大写。
本来想找user exit或者customer exit,没找到,就用了字段增强
su01查看屏幕
然后到屏幕里确认了下,确实屏幕号和字段对着呢
之后COMDàBRFB
新建了一个字段出口
代码很简单(我没有做程序名称和屏幕号的指定,一般是需要的),激活的时候提示
哦,对,字段增强的时候,这个参数必须是Yes。
是yes,不是X,
之后RZ10维护了参数,重启了服务器。
再试后,输入邮箱一回车就自动转为大写了。
至于字段增强细节,请参考我之前写的(竟然是我四年前写的,呵呵):
http://blog.sina.com.cn/s/blog_c0978c9b0101evjz.html
至于RZ10,请参考
http://blog.sina.com.cn/s/blog_c0978c9b0101eqtd.html
最后说下,没事儿别拿邮箱作为参数去校验。
欢迎关注订阅号:SAP学习记录 (SAPlearning )