AS/400 CL控制语言基础
◇课程大纲:
l 第一章
概述
l 第二章
CL 编程
l 第三章
程序间的通讯
l 第四章
测试功能
◆第一章
概 述
提要:
* CL
命令的作用
* CL
命令的分类
*
系统菜单
1.1 CL 命令的作用
CL (Control Language)
控制语言是用户与操作系统之间的主要接口。可以说用户管理和操作 AS/400
系统,均可以通过 CL实现。用户在不同的工作站或客户端可以同时使用 CL
,其输入方式有五种:
* 在命令行输入
* 在菜单画面选择
* 在 work with 菜单中,option
选项
* 在 CL 程序中执行
* 远程调用
前三种输入方式给用户提供一种交互式的操作方法,只执行一条命令;第四种方式给用户提供一种操作,并包含逻辑控制,可以完整地实现一项功能;第五种方式给用户提供在客户端直接执行主机操作的接口。
由于 CL
使用了统一的命名方法,提供 prompt
式的提示功能和具体到域值的在线帮助,以及自动生成命令参数的缺省值,
再加上有效性检查,从而使得 CL 的使用变得非常简单、方便和灵活。
1.2 CL 命令的参数
CL
使用了一种很科学,较为成功的命名方法。每条命令由命令名和一系列参数组成。命令名通常由动词加上接受动词的名词(定义为目标Object)组成,单词通常缩写为三个字母。
例如:
CL
命令
命令名
Send
Message
SNDMSG
Copy
File
CPYF
Work with Device Desripyions WRKDEVD
CL
的参数由关键字和参数值组成,关键字通常和命令一样缩写,它用于说明参数的作用,在命令输入屏,按
F11
键,即可看到关键字。在命令行输入命令时,如果参数是按照固定的顺序输入,则可以省略关键字。
例如:
SNDMSG MSG (HOLLEO) TOUSR
(LENG)
命令名 关键字 参数值
大多数 CL
都是
针对目标而言,目标是一个占据了一定存储空间的实体,它包括自身属性及其数据特征的描述,系统可以对它进行操作。目标的属性包括名字、类型、长度、建立日期及其它属性。不同目标具有不同的属性描述,大部分属性是可以修改的,而不需要重新建立。目标的数据值是储存于目标中的信息集合,例如:
程序的值是组成程序的执行码,文件的值是组成文件的记录。
目标的类型很多,常用的几种包括:
*
LIB
库
*
FILE
文件
*
MSGF
信息文件
*
PGM
程序
*
CMD
命令
*
JOBQ
作业队列
*
DTAQ
数据队列
*
MSGQ
信息队列
*
OUTQ
输出队列
* DTAARA 数据域
*
JRN
日志
* JRNRCV 日志接受器
* USRPRF 用户简要表
*
SBSD
子系统描述
*
JOBD
作业描述
*
LIND
线路描述
*
CTLD
控制器描述
*
DEVD
设备描述
一个具体目标是由目标名和目标类型来唯一标识的,不同的目标类型可以使用同一个目标名。目标名由用户指定,目标类型由生成它的命令决定。不同类型的目标具有不同的操作。例如:CALL
命令只针对 *PGM 目标进行操作。
关于目标的操作,系统也进行了统一的规范,常用的几种包括:
*
WRK
工作
*
CRT
建立
*
ADD
增加
*
CHG
改变
*
DLT
删除
*
DSP
显示
*
EDT
编辑
*
CPY
拷贝
* MOV
移动
* RNM
变名
*
SAV
备份
*
RST
恢复
*
RTV
获取
*
GRT
授权
* DMP
转储
◆第二章 CL 编程
提要:
* CL
程序的作用
* CL
程序的结构
* CL
程序中的命令
2.1 CL 程序的作用
CL
程序是由 CL 命令组成,这些命令被编译成可供随时调用的程序。使用 CL
程序的优点包括:
* CL
程序比单独输入和运行命令快,因为命令被编译成能够立即运行的形式。
* 有些功能需要多条 CL 命令一起完成。
* 参数可以传递给CL
程序,CL程序内部也接收变量的定义,以适应特殊需要的程序操作。
* CL
程序能够像其它高级语言程序一样被测试和监控。
CL
程序可以应用到许多方面,包括:
* 通过 CL 程序完成单独输入 CL
命令所不能完成的功能,例如,人工或者定时提交批作用完成一项工作,如启动子系统,进行文件备份,整顿系统资源。
*
给交互式或批处理的应用程序提供一个接口,使得在应用程序中直接进行系统操作或者获取系统参数。
* 在网络通信方面,CL
程序往往承担应用主控程序的角色。
2.2 CL 程序的结构
CL 程序是借助于 ADT 工具中的 SEU
输入的,在输入过程中,键入一条命令并按 F4
键,就会显示出这条命令的提示画面,方便用户输入相应的参数值。CL
源程序主要分为以下几个部分:
* 程序的开始和结束:
PGM PARM(&A &B) 开始 CL 程序
END PGM 结束程序
* 变量定义:
DCL 定义变量
DCLF 定义文件
* CL 处理命令:
CHGVAR 变量赋值
MONMSG 监控错误信息
SNDPGMMSG 传送程序信息
RTVJOBA 获取作业属性值
* 逻辑控制命令:
IF THEN ELSE
DO ENDDO
GOTO
* 内部函数:
% SST 取子串