as400 dds用于限制确切的给定值

时间:2015-08-08 15:45:10

标签: ibm-midrange

我是as400 dds的新手。任何人都可以告诉我获得确切给定值的函数。例如,邮政编码由6位数组成。如果用户未输入小于6的值,则必须显示错误。提前谢谢

3 个答案:

答案 0 :(得分:1)

您还需要DSPATR(MDT)关键字。从DECK手册中获取CHECK关键字的ME选项:

此代码指定必须在字段中键入至少1个字符的数据(空白有效)。 请注意,当显示屏上当前没有任何字段被更改时,显示站不会 强制执行。要强制执行强制输入,请为至少一个字段指定DSPATR(MDT) 在显示器上的每个记录中。对于记录中的所有其他字段,然后强制执行CHECK(ME)。 但是,因为设备无法确定用户是否已将数据键入到具有两者的字段中 DSPATR(MDT)和CHECK(ME),你还应该指定DSPATR(ND),这样这个字段就不是 显示。

答案 1 :(得分:0)

尝试这样的事情:

A            ZIP            6Y 0I 17  4CHECK( ME MF )

如果不是您需要的,请编辑您的问题并添加详细信息。

答案 2 :(得分:0)

以下两个示例字段定义中的任何一个都可能有助于影响尝试表达的内容。在任何一种情况下,可以在屏幕上输入一个值,使其少于六位数,但程序的结果将始终为六位数[右对齐,零填充到左侧]:

     A            ZIPD           6D00B  9  9CHECK( ME MF    FE )
     A            ZIPDRZ         6D00B 13  9CHECK( ME    RZ FE )

虽然右调整零填充CHECK规范(RZ)是可选的,但该规范确保在使用Field Exit时从零填充中可以看到重新格式化数字[但当然是Field Exit CHECK-specification (FE)也是可选的,但鼓励它的使用使得右\ 0的效果更加显着]。 FWiW Must-Fill CHECK-specification(MF)似乎没有效果[对于数字输入字段;没有一个在我的测试中很明显]。