免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 15395 | 回复: 12
打印 上一主题 下一主题

关于OS390的JCL操作语言理解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-27 13:26 |只看该作者 |倒序浏览
经过这几天对OS390的理解,基本上熟悉了JCL语言. JCL语言是JOB CTRL Language,顾名思义,也就是说,OS390中的COBOL语言不能自己去实现本身的功能.需要JCL语言对它进行操作. JCL语言中可以分为3大部分,JOB的声明:
XXXXXXA JOB CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=&SYSUID
其中XXXXXXA为JOB的名字, JOB的名字可以随便去起,但是一般情况下是用你的USERID+一个字付,因为你需要看你返回的LOG , JOB为声明用,就好比INT I; 声明一个I变量一样,CLASS=A为设置JOB的优先级,CLASS=(A~Z AND 0~9)  MSGCLASS=H设置MSG的优先级,范围同CLASS一样, NOTIFY=&SYSUID设置信息返回的用户. 你想把完成后的信息返回给谁,就在这添上他的USERID 如果添上&SYSUID系统莫认为当前用户,
EXEC的应用:
STEP1  EXEC PGM=IEFBR14
一般在JCL中我们所编辑的功能需要用到系统的程序,以及所用到的"接口(我是这么理解的)",所以这里需要声明我们所用到的程序名为IEFBR14 STEP1为程序实行的步,  每一个EXEC为一个步骤.
DD的应用:
//DD1       DD DSN=WANGZX.FILE.SOURCE,                        
//             DISP=(NEW,CATLG,DELETE),                        
//             SPACE=(TRK,(10,10,6)),                          
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
上面是建立一个PDS的语句.   其中DD1是程序IEFBR14中声明的外部连接的一个变量.弄过COBOL的朋友都知道 SELECT  F1  ASSIGN  TO XXXX
这个XXXX就是JCL中的DD1  我想我这么说应该是有人明白,这里我不知道怎么去用语言组织.起明白的朋友帮我完善.........
DSN=(DATA SET 名字)     DISP=(建立文件,CATLG,DELETE) SPACE=(TRK(初始大小"10TRK",增长大小"10TRK",包含的MENBER数"6的5倍")  DCB=文件属性,(这里我不是弄的特别明白,但是我知道是这么写,里面写的是建立文件时的属性)
SYSPRINT DD SYSOUT=*   SYSPRINT 是系统所用到的,我们主要说说后面  SYSOUT=*  就是说把MSG输出到后台中 ,"*"就是指后台,A 就是打印机  下面我发下HELLO WORLD 程序的代码:
COBOL文件中
           IDENTIFICATION            DIVISION.
                PROGRAM-ID.                 TEST1.
                ENVIRONMENT               DIVISION.
                DATA                              DIVISION.
                PROCEDURE                   DIVISION.
                         DISPLAY 'HELLO WORLD!'.
                         STOP RUN.
JCL中
//WANGZXA   JOB CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=WANGZX
//STEP1     EXEC PROC=IGYWCLG                                   
//COBOL.SYSIN DD DSN=WANGZX.COBOL.SOURCE(TEST1),DISP=SHR        
//GO.SYSOUT DD SYSOUT=*                                         
//SYSPRINT  DD SYSOUT=*                                         
//*

论坛徽章:
0
2 [报告]
发表于 2006-11-27 13:33 |只看该作者
续:::::::
当写完JCL语句时.  在命令输入行输入SAVE 保存下,  在输入SUB   SUB为提交, 然后回车, 如果返回的MACXX = 0 代表成功,  0以上为错误
查看执行后的MSG    在命令输入行输入  TSO SDSF H   回车.  回发现你的JOB名开头的MSG  在MSG前面输入"?"  回车,  在里面会看到有个SYSOUT 的MSG  在这个MSG前面输入"S"   则看到了HELLO WORLD

论坛徽章:
0
3 [报告]
发表于 2006-11-27 13:37 |只看该作者
以上为HELLO WORLD的COBOL形式..  想要输出HELLO WORLD 还有另外一个形式.   在一个MENBER中建立一个文件,   在文件中输入HELLO WORLD   保存,退出,  在JCL中这样写
//WANGZXA  JOB CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),NOTIFY=WANGZX  
//STEP1    EXEC PGM=IEBGENER                                    
//SYSUT1   DD DSN=WANGZX.FILE.SOURCE(TEST2),DISP=SHR            
//SYSUT2   DD SYSOUT=*                                          
//SYSIN    DD DUMMY                                             
//SYSPRINT DD SYSOUT=*     
其中DSN后面的为MENBER的位置.  DISP=SHR 为共享式的访问..
在JCL中SUB  就能够实现了...

论坛徽章:
0
4 [报告]
发表于 2006-11-28 13:22 |只看该作者

回复 3楼 wyvern050 的帖子

不太懂JCL,顶一下

论坛徽章:
0
5 [报告]
发表于 2006-11-28 15:04 |只看该作者
续::::::
JCL语言和AS400中的CL语言差不多,都是属于工作控制语句,  如果你想让某个程序按照你的方式运行起来就需要JCL语言的控制,  也就是说在OS390中  COBOL 语言系统是不识别的,需要把它的代码翻译成系统能够识别的代码,   这样程序才能运行, 然而JCL语言又不能自主的把COBOL原代码变成计算机识别的代码,就需要借助系统的一些工具, 就是上面说的   STEP EXEC PGM=XXXX  这里的XXXX就是系统的工具,

我们也可以这样理解
         源代码->JCL->系统工具->目标代码->JCL->运行
这就是一个简单的工作执行的方式.

论坛徽章:
0
6 [报告]
发表于 2006-11-28 19:24 |只看该作者
JCL是在MVS里用来处理批处理作业的吧,类似400下的SBMJOB,功能强大的多哦,交互式的使用TSO SHELL,由于没有什么提示和回显,一般SYSTEM PROGRAMMER都用ISPF这个工具去做交互式的作业.类似于400ER在绿屏下的操作.这么写,400ER应该能看的懂些,顶的人可能也会多点点啦~~

论坛徽章:
0
7 [报告]
发表于 2006-11-29 13:56 |只看该作者
等我把每一个操作图都截下来给你们看  等待整理...........

论坛徽章:
0
8 [报告]
发表于 2007-07-22 15:07 |只看该作者

你好

能不能把以上问题的答案给出来呢?或者是哪里有OS390的相关资料,急!!!!!!!!!!

论坛徽章:
0
9 [报告]
发表于 2008-05-06 14:48 |只看该作者
讲的很详细也 喜欢
哥哥能不能发一些中文的资料给我学习下,现在正在实践用中,发在我的邮箱里 谢谢
feilly66726344@sina.com

论坛徽章:
0
10 [报告]
发表于 2008-05-06 14:49 |只看该作者
整理好了发给我一份好吗?万分感谢! o(∩_∩)o...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP