分类:
2006-05-29 14:52:02
第六章 先进的程序设计方法
这章介绍更先进的程序设计方法,包括:
从高级语言程序(包括CL程序)引出的特别函数
用提示和程序员菜单来输入程序源语句
先进函数命令请看系统API参考。
这章包括GUPI,它是IBM做的在客户写的程序中使用的变量,在这章末尾给出几个样板程序。
6.1 使用QCAPCMD程序
处理命令(QCAPCMD)应用程序接口(API)完成命令串的分析处理,可使用这API做:
在运行命令串之前做语法检查
提示命令及接收修收的命令串
使用来自高级语言的命令
显示命令的帮助信息
详细内容请看系统API参考。
6.2 使用QCMDEXC程序
执行命令(QCMDEXC)是IBM提供的运行一个简单命令的程序,用它来激活另外的命令:
从用HLL写的程序中。
从用CL写的过程中。
从在编译时并不知道运行什么命令或不知用什么参数的程序中。
QCMDEXC程序是用HLL或CL过程和程序调用,运行CALL命令并做为CALL的参数传送。
CL or HLL program QCMDEXC
CALL QCMDEXC(PARM1 PARM2) PGM(PARM1 PARM2) RETURN
在命令运行后,控制返回给HLL或CL过程和程序。
命令也可不在程序中运行,这样,在命令中就不能使用变量。另外,仅能用在CL过程和程序中的命令也不能用QCMDEXC程序运行。调用QCMDEXC程序的格式如下:
CALL PGM(QCMDEXC) PARM(命令 命令长度)
在第一个参数中输入做为字符串的要运行的命令,如果命令中有空格,必须用引号括起。字符中的最大长度为6000个字符,其中不包括引号。第二个参数(长度)是做为命令传递的字符串长度,它必须是15位长5位小数的压缩十进制值。下面是替换库列表的调用QCMDEXC程序的命令:
CALL PGM(QCMDEXC) PARM('CHGLIBL LIBL(QGPL NEWLIB QTEMP)' 31)
可把上述语句用在HLL或CL程序中来替换程序运行时的库列表。用这种方法在运行时没有灵活性,要在运行时灵活替换库列表:
1、在参数列表中把常量换成变量。
2、在调用HLL或CL程序时规定变量的值。
如下所示:
CALL PGM(PGMA) PARM('CHGLIBL...' 3000)