CL 或 HLL 命令处理程序

此信息描述以 CL 或另一高级语言 (HLL) 编写的命令处理程序。

图 1。 CL 和 HLL 的命令关系
CL 和 HLL 的命令关系

如果命令处理程序是用 CL 编写的程序,那么接收参数值的变量必须声明为对应于为每个 PARM 语句指定的类型和长度。 下表显示了此对应关系。

PARM 语句类型 PARM 语句长度 声明的变量类型 声明的可变长度
*DEC x y1 *DEC x y1
*LGL 1 *LGL 1
*CHAR n *CHAR ≤ n2
*姓名 n *CHAR ≤ n2
*CNAME n *CHAR ≤ n2
*SNAME n *CHAR ≤ n2
*通用 n *CHAR ≤ n2
*CMDSTR n *CHAR ≤ n2
*DATE 7 *CHAR 7
* 时间 6 *CHAR 6
*INT2 n *INT 或 *CHAR 2
*INT4 n *INT 或 *CHAR 4
*UINT2 n *UINT 或 *CHAR 2
*UINT4 n *UINT 或 *CHAR 4
注:
1
x 等于长度, y 是小数位数。
2
对于字符变量,如果传递的值的长度大于声明的长度,那么该值将截断为声明的长度。 如果指定 RTNVAL (*YES) ,那么声明的长度必须等于 PARM 语句上定义的长度。

用 CL 编写的程序用作命令处理程序可以处理二进制值 (例如 *INT2 或 *INT4)。 程序可以接收这些值作为字符字段。 在这种情况下,可以使用二进制内置函数 (%BINARY) 将它们转换为十进制值。 否则, CL 程序可以将它们声明为整数变量。

*INT2 或 *INT4 与 *UINT2 或 *UINT4 之间的差别在于 *INT2 和 *INT4 类型是有符号整数,而 *UINT2 和 *UINT4 类型是无符号整数。 所有整数类型的缺省值为 0。 *UINT2 和 *UINT4 类型具有与 *INT 和 *INT4 类型相同的限制。

注: %BINARY 内置函数用于带符号整数。 无符号整数没有相应的函数。