kri*_*ack 1 rpg rpgle ibm-midrange
如何防止用户在AS400中的文本字段(字符类型)中输入特殊字符(如键盘中不可见的符号)?显然,大多数时候iseries/as400在接受它并将其保存到文件中时没有问题,但有时当数据在下游报告系统中处理时,它会被系统中的不同错误拒绝.有没有办法防止入口点本身?
例如:在客户的地址字段中,最终用户复制粘贴(ctrl + c ctrl + v)来自网页或文档的详细信息,导致垃圾字符或空值的输入,这些存储没有问题但后来导致其他报告应用程序出现问题.
使用该%CHECK
功能验证屏幕字段,并在存在无效内容时显示错误.
D allow C 'ABCDEFGHIJKLMNOPQRSTUVWXYZ+
D abcdefghijklmnopqrstuvwxyz+
D 0123456789'
/free
if %check(allow:scrfld01) > 0;
error = 1;
endif;
/end-free
Run Code Online (Sandbox Code Playgroud)
或者,您可以在保存记录之前遍历屏幕字段,删除允许字符集中不存在的任何字符.