//COBOL EXEC PGM=IGYCRCTL,REGION=640K,COND=(12,LE),
// PARM=(NOTERM,LIB,XREF,DYN,'')
.
.
//LINK EXEC PGM=HEWLF064,REGION=2048K,COND=(12,LE),PARM=(DYN)
其实只要在COBOL程序中是CALL一个变量,它就是表示一个动态调用。掘宏橘
一般的册迟来说cobol调用其他的程序,一般的是include之前程序已经编译好的文件历姿岩。cobol2002应该是fujitsu在windows下的开发工具,我们在编译好的子程序,一般会生成肢御dll文件,在编译的脚本程序当中,把我们所需要调用的c程序的dll文件include进去就可以了。(1)首先,cobol程序可以跳开JCL,直接在cobol程序中直接指定外部文件(当然、大型开发没有这么做的),例:环境(闭巧模ENVIRONMENT)部、INPUT-OUTPUT节、FILE-CONTROL段:
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILE001
ASSIGN TO 'c:\1.txt'
ORGANIZATION IS LINE SEQUENTIAL
FILE STATUS IS .......(后面的内容省略)
其中“FILE001”为文件标识(也就是FD定义中,和过程部OPEN/READ/CLOSE语句中的文件名).
ASSIGN TO 子句直接指定文件宽笑,不需要JCL。
(2)如果想通过JCL指定,则程序里面,ASSIGN TO 子句如下(其他不用动):
ASSIGN TO SYS100
其中“SYS100”被称为外部装置名(或者称之为“DD名”),
这样,程序内部没有直接指定外部文件的位置和名称,
只是将其和外部装置名SYS100联系到了一起。JCL中指定如下:
SET CBL_SYS100=c:\1.txt
注意,JCL里面(也就是环境变数设定时)环境变数名是CBL_XXXX的形式,
XXX部分是程序中的轿缓外部装置名。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)