RPG限制用户输入特殊字符' |'在任何名称字段或任何数据输入字段中

时间:2014-12-15 12:11:23

标签: ibm-midrange rpgle rpg

我想限制用户在任何名称字段或数据输入字段中输入特殊字符'|'(管道)。

检查应该从屏幕本身发生,而不是通过RPG / RPGLE程序(如此处所述

How to prevent user from entering special characters (like symbols not visible in keyboard) in a text field (Character type)?

我尝试在显示文件中使用 VALUES()函数,该函数只允许函数中提到的那些字符;对于前

  

VALUES('A' 'B'...)

并且不保留'|'在它中禁止它,但它变得非常有限,因为人们可能会禁止他不应该做的事情。

2 个答案:

答案 0 :(得分:3)

我认为最简单的方法是在运行时进行编辑检查,而不是让工作站进行编辑。

答案 1 :(得分:3)

  1. 为什么要进行编辑检查呢?是因为你是 导出表并导出例程不会逃脱管道? 如果是,请修复导出例程!
  2. 话虽如此,有很多理由确实没有 想要数据中的特殊字符,以及我们学到的东西 多年来,应用程序并不是唯一可行的方法 数据到文件中。那里有像DBU和WRKDBF这样的实用程序 是传输应用程序,如FTP和客户端访问文件传输, 有外部协议,如ODBC,允许Excel,Web 应用程序和其他可以进入的外部应用程序 你的数据库。最后,还有存储过程和其他 您自己的系统上的程序,可以从其他文件中提取数据 - 尚未清理的文件'这些特殊字符。
  3. 我认为@david有正确的答案 - 在运行时检查数据。我实现这个的方法是使用触发器。这样,无论尝试使用特殊字符插入或更新字段,数据库本身都会拒绝该尝试。