服务器 频道

AS/400 CL控制语言基础<2>

  2.3 CL 程序的命令

       CL 程序中仅可包含 CL 命令,由系统提供的大多数 CL 命令可用于 CL 程序,而有些 CL 命令是专门用在 CL 程序中的。下面是一张用在 CL 程序中的部分命令清单,其中带有星号的表示该命令仅能用于 CL 程序内部。

  2.3.1 变量的使用

   * 变量说明,使用 DCL 命令来定义变量及其属性、长度和初值。标准格式如下:

                                 * CHAR

      DCL  VAR (变量名) TYPE   * DEC    LEN (长度)  VALUE(初值)

                                 * LGL        

            

     使用 DCL 命令时,必须遵循的规则如下:

  #CL 变量名必须以 & 开始,后跟字符不多于 10 个,& 后的第一个字符必须是字母,其余的可以是字母或数字。

  #CL 变量值必须是:字符型最长为 9999 个字符;数值型为压缩十进制数,最长为 15 位,其中小数位最长为 9 位;逻辑型为“0”或“1”,表示假或真。

  #CL 变量的缺省初值为:字符型为空,数值型为 0,逻辑型为“0”。

  #对于字符型和数值型,如果指定了初值而未指定长度,则缺省长度为初值长度。

   * 变量值中小写字符的限制

     用作变量的保留值必须用大写字母表示,特别是当它们用引号括起来的时候。例如:

      DCL  VAR(&LIB)  TYPE(*CHAR)  LEN(10)  VALUE(''''*LIBL'''')

      DLTPGM  &LIB/MY PROG

      注意:如果 VALUE 参数不使用引号,则小写是正确的。因为使用 SEU 编辑会自动转换成大写。

   * 变量赋值,使用 CHGVAR 命令给变量赋值,其值可改变成:

  #常量:  CHGVAR  VAR(&A) VALUE(0)

  #变量:  CHGVAR  VAR(&A) VALUE(&B)

  #计算量:CHGVAR  VAR(&A) VALUE(&A+1)

  #函数量:CHGVAR  VAR(&A) VALUE(%SST(&B 1 5))

                 CHGVAR  VAR(%SST(&A 1 5))  VALUE(&B)

     赋值时应注意以下几点:

  #对逻辑变量,被改变的值必须是一个逻辑值。

  #对数值变量,只能赋予十进制数,或者数字字符变量(包括小数点和正负号)。

  #对字符变量,既可接受字符,也可接受十进制数。赋十进制数时,该字符变量的值是右对齐,前导补零,负号放在最左边。

   * CL 程序中注解的书写,在命令的头尾使用一对符号:/* 和*/。如果一行写不下一条命令,使用 +。

  2.3.2 CL 程序内部的逻辑控制

   * 条件转移命令:

  IF  COND(条件) THEN(一条命令) 

  ELSE  CMD(一条命令)

  或者  IF  COND(条件) THEN(DO)

           .     

        ENDDO 

        ELSE  CMD (DO)

           .

        ENDDO

   * 无条件转移命令:GOTO  LABEL

   * 操作符:

             逻辑的 *AND  *OR  *NOT

             算术的 +  -  *  /

             字符的 *CAT  *TCAT 

             关系的 *EQ  *GT  *LT  *GE  *LE  *NE

   * 监视信息命令:MONMSG

     MONMSG  MSGID(信息标识 1 … 信息标识 50)+

                EXEC(CL命令)

      系统对于CL命令执行错误所送出的信息都具有唯一的标识符,如果不进行监视,则系统会终断程序,自动显示错误信息。

  2.3.3 系统资源的获取

   * 日期格式转换命令:CVTDAT

     CVTDAT  DATE(被转换日期) TOVAR(转换后日期)+

       FROMFMT(原格式) TOFMT(新格式) TOSEP(新分隔符)

     其中:转换后日期的长度至少是:

  #对儒略日期(如 YMD,DMY 或 JUL 格式),不使用分隔符为 5 个字符,使用分隔符为 6 个字符。

  #对非儒略日期,不使用分隔符为 6 个字符,使用分隔符为8 个字符。

     日期格式和分隔符可以通过按 F4 键选择。

   * 检索系统值命令:RTVSYSVAL

      RTVSYSVAL  SYSVAL(系统值名)RTNVAR(CL变量名)

      其中:系统值名可以通过按 F4 键选择,如:系统当前日期的系统值是 QDATE。变量名必须和系统值的类型匹配,对字符型和逻辑型系统值而言,变量名的长度必须相符,对数字型,则长度不小于系统值长度。

   * 检索配置源命令:RTVCFGSRC

     用于将现有配置的描述存放到源文件成员中。

   * 配置状态检索命令:RTVCFGSTS

   用于获取各类配置描述的现行状态,放入 CL 变量。

   * 检索网络属性的命令:RTVNETA

   用于获取系统的网络属性,放入相应的 CL 变量。如:系统名SYSNAME,本地网络标识 LCLNETID。

   * 检索作业属性命令:RTVJOBA

   用于获取当前运行作业的属性,放入相应的 CL 变量。如:作业名 JOB,用户名 USER。

   * 检索目标描述命令:RTVOBJD

   用于获取指定目标的描述属性,放入相应的 CL 变量。

   * 检索用户档案命令:RTVUSRPRF

     用于获取指定用户的档案资料,放入相应的 CL 变量。

0
相关文章