<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>还是那只鱼-newcoin&#039;s blog &#187; 大型机</title>
	<atom:link href="http://www.newcoin.info/tag/%e5%a4%a7%e5%9e%8b%e6%9c%ba/feed" rel="self" type="application/rss+xml" />
	<link>http://www.newcoin.info</link>
	<description>人生没有彩排，每天都是现场直播...</description>
	<lastBuildDate>Tue, 20 Jul 2010 16:34:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>大型机/IBM大型机 简介</title>
		<link>http://www.newcoin.info/%e5%a4%a7%e5%9e%8b%e6%9c%baibm%e5%a4%a7%e5%9e%8b%e6%9c%ba-%e7%ae%80%e4%bb%8b.html</link>
		<comments>http://www.newcoin.info/%e5%a4%a7%e5%9e%8b%e6%9c%baibm%e5%a4%a7%e5%9e%8b%e6%9c%ba-%e7%ae%80%e4%bb%8b.html#comments</comments>
		<pubDate>Mon, 27 Apr 2009 06:16:33 +0000</pubDate>
		<dc:creator>newcoin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[mainframe]]></category>
		<category><![CDATA[OS/390]]></category>
		<category><![CDATA[大型机]]></category>
		<category><![CDATA[大型机资料]]></category>
		<category><![CDATA[小型机]]></category>

		<guid isPermaLink="false">http://www.newcoin.info/?p=27664</guid>
		<description><![CDATA[大型机（mainframe）这个词，最初是指装在非常大的带框铁盒子里的大型计算机系统，以用来同小一些的迷你机和微型机有所区别。虽然这个词已经通过 不同方式被使用了很多年，大多数时候它却是指system/360 开始的一系列的IBM计算机。这个词也可以用来指由其他厂商，如Amdahl, Hitachi Data Systems (HDS) 制造的兼容的系统。

80年代以来,网络化和微型化的日趋明显,传统的集中式处理和主机/哑终端模式越来越不能适应人们的需要,在这种情况下,传统的大型机和小型机都陷入了危 机。为了应对危机,一些大型机和小型机改变了原先的一些功能和模式,以C/S模式中的服务器角色重新适应了人们的需求。 在微型计算机、UNIX服务器、集群技术、工作站的冲击下,不能适应这种变化的传统小型机已经淘汰,而IBM大型主机却长盛不衰,这其中主要的原因 是：RAS（Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性），I/O处理能力以及ISA。

今日而言,大型主机在MIPS(每秒百万指令数)已经不及微型计算机(microcomputer),但是它的I/O能力、非数值计算能力、稳定性、安全性却是微型计算机所望尘莫及的。
而IBM大型机现在绝大多数用于商业应用，北美典型的行业有银行、保险、政府、交通、零售等。全球五十大银行以及500强中业务量需求较大的公司都依靠 IBM 大型机来执行世界上复杂的事务。大型机的优势是海量并发I/O, 利于在线联机交易，成千上万人同时登录。要知道现在中国的几大银行的核心系统都使用大型机，而且都集中到两个大型机系统，一个在北京，一个在上海。要不是考虑到灾难备份的因素，一个大型机系统完全可以应付过来，也就是一个系统搞定数亿人的银行交易。当然一个大型机系统是指并行处理系统（Parallel Sysplex), 参与的机器可能有好几台。每个参与的系统都可以安排在维护时段退出，以进行软件和硬件的维护。但是整个生产系统可以从来不用停止。
当然大型机的造价也是相当的昂贵，随便一台造价都是已数十亿美元计算的，所以用得起的都是一些大公司。
相关资料：IBM大型机术语
一、 IBM大型机(Mainframe)
IBM大约从2000年开始，将大型机改称IBM eServerzSeries，z系统列的意思是永不宕(dang)机(zero)，用于mission critical application(24*7)这样的关键场合。国内外银行总行级或较大分行一级大都采用IBM大型机，个别采用Tandem None-StopCOBOL（天腾公司后被COMPAG，再被HP合并）。
IBM大型机主要型号有ES9000（大型机旧型号）和System/390 （S/390）.
MVS，VSE，VM，OS/390是IBM大型机上使用的一些操作系统。
IMS是IBM大型机上使用的一种主要大型数据库(层次型数据库，非关系型数据库)。IBM大型机新软件建议使用DB2 UDB数据库的趋势。
CICS（CustomerInformation Control System）读作[kiks]，是一种应用服务器(ApplicationServer)或交易服务器(TransactionServer)，用于IBM主机上的后端数据库连接和在线事务控制等，有点类似于微软的MTS或IBM的Websphere ApplicationServer。
COBOL是IBM大型机的主要程序设计语言，JCL是大型机上的作业控制语言。
二、 IBM中型机（Midrange）
新名称为IBM eServer iSeries。i系列是具有商务智能(intelligence)的意思。用于中等企业。IBM中型机主要型号为AS/400，操作系统为OS /400，数据库主要为DB2 通用数据库，程序设计语言主要为RPG或COBOL。RPG是一种非常像COBOL的程序设计语言。
三、 IBM小型机（Small Computer）
新名称为IBM eServer pSeries。 p系列是性能较高(performance)的意思。用于中小等企业。IBM小型机主要型号为RS/6000，操作系统为AIX（IBM的UNIX系统），数据库主要为DB2 /ORACLE/SYBASE等，程序设计语言不定，多为C/C++/JAVA等。
四、 IBM PC服务器
新名称为IBM eServer xSeries，以前称为IBM Netfinity Server。 x系列是采用Intel x86系列CPU的意思。用于部门级服务器。
]]></description>
			<content:encoded><![CDATA[<p>大型机（mainframe）这个词，最初是指装在非常大的带框铁盒子里的大型计算机系统，以用来同小一些的迷你机和微型机有所区别。虽然这个词已经通过 不同方式被使用了很多年，大多数时候它却是指system/360 开始的一系列的IBM计算机。这个词也可以用来指由其他厂商，如Amdahl, Hitachi Data Systems (HDS) 制造的兼容的系统。</p>
<p><span id="more-27664"></span></p>
<p>80年代以来,网络化和微型化的日趋明显,传统的集中式处理和主机/哑终端模式越来越不能适应人们的需要,在这种情况下,传统的大型机和小型机都陷入了危 机。为了应对危机,一些大型机和小型机改变了原先的一些功能和模式,以C/S模式中的服务器角色重新适应了人们的需求。 在微型计算机、UNIX服务器、集群技术、工作站的冲击下,不能适应这种变化的传统小型机已经淘汰,而IBM大型主机却长盛不衰,这其中主要的原因 是：RAS（Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性），I/O处理能力以及ISA。</p>
<p><a rel="attachment wp-att-27665" href="http://www.newcoin.info/27664.html/attachment/1455100"><img class="alignnone size-full wp-image-27665" title="IBM大型机System z9" src="http://www.newcoin.info/wp-content/uploads/2009/04/1455100.jpg" alt="IBM大型机System z9" width="280" height="336" /></a><a rel="attachment wp-att-27666" href="http://www.newcoin.info/27664.html/ww021223001"><img class="alignnone size-full wp-image-27666" title="IBM大型机System z9" src="http://www.newcoin.info/wp-content/uploads/2009/04/ww021223001.jpg" alt="IBM大型机System z9" width="316" height="336" /></a></p>
<p>今日而言,大型主机在MIPS(每秒百万指令数)已经不及微型计算机(microcomputer),但是它的I/O能力、非数值计算能力、稳定性、安全性却是微型计算机所望尘莫及的。</p>
<p>而IBM大型机现在绝大多数用于商业应用，北美典型的行业有银行、保险、政府、交通、零售等。全球五十大银行以及500强中业务量需求较大的公司都依靠 IBM 大型机来执行世界上复杂的事务。大型机的优势是海量并发I/O, 利于在线联机交易，成千上万人同时登录。要知道现在中国的几大银行的核心系统都使用大型机，而且都集中到两个大型机系统，一个在<span class="t_tag" onclick="tagshow(event)">北京</span>，一个在上海。要不是考虑到灾难<span class="t_tag" onclick="tagshow(event)">备份</span>的因素，一个大型机系统完全可以应付过来，也就是一个系统搞定数亿人的银行交易。当然一个大型机系统是指并行处理系统（Parallel Sysplex), 参与的<span class="t_tag" onclick="tagshow(event)">机器</span>可能有好几台。每个参与的系统都可以安排在<span class="t_tag" onclick="tagshow(event)">维护</span>时段退出，以进行软件和硬件的<span class="t_tag" onclick="tagshow(event)">维护</span>。但是整个生产系统可以从来不用停止。</p>
<p>当然大型机的造价也是相当的昂贵，随便一台造价都是已数十亿美元计算的，所以用得起的都是一些大公司。</p>
<p style="text-align: left;">相关资料：IBM大型机术语</p>
<p style="text-align: left;">一、 IBM大型机(Mainframe)<br />
IBM大约从2000年开始，将大型机改称IBM eServerzSeries，z系统列的意思是永不宕(dang)机(zero)，用于mission critical application(24*7)这样的关键场合。国内外银行总行级或较大分行一级大都采用IBM大型机，个别采用Tandem None-StopCOBOL（天腾公司后被COMPAG，再被HP合并）。</p>
<p style="text-align: left;">IBM大型机主要型号有ES9000（大型机旧型号）和System/390 （S/390）.<br />
MVS，VSE，VM，OS/390是IBM大型机上使用的一些操作系统。<br />
IMS是IBM大型机上使用的一种主要大型数据库(层次型数据库，非关系型数据库)。IBM大型机新软件建议使用DB2 UDB数据库的趋势。<br />
CICS（CustomerInformation Control System）读作[kiks]，是一种应用服务器(ApplicationServer)或交易服务器(TransactionServer)，用于IBM主机上的后端数据库连接和在线事务控制等，有点类似于微软的MTS或IBM的Websphere ApplicationServer。<br />
COBOL是IBM大型机的主要程序设计语言，JCL是大型机上的作业控制语言。</p>
<p style="text-align: left;">二、 IBM中型机（Midrange）<br />
新名称为IBM eServer iSeries。i系列是具有商务智能(intelligence)的意思。用于中等企业。IBM中型机主要型号为AS/400，操作系统为OS /400，数据库主要为DB2 通用数据库，程序设计语言主要为RPG或COBOL。RPG是一种非常像COBOL的程序设计语言。<br />
三、 IBM小型机（Small Computer）<br />
新名称为IBM eServer pSeries。 p系列是性能较高(performance)的意思。用于中小等企业。IBM小型机主要型号为RS/6000，操作系统为AIX（IBM的UNIX系统），数据库主要为DB2 /ORACLE/SYBASE等，程序设计语言不定，多为C/C++/JAVA等。<br />
四、 IBM PC服务器<br />
新名称为IBM eServer xSeries，以前称为IBM Netfinity Server。 x系列是采用Intel x86系列CPU的意思。用于部门级服务器。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/%e5%a4%a7%e5%9e%8b%e6%9c%baibm%e5%a4%a7%e5%9e%8b%e6%9c%ba-%e7%ae%80%e4%bb%8b.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>JCL语言基础教程</title>
		<link>http://www.newcoin.info/jcl%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80%e6%95%99%e7%a8%8b.html</link>
		<comments>http://www.newcoin.info/jcl%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80%e6%95%99%e7%a8%8b.html#comments</comments>
		<pubDate>Tue, 14 Apr 2009 01:37:39 +0000</pubDate>
		<dc:creator>newcoin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[JCL]]></category>
		<category><![CDATA[JCL实例]]></category>
		<category><![CDATA[入门介绍]]></category>
		<category><![CDATA[参数]]></category>
		<category><![CDATA[大型机]]></category>
		<category><![CDATA[大型机 资料]]></category>
		<category><![CDATA[教程]]></category>
		<category><![CDATA[语法]]></category>

		<guid isPermaLink="false">http://www.newcoin.info/?p=27533</guid>
		<description><![CDATA[
作业控制语言JCL(Job Control Language)
必须包含三个JCL基本语句：
（1）作业语句（JOB）：标识一个作业的开始，提供必要的运行参数。
（2）执行语句（EXEC）：标识一个作业步的开始，定义本作业步所要执行的程序或过程。
（3）数据定义语句（DD）：用于描述应用程序所需要的数据文件。
系统规定这三种语句行必须以“//”开头。下面是一个多步作业的例子：
 


//JOB1    JOB  … 
 
//STEP1   EXEC … 
//DD1     DD …      作业步1
//STEP2   EXEC …
//INDD1   DD …    作业步2 
//INDD2   DD … 
//
六种附加语句：
 1）/* 语句：表示六内数据结束或调用JES控制语句；
 2）//*语句：注释语句，由第4到第80列写出注释内容；
 3）//语句：空语句，用以标记一个作业的结束；
 4）PROC语句：流内过程（IN-STREAM  PROCEDURE）或编目过程（CATALOGED PROCEDURE）的起始标记。
 5）PEND语句：标志一个流内过程的结束。
 6）Command语句：操作员用这个语句在输入流中写入操作命令。
JCL实例:
//BACKUP JOB   ,’EXAMPLE JOB’
//************************
//*  IT IS A EXAMPLE!   *
//************************
//STEP1    EXEC  PGM=IEBGENER
//STEPLIB  DD    DSN=SYS1.LINKLIB,DISP=SHR
//SYSIN    DD    DUMMY 
//SYSPRINT DD    SYSOUT=A
//SYSU1    DD    DSN=PR.MASTER,DISP=OLD
//SYSU2    DD    DSN=PR.MAILY.BACKUP,DISP=(NEW,CATLG),UNIT=TAPE,
//                 DCB=(RECFM=FB,LRECL=200,BLKSIZE=1000)
//
JCL的语法规则:
一、JCL字符集
（1）字母（共26个）
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
（2） 数字（共10个）
0  1  2  3  4  5  6  7  8  9
（3） 特殊字符（共10个）
,  .  /  ‘  (  )  *  &#38;  +  -  =
（4）通配符（共6个）
@  $  #  （也可分别用X’7C’  X’5B’ 和 X’7B’表示）
（5） EBCDIC 可打印字符集 
（文章来源：http://www.newcoin.info）

一般语句格式规范 :
分别是标识符区、名字区、操作符区、参数区和说明区.
名字区后必须跟一个或多个空格，可以选择名字表达出这个JCL语句的作用。下面给出几个正确与错误的名字区的例子：
 正确的                                 错误的
 //Z                                           //9Z 
 //BACKUP#1                         //TAPEBACKUP
 //#99                                       //TEST*9 
 //$EXAM                               //EXAM(0)

操作符区位于名字区之后，规定了语句的类型：JOB、EXEC、DD、PROC、PEND，或操作员命令。
 名字区后必须跟一个或多个空格。例如：
//EXAMPLE  JOB
//STEP1  EXEC
//INDD1  DD

参数区在操作符区之后，其中包括被逗号分隔的参数，参数由事先规定好的关键字组成，对于这些参数其数值必须是可被代换的变值。参数区没有固定的长度及列的要求。例如：
//EXAMPLE  JOB  2000，CLASS=A
//STEP1  EXEC  PGM=IEYFORT
//PRINT  DD  SYSOUT=A
说明区位于参数区后，用于对相应语句进行注释说明，它可以是任何需要的说明信息，注释区后必须跟一空格。需要注意的是，仅当参数出现时才能书写说明信息，不然容易与参数混淆。 
 //EXAMPLE  JOB  ，CLASS=A  IT IS A COMMENT

JCL只允许在参数区和说明区有续行，当需要续行时，在当前行的第71列前必须将某个参数或某个子参数以及参数后的逗号写完整，且下一行第1、2列为“//”，第3列为空格，续行的内容只能从4~16列开始，如从16列后开始，将被认为是注释语句。
 //DATA  DD  DSN=SYS1。FORTLIB，
 //  DISP=OLD
 
参数规则
在JCL中，参数区内的参数的类型分为两类：
(1)位置参数（positional）：与其他参数保持相对位置的参数；
(2)关键字参数（keyword）：由一个关键字和等号后面的可变数据组成。
如果在一个语句内既有位置参数又有关键字参数时，所有的关键字参数必须位于位置参数之后。例： 
//EXAMPLE  JOB  2000, CLASS=A
 位置参数  关键字参数 
JCL语法实例
作业语句   //EXPJOB  JOB  ,’USERNAME’,MSGLEVEL=(1,1),   EXAMPLE
作业语句续行 //  MSGCLASS=Q,CLASS=A
 //**********************
注释语句      //*  IT IS A EXAMPLE  * 
 //**********************
执行语句      //STEP1  EXEC  PGM=IEFBR14
DD语句         //DD1  DD    DSN=MJSN.TEAM01.ONE,DISP=(,CATLG),
DD语句续行 //  SPACE=(TRK,(5,2)), UNIT=SYSDA 
DD语句         // DD1  DD    DSN=MJSN.TEAM01.TWO,DISP=(,KEEP),
DD语句续行 //  SPACE=(TRK,(1,1)), UNIT=SYSDA

JOB语句
JOB语句标志一个作业的开始、分配作业名并设置相关的位置参数及关键字参数，每个作业的第一个语句必须是JOB语句。
JOB语句的格式如下：
//作业名 JOB  位置参数[，关键字参数][，关键字参数]。。。[注释说明]
JOB语句中的关键字参数有如下几个: 
1．ADDRSPC 作业所需之存贮类型 
2.  BYTES  打印作业的系统输出数据集的最大千字节数
3. CLASS 参数规定了作业的类别 用字母A~Z及数字0~9表示 4．MSGCLASS  用于为作业日志（job log）设置输出类别。 
 //EXMP1  JOB  ,GEORGE,MSGCLASS=F
 5．MSGLEVEL
用于控制JCL作业输出清单的内容 
 6．NOTIFY
 用于请求系统在后台作业处理完毕时给指定用户发送信息。
 7．PRTY 
 用于为相应的输入队列中的作业分配优先级。
 8．REGION
 用于指定作业所需的实存或虚存空间的大小，系统将在该作业中的每一作业步使用该值。
 9．TIME
 用于指定作业占用处理器的最长时间并可通过一些信息得知该作业占用处理器的时间。 
 10．TYPRUN
 用于请求特殊的作业处理。 
 COND、GROUP、PASSWORD、PERFORM、RD、RESTART、SECLABEL、USER… [...]]]></description>
			<content:encoded><![CDATA[<div class="Section0">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">作业控制语言JCL(Job Control Language)</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">必须包含三个JCL基本语句：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（1）作业语句（JOB）：标识一个作业的开始，提供必要的运行参数。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（2）执行语句（EXEC）：标识一个作业步的开始，定义本作业步所要执行的程序或过程。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（3）数据定义语句（DD）：用于描述应用程序所需要的数据文件。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">系统规定这三种语句行必须以“//”开头。下面是一个多步作业的例子：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;"> <span id="more-27533"></span><br />
</span></span>
</p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//JOB1    JOB  … </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEP1   EXEC … </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//DD1     DD …      <span style="font-family: 宋体;">作业步1</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEP2   EXEC …</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//INDD1   DD …    <span style="font-family: 宋体;">作业步2 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//INDD2   DD … </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">六种附加语句</span></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 1<span style="font-family: 宋体;">）/* 语句：表示六内数据结束或调用JES控制语句；</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 2<span style="font-family: 宋体;">）//*语句：注释语句，由第4到第80列写出注释内容；</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 3<span style="font-family: 宋体;">）//语句：空语句，用以标记一个作业的结束；</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 4<span style="font-family: 宋体;">）PROC语句：流内过程（IN-STREAM  PROCEDURE）或编目过程（CATALOGED PROCEDURE）的起始标记。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 5<span style="font-family: 宋体;">）PEND语句：标志一个流内过程的结束。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 6<span style="font-family: 宋体;">）Command语句：操作员用这个语句在输入流中写入操作命令。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';">JCL<span style="font-family: 宋体;">实例:</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//BACKUP JOB   ,’EXAMPLE JOB’</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//************************</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//*  IT IS A EXAMPLE!   *</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//************************</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEP1    EXEC  PGM=IEBGENER</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEPLIB  DD    DSN=SYS1.LINKLIB,DISP=SHR</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//SYSIN    DD    DUMMY </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//SYSPRINT DD    SYSOUT=A</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//SYSU1    DD    DSN=PR.MASTER,DISP=OLD</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//SYSU2    DD    DSN=PR.MAILY.BACKUP,DISP=(NEW,CATLG),UNIT=TAPE,</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//                 DCB=(RECFM=FB,LRECL=200,BLKSIZE=1000)</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';">JCL<span style="font-family: 宋体;">的语法规则:</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">一、JCL字符集</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（1）字母（共26个）</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（2） 数字（共10个）</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">0  1  2  3  4  5  6  7  8  9</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（3） 特殊字符（共10个）</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">,  .  /  ‘  (  )  *  &amp;  +  -  =</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（4）通配符（共6个）</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">@  $  #  <span style="font-family: 宋体;">（也可分别用X’7C’  X’5B’ 和 X’7B’表示）</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（5） EBCDIC 可打印字符集 </span></span></p>
<address class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（文章来源：<a href="http://www.newcoin.info">http://www.newcoin.info</a>）<br />
</span></span></address>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">一般语句格式规范 :</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">分别是标识符区、名字区、操作符区、参数区和说明区.</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">名字区后必须跟一个或多个空格，可以选择名字表达出这个JCL语句的作用。下面给出几个正确与错误的名字区的例子：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">正确的                                 错误的</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //Z                                           //9Z </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //BACKUP#1                         //TAPEBACKUP</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //#99                                       //TEST*9 </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //$EXAM                               //EXAM(0)</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">操作符区位于名字区之后，规定了语句的类型：JOB、EXEC、DD、PROC、PEND，或操作员命令。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">名字区后必须跟一个或多个空格。例如：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//EXAMPLE  JOB</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEP1  EXEC</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//INDD1  DD</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">参数区在操作符区之后，其中包括被逗号分隔的参数，参数由事先规定好的关键字组成，对于这些参数其数值必须是可被代换的变值。参数区没有固定的长度及列的要求。例如：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//EXAMPLE  JOB  2000<span style="font-family: 宋体;">，CLASS=A</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEP1  EXEC  PGM=IEYFORT</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//PRINT  DD  SYSOUT=A</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">说明区位于参数区后，用于对相应语句进行注释说明，它可以是任何需要的说明信息，注释区后必须跟一空格。需要注意的是，仅当参数出现时才能书写说明信息，不然容易与参数混淆。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //EXAMPLE  JOB  <span style="font-family: 宋体;">，CLASS=A  IT IS A COMMENT</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">JCL<span style="font-family: 宋体;">只允许在参数区和说明区有续行，当需要续行时，在当前行的第71列前必须将某个参数或某个子参数以及参数后的逗号写完整，且下一行第1、2列为“//”，第3列为空格，续行的内容只能从4~16列开始，如从16列后开始，将被认为是注释语句。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //DATA  DD  DSN=SYS1<span style="font-family: 宋体;">。FORTLIB，</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //  DISP=OLD</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">参数规则</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">在JCL中，参数区内的参数的类型分为两类：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">(1)<span style="font-family: 宋体;">位置参数（positional）：与其他参数保持相对位置的参数；</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">(2)<span style="font-family: 宋体;">关键字参数（keyword）：由一个关键字和等号后面的可变数据组成。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">如果在一个语句内既有位置参数又有关键字参数时，所有的关键字参数必须位于位置参数之后。例： </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//EXAMPLE  JOB  2000, CLASS=A</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">位置参数  关键字参数 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">JCL<span style="font-family: 宋体;">语法实例</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">作业语句   //EXPJOB  JOB  ,’USERNAME’,MSGLEVEL=(1,1),   EXAMPLE</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">作业语句续行 //  MSGCLASS=Q,CLASS=A</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //**********************</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">注释语句      //*  IT IS A EXAMPLE  * </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //**********************</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">执行语句      //STEP1  EXEC  PGM=IEFBR14</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">DD<span style="font-family: 宋体;">语句         //DD1  DD    DSN=MJSN.TEAM01.ONE,DISP=(,CATLG),</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">DD<span style="font-family: 宋体;">语句续行 //  SPACE=(TRK,(5,2)), UNIT=SYSDA </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">DD<span style="font-family: 宋体;">语句         // DD1  DD    DSN=MJSN.TEAM01.TWO,DISP=(,KEEP),</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">DD<span style="font-family: 宋体;">语句续行 //  SPACE=(TRK,(1,1)), UNIT=SYSDA</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';">JOB<span style="font-family: 宋体;">语句</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">JOB<span style="font-family: 宋体;">语句标志一个作业的开始、分配作业名并设置相关的位置参数及关键字参数，每个作业的第一个语句必须是JOB语句。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">JOB<span style="font-family: 宋体;">语句的格式如下：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//<span style="font-family: 宋体;">作业名 JOB  位置参数[，关键字参数][，关键字参数]。。。[注释说明]</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">JOB<span style="font-family: 宋体;">语句中的关键字参数有如下几个: </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">1<span style="font-family: 宋体;">．ADDRSPC 作业所需之存贮类型 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">2.  BYTES  <span style="font-family: 宋体;">打印作业的系统输出数据集的最大千字节数</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">3. CLASS <span style="font-family: 宋体;">参数规定了作业的类别 用字母A~Z及数字0~9表示 4．MSGCLASS  用于为作业日志（job log）设置输出类别。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //EXMP1  JOB  ,GEORGE,MSGCLASS=F</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 5<span style="font-family: 宋体;">．MSGLEVEL</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">用于控制JCL作业输出清单的内容 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 6<span style="font-family: 宋体;">．NOTIFY</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">用于请求系统在后台作业处理完毕时给指定用户发送信息。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 7<span style="font-family: 宋体;">．PRTY </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">用于为相应的输入队列中的作业分配优先级。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 8<span style="font-family: 宋体;">．REGION</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">用于指定作业所需的实存或虚存空间的大小，系统将在该作业中的每一作业步使用该值。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 9<span style="font-family: 宋体;">．TIME</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">用于指定作业占用处理器的最长时间并可通过一些信息得知该作业占用处理器的时间。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> 10<span style="font-family: 宋体;">．TYPRUN</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">用于请求特殊的作业处理。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> COND<span style="font-family: 宋体;">、GROUP、PASSWORD、PERFORM、RD、RESTART、SECLABEL、USER… </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';">EXEC<span style="font-family: 宋体;">语句</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">EXEC<span style="font-family: 宋体;">语句标明作业或过程中的每一作业步的开始，并告知系统如何执行该作业步。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">EXEC<span style="font-family: 宋体;">语句格式如下：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//[<span style="font-family: 宋体;">作业步名]  EXEC  位置参数[,关键字参数]…[符号参数=值]… [注释]</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">EXEC<span style="font-family: 宋体;">语句中的位置参数有两个：PGM和PROC。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">每条EXEC语句必须有且仅有一个位置参数或过程名. </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">格式：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">PGM={program-name}</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> {*.stepname.ddname}</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> {*.stepname.procstepname.ddname}</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//JOBC   JOB  ,JOHN,MSGCLASS=H</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEP2  EXEC  PGM=UPDT</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//DDA   DD  DSNAME=SYS1.LINKLIB(P40),DISP=OLD</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEP3  EXEC  PGM=*.STEP2.DDA</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">在上例中，名为STEP3的EXEC语句采用程序间接调用方式，所调用的程序名由作业步STEP2中的名为DDA的DD语句决定，在该DD语句中定义了系统库SYS1.LINKLIB，程序P40是该库的一个成员。“P40”即STEP3中要调用执行的程序名.</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">PROC <span style="font-family: 宋体;">指明作业步所要运行的过程名。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">格式：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">{PROC=procedure-name}</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">{procedure-name      }</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">procedure-name<span style="font-family: 宋体;">：需要调用的过程名，过程名由1~8个字母或通配符开头的字符数字构成。所调用的过程名可以是：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">·<span style="font-family: 宋体;">编目过程的成员名或别名。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">·<span style="font-family: 宋体;">由PROC语句定义的流内过程的过程名，该流内过程必须在本作业内且本作业步前定义。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">在设定该参数时，可直接写出过程名。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">例：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//SP  EXEC  PROC=PAYWRKS</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//BK EXEC  OPERATE</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">EXEC<span style="font-family: 宋体;">语句的关键字参数 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（文章来源：<a href="http://www.newcoin.info">http://www.newcoin.info</a>）</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">关键字参数.过程步名=值</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">1<span style="font-family: 宋体;">．ACCT 作业步所需的一个或多个记账信息子参数 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> ACCT[.<span style="font-family: 宋体;">过程步名]=(记账信息)</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">例： //STP3  EXEC  PROC=LOOKUP,ACCT=(‘/83468’)</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">2<span style="font-family: 宋体;">．ADDRSPC作业步所需之存贮类型，它有两个子参数：VIRT及REAL </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">例：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//CAC1  EXEC  PGM=A,ADDRSPC=VIRT</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//CAC2  EXEC  PROC=B,ADDRSPC=REAL,REGION=100K</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">REGION</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">作业步所需的实存或虚存空间的大小，系统仅在本作业步中使用该值。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> REGION[.<span style="font-family: 宋体;">过程步名]={valueK}</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> ={valueM} </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">例：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //MKBOYLE  EXEC  PROC=A,REGION=100K,ADDRSPC=REAL</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //STEP6   EXEC  PGM=CONT,REGION=250K </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">TIME</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">用于指定作业步占用处理器的最长时间，并可通过作业输出清单得知该作业步占用处理器的时间 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> TIME[.<span style="font-family: 宋体;">过程步名]={([minutes][,seconds])}</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> ={1440               } </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> ={NOLIMIT     }</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> ={MAXIMUM  }</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">值得注意的是：在JOB语句中不可设置TIME=0，而在EXEC语句中则可以设置TIME=0，当TIME=0时表示本作业步的执行时间由前面作业步的剩余执行时间决定。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">COND</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">用于对先前作业步执行的返回码（return code）进行测试，以决定是否执行本作业步。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">格式：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（1）COND[.过程步名]=(code,operator)</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（2）COND[.过程步名]=((code,operator[,作业步名][,过程步名])</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> [,(code,operator[,<span style="font-family: 宋体;">作业步名][,过程步名])]…[,EVEN])</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> [,ONLY]</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（3）COND=EVEN</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> COND=ONLY </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//STEP6  EXEC  PGM=DISKUTIL,COND=(4,GT,STEP3)</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">在本例中如果STEP3的返回码小于4，系统将不执行STEP6。由于没有设置EVEN或ONLY，如果先前的作业步异常终止，系统将不会执行本作业步。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//TEST2  EXEC  PGM=DUMPINT,COND=(16,GE),(90,LE,STEP1),ONLY)</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">由于设置了ONLY子参数，系统只在以下两种情况满足时执行本作业步：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（1）先前作业步异常终止；</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（2）返回值的测试条件都不满足。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">那么对于本例来说，系统将会在以下三种情况都满足的情况下执行本作业步：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">·<span style="font-family: 宋体;">一个先前作业步异常终止。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">·<span style="font-family: 宋体;">所有先前作业步的返回码大于等于17。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">·STEP1<span style="font-family: 宋体;">的返回码小于等于89。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">PARM</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">用于向本作业步执行的程序传递变量信息。该程序必须有相应的指令接收这些信息，并使用它们。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">格式：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">PARM[.<span style="font-family: 宋体;">过程步名]= 子参数</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">PARM[.<span style="font-family: 宋体;">过程步名]=( 子参数, 子参数)</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">PARM[.<span style="font-family: 宋体;">过程步名]=(‘子参数’, 子参数) </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">PARM[.<span style="font-family: 宋体;">过程步名]=’子参数, 子参数’</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">括所有的逗号、撇号以及括号在内，所有子参数的总长度不得超过100个字符。当某子参数中含有特殊字符或空格时，可以将该子参数用撇号括起来，在其它子参数一起用括号括起来，或将所有在参数用撇号括起来。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">子参数：包含传递给程序的变量信息。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">例1．</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//RUN3  EXEC  PGM=APG22,PARM=’P1,123,P2=5’</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">在本例中，系统将参数P1、123及P2=5传递给程序APG22。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">例2．</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> // STP6  EXEC  PROC=ASFCLG,PARM.LKED=(MAP,LET)</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">在本例中系统将MAP、LET传递到过程ASFCLG中名为LKED的过程步。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（文章来源：<a href="http://www.newcoin.info">http://www.newcoin.info</a>）</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-weight: bold; font-size: 10.5pt; font-family: 'Times New Roman';">DD<span style="font-family: 宋体;">语句</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">数据定义语句（DD语句）用于定义一个数据集以及该数据集所需的输入输出资源。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">格式：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//[dd<span style="font-family: 宋体;">名        ]   DD  [位置参数][,关键字参数]… [注释]</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> [<span style="font-family: 宋体;">过程步名.dd名]</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">//[dd<span style="font-family: 宋体;">名        ]   DD </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> [<span style="font-family: 宋体;">过程步名.dd名]</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">DD<span style="font-family: 宋体;">语句的参数也分为位置参数及关键字参数，这些参数都是可选的。每个DD语句只能有一个位置参数，但根据需要可以有个关键字参数。位置参数有“*”、“DATA”和“DUMMY”。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">参数“*”</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">参数“*”用于开始一个流内数据集。数据记录跟在“DD ”语句之后，其第一、二列不能是“//”或“/*”；该记录可以是任何编码，如EDCBIC。下列符号表明流内数据记录的结束：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> ·<span style="font-family: 宋体;">输入流中的“/*”。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> ·<span style="font-family: 宋体;">表示另一个JCL语句开始的“//”。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">当数据记录中需以“//”开始时，就必须使用DATA参数来代替“*”参数。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">DATA</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">用作一个流内数据集的开始，该流内数据集里含有以“//”开头的语句。数据记录紧跟在“DD DATA”语句之后；该数据记录可以是BCD或EDCBIC编码。数据记录将以“/*”作为结束。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">格式：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> //dd<span style="font-family: 宋体;">名  DD  DATA[,参数]… [注释]</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">DUMMY</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';">DUMMY<span style="font-family: 宋体;">参数用于标明：</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（1）没有设备或外存空间分配给该数据集。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"><span style="font-family: 宋体;">（2） 对该数据集不进行状态处理。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">（3） 对BASM或QSAM来说，不对该数据集作输入输出操作。</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;"><span style="font-size: 10.5pt; font-family: 'Times New Roman';"> <span style="font-family: 宋体;">用户使用DUMMY参数对程序进行测试。当测试完成时，如果用户希望恢复对数据集的输入输出操作时，只需将DD  DUMMY参数替换成完整的数据集定义DD语句。 </span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt;">
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/jcl%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80%e6%95%99%e7%a8%8b.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Table Pending的解决方法</title>
		<link>http://www.newcoin.info/table-pending%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95.html</link>
		<comments>http://www.newcoin.info/table-pending%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95.html#comments</comments>
		<pubDate>Thu, 09 Apr 2009 08:57:56 +0000</pubDate>
		<dc:creator>newcoin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[DB2]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[rebuild]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Table Pending]]></category>
		<category><![CDATA[大型机]]></category>

		<guid isPermaLink="false">http://www.newcoin.info/?p=27473</guid>
		<description><![CDATA[当load或使用一些utility以及一些SQL语句的时候，工作表正处于pending，会出现如下类似错误信息，某种资源不可用等等。
Unsuccessful execution caused by an unavailable resource.  Reason code
00C900A0, type of resource 00000200, and resource name…

如出现上述情况，我们可以对这整个database下面的所有index，tablespace进行display，display信息如下所述，当出现pengding code为RBDP的时候。对这个index进行rebuild就可以，如果出现不是这个pengding code而为其他code的时候，比如RBDP*等等都可以采用相应的语句就可以恢复，只要把下面的rebuild代码替换成相应的解决方案即可。
 


Indexname1 IX  RW,RBDP 
indexname2 IX         RW

切记如果是本番的情况下，要慎重考虑rebuild，因为有可能是本番job在锁定某张表。如果强行rebuild的话。可能带来一些灾难性的后果。

详细代码可以参考下面的实例。





Display出database中所有的index以及tablespace的名字，以及是否处于某种pending的状态.


//SYSDISP  PROC 
//RESET    EXEC PGM=IKJEFT01,DYNAMNBR=20 
//STEPLIB  DD  DSN=SUN.SDSNLOAD,DISP=SHR 
//SYSTSPRT DD  SYSOUT=* 
//SYSPRINT DD  SYSOUT=* 
//SYSUDUMP DD  SYSOUT=* 
//OUTPUT DD  SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=27930) 
//SYSTSIN  DD  DUMMY 
//      PEND 
//DISP01   EXEC SYSDISP 
//SYSTSIN  DD  * 
 DSN SYSTEM(SUN) 
 -DIS DATABASE(DATABASE1) LIMIT(999) 
 END 
/*





对处于pending状态的index进行REBUILD操作。


//REPAIR1 EXEC PGM=DSNUTILB,PARM=&#8217;SUN&#8217;,COND=EVEN 
//STEPLIB  DD  DSN=SUN.SDSNLOAD,DISP=SHR 
//SYSPRINT DD  SYSOUT=* 
//UTPRINT  DD  SYSOUT=* 
//SYSUDUMP DD  SYSOUT=* 
//SYSUT1   DD  UNIT=SYSDA,SPACE=(CYL,(10,10)) 
//SYSIN    DD  * 
 REBUILD INDEX(schema.index) 
/* 





 Rebuild 后table恢复正常
]]></description>
			<content:encoded><![CDATA[<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">当load或使用一些utility以及一些SQL语句的时候，工作表正处于pending，会出现如下类似错误信息，某种资源不可用等等。</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000;"><span style="font-size: 10.5pt; font-family: 'Arial';">Unsuccessful execution caused by an unavailable resource.  Reason code</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000;"><span style="font-size: 10.5pt; font-family: 'Arial';">00C900A0, type of resource 00000200, and resource name…</span></span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">如出现上述情况，我们可以对这整个database下面的所有index，tablespace进行display，display信息如下所述，当出现pengding code为RBDP的时候。对这个index进行rebuild就可以，如果出现不是这个pengding code而为其他code的时候，比如RBDP*等等都可以采用相应的语句就可以恢复，只要把下面的rebuild代码替换成相应的解决方案即可。</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> <span id="more-27473"></span><br />
</span>
</p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">Indexname1 IX </span><span style="color: #ff8100; font-size: 10.5pt; font-family: 'Arial';"> RW,RBDP </span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">indexname2 IX         RW</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">切记如果是本番的情况下，要慎重考虑rebuild，因为有可能是本番job在锁定某张表。如果强行rebuild的话。可能带来一些灾难性的后果。</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">详细代码可以参考下面的实例。</span></p>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<table style="border-collapse: collapse; margin-left: 5.4pt;" border="0">
<tbody>
<tr>
<td style="border: 0.75pt solid #000000; padding: 0pt; width: 211.65pt;" width="282" valign="top">
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">Display出database中所有的index以及tablespace的名字，以及是否处于某种pending的状态.</span></p>
</td>
<td style="padding: 0pt; width: 291.6pt;" width="388" valign="top">
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSDISP  PROC </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//RESET    EXEC PGM=IKJEFT01,DYNAMNBR=20 </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//STEPLIB  DD  DSN=SUN.SDSNLOAD,DISP=SHR </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSTSPRT DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSPRINT DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSUDUMP DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//OUTPUT DD  SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=27930) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSTSIN  DD  DUMMY </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//      PEND </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//DISP01   EXEC SYSDISP </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSTSIN  DD  * </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> DSN SYSTEM(SUN) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> -DIS DATABASE(</span><span style="color: #0000ff; font-size: 10.5pt; font-family: 'Arial';">DATABASE1</span><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">) LIMIT(999) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> END </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">/*</span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
</td>
</tr>
<tr>
<td style="padding: 0pt; width: 211.65pt;" width="282" valign="top">
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">对处于pending状态的index进行</span><span style="color: #0000ff; font-size: 10.5pt; font-family: 'Arial';">REBUILD</span><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">操作。</span></p>
</td>
<td style="padding: 0pt; width: 291.6pt;" width="388" valign="top">
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//REPAIR1 EXEC PGM=DSNUTILB,PARM=&#8217;SUN&#8217;,COND=EVEN </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//STEPLIB  DD  DSN=SUN.SDSNLOAD,DISP=SHR </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSPRINT DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//UTPRINT  DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSUDUMP DD  SYSOUT=* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSUT1   DD  UNIT=SYSDA,SPACE=(CYL,(10,10)) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">//SYSIN    DD  * </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';"> REBUILD INDEX(</span><span style="color: #0000ff; font-size: 10.5pt; font-family: 'Arial';">schema.index</span><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">) </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">/* </span></p>
<p class="p0" style="margin-left: 0.75pt; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
</td>
</tr>
</tbody>
</table>
<p class="p0" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;"><span style="color: #0000ff; font-weight: bold; font-size: 10.5pt; font-family: 'Arial';"> </span><span style="color: #000000; font-size: 10.5pt; font-family: 'Arial';">Rebuild 后table恢复正常</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/table-pending%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>揭示IBM大型机45年活力传奇</title>
		<link>http://www.newcoin.info/%e6%8f%ad%e7%a4%baibm%e5%a4%a7%e5%9e%8b%e6%9c%ba45%e5%b9%b4%e6%b4%bb%e5%8a%9b%e4%bc%a0%e5%a5%87.html</link>
		<comments>http://www.newcoin.info/%e6%8f%ad%e7%a4%baibm%e5%a4%a7%e5%9e%8b%e6%9c%ba45%e5%b9%b4%e6%b4%bb%e5%8a%9b%e4%bc%a0%e5%a5%87.html#comments</comments>
		<pubDate>Tue, 24 Mar 2009 12:11:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[传奇]]></category>
		<category><![CDATA[前景]]></category>
		<category><![CDATA[历史]]></category>
		<category><![CDATA[大型机]]></category>

		<guid isPermaLink="false">http://newcoin.info/?p=27358</guid>
		<description><![CDATA[IBM大型机至今已走过了45年的历史征程，《福布斯》杂志曾将IBM最早的大型机系统S/360列入“改变我们生活方式的85个发明”当中。如今，IBM大型机正用行动和数字拨开层层迷雾，向业界讲述着活力传奇。
市场逐步萎缩?
IDC报告显示，近10年来，IBM大型机持续获得市场，市场份额达到进一倍的增长。近年来，其增长尤为强劲。2008年第4季度，在以大型机为主的25万美元以上的高端服务器市场，IBM以占63.5%的销售额排名第一。       

唱衰大型机的声音由来已久。早在上世纪90年代，由于PC技术兴起，有预言家指出，大型机即将消亡。IBM System z副总裁及首席技术官George Walsh近日在回顾大型机历史时表示：“IBM在上世纪90年代经历了重大变革，我们在大型机上大胆采用了无缝技术等创新思想。可以说，没有创新，大型机早就成为历史了。”骆志华也表示：“大型机曾经一度遇到了很大的挑战，但从另一方面讲，很多用户在经过尝试和比较之后，发现他们的业务还是最适合使用大型机。近几年，评论大型机衰退的声音反而很少听到了，因为事实已经说明了大型机的市场价值。”
IBM财报显示，2008年第3季度，IBM System z大型机的收入同比提高了25%，并且在所有地区都呈现了两位数增长。“更为关键的是，按MIPS(以百万为单位计算的每秒钟执行指令数量)计算的System z计算能力总交付量收入，多年来一直在以两位数增长。”骆志华表示。实际上，大型机不仅受到传统客户的青睐，还拓展出新的客户工作负载。2008年上半年，IBM大型机的新增装机容量大幅飙升。例如，用于大型机的Linux专用引擎出货量增长达26%，Java专用引擎出货量增长达45%，数据库专用引擎出货量增长达133%。2008年第4季度，System z主机系统的计算能力总交付量收入增加12%。
通过“迁移工厂”计划，IBM已经在不到1年的时间里，帮助全球150多个客户系统迁移到了IBM主机平台上，这些客户所在的行业包括物流、金融服务、综合商业及公共服务领域等。
成本过高?
在三年时间里，采用z10可以节省80%的成本。即便是对比采用虚拟化的x86服务器，z10同样可以节省70%的成本。
所谓的采购成本应该从总体拥有成本来看。大型机单机系统当然会比开放系统价格高。因为系统成本绝不仅仅是设备成本，还应包括风险代价、系统维护、能源消耗、软件授权、空间占用等众多因素在内。
IBM大型机在能耗、软件授权等方面体现出很大的优势。IBM新推出的z10在性能上相当于上千台x86服务器，但占地空间与能源消耗却大大节省。同时，新的z10还能以最高达30：1的比例整合x86软件许可证。
IBM系统与科技事业部战略联盟副总裁及首席技术官Bernard S.Meyerson博士曾为用户算过一笔账：以单路双核主流x86服务器为例，在没有虚拟化的情况下，760个x86服务器可以整合到具备26个IFL(Integrated Facility for Linux)负载的z10大型机中。在未来三年中，采用z10可以节省80%的成本。即便是对比采用了虚拟化的x86服务器，z10同样可以节省70%的成本。
System z主机提供被称为“专业引擎”的专有处理器，可支持BI、ERP、CRM和XML等应用负载。据骆志华透露，用户只需支付很少的硬件成本，每年便能节省不菲的软件授权费用。
能耗太高?
IDC研究分析，一台满配的IBM大型机可为深圳市每年节省数百万度电，甚至达到惊人的过千万度电，接近广东省廉江市1个月的工业用电量。
“用开放平台跟大型机进行能耗比较存在误区。”骆志华表示，“因为两者的处理能力和工作负载都不同。”事实上，自1995年以来，IBM不断降低System z每秒百万条指令(MIPS)的耗电量。用户可以激活更多处理器，而每个处理器的功耗只有20W。据IBM称，在某银行的核心银行应用基准测试中，与友商同等级别产品相比，IBM z9的每核心交易能耗要减少13.9%。
IBM大型机一直在关注能源消耗的问题，目前的虚拟化技术与数据集中也都是在顺应这种趋势。“新的大型机每台可整合上千台x86服务器，不仅极大地减少了占地空间，而且能够大幅减少机房制冷的能源消耗。”骆志华表示，“大型机其实是服务器绿色创新的来源，比如节省能耗的水冷技术，现在就已经拓展到了更多应用之中。”
据IBM称，2007年IBM以30台System z主机整合了3900台分布式服务器。新的计算机环境比原有环境节省80%以上的能耗(仅此一项将使IBM有望节约足够供一个美国小镇使用的电力)，并大量减少昂贵的数据中心占地空间。预计5年当中，能够为IBM在耗能、数据中心、软件使用和系统维护成本方面节省2.5亿美元。
系统封闭?
至2008年，基于大型机的独立应用总数达到5000个以上，其中近2500个基于Linux；1400多家独立软件提供商正在开发基于System z大型机的应用。
系统封闭恐怕是大型机最常为业界所诟病的，然而人们往往固化在以往的惯性认识中，而忽视了这样的事实：2000年左右，大型机就已走向开放，目前市场流行的开放技术在大型机上都已获得了支持，包括Java、Unix、Linux等，一个庞大的产业圈正在使得System z日益开放。
在大型机的简化上，IBM在2006年便宣布耗资1亿美元实施大型机简化投资项目。作为项目当中的一部分，2008年2月，IBM又宣布了新的针对System z的Rational软件，以加速System z上的应用部署和继续提高使用简便性。
专业人员断档?
全世界与IBM合作传授大型机和大型系统课程的大学已超过500所；在过去4年中，有5万多名学生接受了大型机技术培训。
IBM在主机人才培训方面早就未雨绸缪。1997年，IBM便向北京大学、复旦大学、华中科技大学和华南理工大学4所中国高校捐赠了4台IBM大型机。2005年，IBM正式启动了IBM主机大学合作项目，目前主机合作项目伙伴高校已达到13所。
骆志华对记者介绍，除了IBM主持的正规高校主机教育，在大连等大型机外包服务密集的区域，大型机培训也在悄然走热，花费上万元的大型机课程广受欢迎。
“恐龙”不老的支撑力量
大型机曾被称为业界的“恐龙”。虽然屡遭质疑，然而这只恐龙不仅没有退出舞台，反而焕发出更强的活力，矗立服务器市场近半个世纪。什么在支撑着它?安全可靠与持续创新无疑是其中最关键的因素。
大型机在可靠性、可用性和可服务性(RAS)方面的霸主地位目前仍无其他产品能够撼动。事实上，RAS是大型机45年历程一个贯穿始终的追求。而目前大型机的客户群主要就是对RAS有较高需求的企业。在金融行业，一次10分钟的故障就会造成50万美元的经济损失。虽然现在面临经济危机，但这些企业级客户对于核心业务稳定性的要求不但不会降低，反而会因为新业务的上马更加重视。
通过zVM，IBM System z目前已达到了美国政府的最高安全等级——评估保障第五级(EAL5)，这是目前世界上唯一在安全和分区方面达到该认证级别的服务器。
大型机的持续创新带来了高速处理、虚拟化、水冷等技术，为业界定下一个接一个的坚实坐标。现在，它的创新之路仍未停歇。据George Walsh透露，实时数据分析的能力正是如今大型机发展的方向。面对欺诈勘测和风险分析，用户确实已无法忍受需要一天的时间才能得到处理结果。
目前，国内政务与医保大集中的步伐在加快，中小银行的业务飞速发展，同城或异地灾备中心亟待建设，这些都是大型机的新机会。另外，在欧美市场，保险公司早已普遍采用大型机支持业务增长。随着中国保险业的发展成熟，大型机必将扮演更为重要的角色。
]]></description>
			<content:encoded><![CDATA[<p>IBM大型机至今已走过了45年的历史征程，《福布斯》杂志曾将IBM最早的大型机系统S/360列入“改变我们生活方式的85个发明”当中。如今，IBM大型机正用行动和数字拨开层层迷雾，向业界讲述着活力传奇。</p>
<p>市场逐步萎缩?</p>
<p>IDC报告显示，近10年来，IBM大型机持续获得市场，市场份额达到进一倍的增长。近年来，其增长尤为强劲。2008年第4季度，在以大型机为主的25万美元以上的高端服务器市场，IBM以占63.5%的销售额排名第一。       <span id="more-27358"></span></p>
<p style="text-align: center;"><img class="aligncenter" src="http://lh5.ggpht.com/_qwUO0oLRhSQ/ScjMrsqGkFI/AAAAAAAAAE4/EQZhiduaumQ/207ea60e29ba4cff36d122cb.jpg" alt="http://lh5.ggpht.com/_qwUO0oLRhSQ/ScjMrsqGkFI/AAAAAAAAAE4/EQZhiduaumQ/207ea60e29ba4cff36d122cb.jpg" /></p>
<p>唱衰大型机的声音由来已久。早在上世纪90年代，由于PC技术兴起，有预言家指出，大型机即将消亡。IBM System z副总裁及首席技术官George Walsh近日在回顾大型机历史时表示：“IBM在上世纪90年代经历了重大变革，我们在大型机上大胆采用了无缝技术等创新思想。可以说，没有创新，大型机早就成为历史了。”骆志华也表示：“大型机曾经一度遇到了很大的挑战，但从另一方面讲，很多用户在经过尝试和比较之后，发现他们的业务还是最适合使用大型机。近几年，评论大型机衰退的声音反而很少听到了，因为事实已经说明了大型机的市场价值。”</p>
<p>IBM财报显示，2008年第3季度，IBM System z大型机的收入同比提高了25%，并且在所有地区都呈现了两位数增长。“更为关键的是，按MIPS(以百万为单位计算的每秒钟执行指令数量)计算的System z计算能力总交付量收入，多年来一直在以两位数增长。”骆志华表示。实际上，大型机不仅受到传统客户的青睐，还拓展出新的客户工作负载。2008年上半年，IBM大型机的新增装机容量大幅飙升。例如，用于大型机的Linux专用引擎出货量增长达26%，Java专用引擎出货量增长达45%，数据库专用引擎出货量增长达133%。2008年第4季度，System z主机系统的计算能力总交付量收入增加12%。</p>
<p>通过“迁移工厂”计划，IBM已经在不到1年的时间里，帮助全球150多个客户系统迁移到了IBM主机平台上，这些客户所在的行业包括物流、金融服务、综合商业及公共服务领域等。</p>
<p>成本过高?</p>
<p>在三年时间里，采用z10可以节省80%的成本。即便是对比采用虚拟化的x86服务器，z10同样可以节省70%的成本。</p>
<p>所谓的采购成本应该从总体拥有成本来看。大型机单机系统当然会比开放系统价格高。因为系统成本绝不仅仅是设备成本，还应包括风险代价、系统维护、能源消耗、软件授权、空间占用等众多因素在内。</p>
<p>IBM大型机在能耗、软件授权等方面体现出很大的优势。IBM新推出的z10在性能上相当于上千台x86服务器，但占地空间与能源消耗却大大节省。同时，新的z10还能以最高达30：1的比例整合x86软件许可证。</p>
<p>IBM系统与科技事业部战略联盟副总裁及首席技术官Bernard S.Meyerson博士曾为用户算过一笔账：以单路双核主流x86服务器为例，在没有虚拟化的情况下，760个x86服务器可以整合到具备26个IFL(Integrated Facility for Linux)负载的z10大型机中。在未来三年中，采用z10可以节省80%的成本。即便是对比采用了虚拟化的x86服务器，z10同样可以节省70%的成本。</p>
<p>System z主机提供被称为“专业引擎”的专有处理器，可支持BI、ERP、CRM和XML等应用负载。据骆志华透露，用户只需支付很少的硬件成本，每年便能节省不菲的软件授权费用。</p>
<p>能耗太高?</p>
<p>IDC研究分析，一台满配的IBM大型机可为深圳市每年节省数百万度电，甚至达到惊人的过千万度电，接近广东省廉江市1个月的工业用电量。</p>
<p>“用开放平台跟大型机进行能耗比较存在误区。”骆志华表示，“因为两者的处理能力和工作负载都不同。”事实上，自1995年以来，IBM不断降低System z每秒百万条指令(MIPS)的耗电量。用户可以激活更多处理器，而每个处理器的功耗只有20W。据IBM称，在某银行的核心银行应用基准测试中，与友商同等级别产品相比，IBM z9的每核心交易能耗要减少13.9%。</p>
<p>IBM大型机一直在关注能源消耗的问题，目前的虚拟化技术与数据集中也都是在顺应这种趋势。“新的大型机每台可整合上千台x86服务器，不仅极大地减少了占地空间，而且能够大幅减少机房制冷的能源消耗。”骆志华表示，“大型机其实是服务器绿色创新的来源，比如节省能耗的水冷技术，现在就已经拓展到了更多应用之中。”</p>
<p>据IBM称，2007年IBM以30台System z主机整合了3900台分布式服务器。新的计算机环境比原有环境节省80%以上的能耗(仅此一项将使IBM有望节约足够供一个美国小镇使用的电力)，并大量减少昂贵的数据中心占地空间。预计5年当中，能够为IBM在耗能、数据中心、软件使用和系统维护成本方面节省2.5亿美元。</p>
<p>系统封闭?</p>
<p>至2008年，基于大型机的独立应用总数达到5000个以上，其中近2500个基于Linux；1400多家独立软件提供商正在开发基于System z大型机的应用。</p>
<p>系统封闭恐怕是大型机最常为业界所诟病的，然而人们往往固化在以往的惯性认识中，而忽视了这样的事实：2000年左右，大型机就已走向开放，目前市场流行的开放技术在大型机上都已获得了支持，包括Java、Unix、Linux等，一个庞大的产业圈正在使得System z日益开放。</p>
<p>在大型机的简化上，IBM在2006年便宣布耗资1亿美元实施大型机简化投资项目。作为项目当中的一部分，2008年2月，IBM又宣布了新的针对System z的Rational软件，以加速System z上的应用部署和继续提高使用简便性。</p>
<p>专业人员断档?</p>
<p>全世界与IBM合作传授大型机和大型系统课程的大学已超过500所；在过去4年中，有5万多名学生接受了大型机技术培训。</p>
<p>IBM在主机人才培训方面早就未雨绸缪。1997年，IBM便向北京大学、复旦大学、华中科技大学和华南理工大学4所中国高校捐赠了4台IBM大型机。2005年，IBM正式启动了IBM主机大学合作项目，目前主机合作项目伙伴高校已达到13所。</p>
<p>骆志华对记者介绍，除了IBM主持的正规高校主机教育，在大连等大型机外包服务密集的区域，大型机培训也在悄然走热，花费上万元的大型机课程广受欢迎。</p>
<p>“恐龙”不老的支撑力量</p>
<p>大型机曾被称为业界的“恐龙”。虽然屡遭质疑，然而这只恐龙不仅没有退出舞台，反而焕发出更强的活力，矗立服务器市场近半个世纪。什么在支撑着它?安全可靠与持续创新无疑是其中最关键的因素。</p>
<p>大型机在可靠性、可用性和可服务性(RAS)方面的霸主地位目前仍无其他产品能够撼动。事实上，RAS是大型机45年历程一个贯穿始终的追求。而目前大型机的客户群主要就是对RAS有较高需求的企业。在金融行业，一次10分钟的故障就会造成50万美元的经济损失。虽然现在面临经济危机，但这些企业级客户对于核心业务稳定性的要求不但不会降低，反而会因为新业务的上马更加重视。</p>
<p>通过zVM，IBM System z目前已达到了美国政府的最高安全等级——评估保障第五级(EAL5)，这是目前世界上唯一在安全和分区方面达到该认证级别的服务器。</p>
<p>大型机的持续创新带来了高速处理、虚拟化、水冷等技术，为业界定下一个接一个的坚实坐标。现在，它的创新之路仍未停歇。据George Walsh透露，实时数据分析的能力正是如今大型机发展的方向。面对欺诈勘测和风险分析，用户确实已无法忍受需要一天的时间才能得到处理结果。</p>
<p>目前，国内政务与医保大集中的步伐在加快，中小银行的业务飞速发展，同城或异地灾备中心亟待建设，这些都是大型机的新机会。另外，在欧美市场，保险公司早已普遍采用大型机支持业务增长。随着中国保险业的发展成熟，大型机必将扮演更为重要的角色。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/%e6%8f%ad%e7%a4%baibm%e5%a4%a7%e5%9e%8b%e6%9c%ba45%e5%b9%b4%e6%b4%bb%e5%8a%9b%e4%bc%a0%e5%a5%87.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>怎样采用MACRO来自动登陆你的TSO?</title>
		<link>http://www.newcoin.info/%e6%80%8e%e6%a0%b7%e9%87%87%e7%94%a8macro%e6%9d%a5%e8%87%aa%e5%8a%a8%e7%99%bb%e9%99%86%e4%bd%a0%e7%9a%84tso.html</link>
		<comments>http://www.newcoin.info/%e6%80%8e%e6%a0%b7%e9%87%87%e7%94%a8macro%e6%9d%a5%e8%87%aa%e5%8a%a8%e7%99%bb%e9%99%86%e4%bd%a0%e7%9a%84tso.html#comments</comments>
		<pubDate>Mon, 16 Mar 2009 01:52:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[macro]]></category>
		<category><![CDATA[tso]]></category>
		<category><![CDATA[功能]]></category>
		<category><![CDATA[大型机]]></category>
		<category><![CDATA[技术交流]]></category>
		<category><![CDATA[登入]]></category>

		<guid isPermaLink="false">http://newcoin.info/?p=27276</guid>
		<description><![CDATA[    每次进入大机，都要不停的输入用户名和密码，很是麻烦，今天给大家分享的是怎样采用MACRO来自动登陆你的TSO：
     通常打开PCOMM进行登陆TSO时,每次都需要手工输入各个TSO选项,TSO ID和密码等,其实每次这种固定不变的交互处理都可以通过采用Macro来实现,在PCOMM启动时再具体制定该Macro就可以实现自动操作;
    步骤一:  创建Macro.
    
    单击工具栏的Actions&#8211;>Start Recording Macro&#8230;选项。
    在弹出对话框中，输入File Name（比如：Logon.mac），默认其他选项，然后点OK确认开始录制宏。
    输入登录TSO命令（比如：TSO）。
    分别输入Userid和Password(比如：GDC001和123456)。
    成功登陆后，然后单击Actions&#8211;>Stop Recording Macro选项来完成录制宏。
    步骤二:设置自动登陆所使用的Macro.
    单击工具栏的Edit&#8211;>Preferences&#8211;>Macro/Script&#8230;&#8211;>选项
在弹出对话框中,在Macro/Script框中选择步骤一中所创建的Macro名后按OK即可;  [...]]]></description>
			<content:encoded><![CDATA[<p>    每次进入大机，都要不停的输入用户名和密码，很是麻烦，今天给大家分享的是怎样采用MACRO来自动登陆你的TSO：<br />
     通常打开PCOMM进行登陆TSO时,每次都需要手工输入各个TSO选项,TSO ID和密码等,其实每次这种固定不变的交互处理都可以通过采用Macro来实现,在PCOMM启动时再具体制定该Macro就可以实现自动操作;<br />
    步骤一:  创建Macro.<br />
    <span id="more-27276"></span><br />
    单击工具栏的Actions&#8211;>Start Recording Macro&#8230;选项。<br />
    在弹出对话框中，输入File Name（比如：Logon.mac），默认其他选项，然后点OK确认开始录制宏。<br />
    输入登录TSO命令（比如：TSO）。<br />
    分别输入Userid和Password(比如：GDC001和123456)。<br />
    成功登陆后，然后单击Actions&#8211;>Stop Recording Macro选项来完成录制宏。</p>
<p>    步骤二:设置自动登陆所使用的Macro.<br />
    单击工具栏的Edit&#8211;>Preferences&#8211;>Macro/Script&#8230;&#8211;>选项<br />
在弹出对话框中,在Macro/Script框中选择步骤一中所创建的Macro名后按OK即可;    </p>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/%e6%80%8e%e6%a0%b7%e9%87%87%e7%94%a8macro%e6%9d%a5%e8%87%aa%e5%8a%a8%e7%99%bb%e9%99%86%e4%bd%a0%e7%9a%84tso.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>大型机（mainframe）复习题库</title>
		<link>http://www.newcoin.info/%e5%a4%a7%e5%9e%8b%e6%9c%ba%ef%bc%88mainframe%ef%bc%89%e5%a4%8d%e4%b9%a0%e9%a2%98%e5%ba%93.html</link>
		<comments>http://www.newcoin.info/%e5%a4%a7%e5%9e%8b%e6%9c%ba%ef%bc%88mainframe%ef%bc%89%e5%a4%8d%e4%b9%a0%e9%a2%98%e5%ba%93.html#comments</comments>
		<pubDate>Mon, 16 Mar 2009 01:33:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[mainframe]]></category>
		<category><![CDATA[复习]]></category>
		<category><![CDATA[大型机]]></category>
		<category><![CDATA[文档资料]]></category>
		<category><![CDATA[考试题库]]></category>

		<guid isPermaLink="false">http://newcoin.info/?p=27271</guid>
		<description><![CDATA[                  大型机复习题库
1) what&#8217;s mainframe?
Mainframes systems are designed for large amounts of data in many different and interconnected ways.
Mainframe is a machine that runs a mainframe operating system. In the IBM world, this operating system is z/OS, OS/390, MVS/ESA, [...]]]></description>
			<content:encoded><![CDATA[<p>                  大型机复习题库</p>
<p>1) what&#8217;s mainframe?</p>
<p>Mainframes systems are designed for large amounts of data in many different and interconnected ways.</p>
<p>Mainframe is a machine that runs a mainframe operating system. In the IBM world, this operating system is z/OS, OS/390, MVS/ESA, VM/ESA and VSE/ESA.</p>
<p>2) what&#8217;s the advantage of mainframe?<br />
   Reliability(可靠性),recoverability,redundancy(冗余),safty,connectivity,concurrency<br />
<span id="more-27271"></span><br />
3) what&#8217;s OS/390?<br />
OS/390 is a new, integrated(完整的) enterprise server operating system environment. It incorporates(合并) into one product a leading-edge and open communication server, distributed (分布式的)data and file services, parallel sysplex(系统综合体) support, object-oriented programming, DCE and open application interfaces. </p>
<p>4) what&#8217;s the OS390&#8242;S elements ?<br />
DFSMS,SDSF,TSO,ISPF,DITTO,NETVIEW,SDFII,VTAM,JES2,RACF etc&#8230;</p>
<p>5) what&#8217;s the sysplex?</p>
<p>SYSPLEX is a collection of MVS systems that cooperate(合幷), using certain hardware and software products, to process work.</p>
<p>6) how many type physical storage are there in mainframe?<br />
Central Storage (Main Storage)<br />
Expanded Storage<br />
Auxiliary Storage</p>
<p>7) what&#8217;s jes2?<br />
A job entry subsystem (JES) is responsible for managing jobs in an OS/390 system.</p>
<p> <img src='http://www.newcoin.info/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> what&#8217;s job process stage?</p>
<p>Input<br />
Conversion<br />
Execution<br />
Output<br />
Hardcopy<br />
Purge</p>
<p>9) what&#8217;s catalog in mainfram?<br />
Master catalog is the catalog that lists all the user catalogs, system datasets and their locations.<br />
User catalog is the catalog that can be accessed and changed by users. It holds the user datasets.<br />
There are one, and only one, master catalog.<br />
The search order of catalog is:<br />
STEP CAT in job<br />
JOB CAT in job<br />
Aliases(别名) in User CAT<br />
Master catalog</p>
<p>10) How many type are	There several types of DUMP?<br />
SYMPTOM DUMP<br />
SNAP DUMP<br />
SYSDUMP<br />
SYSMDUMP<br />
SVCDUMP<br />
STAND-ALONE DUMP</p>
<p>11)what’s ISPF?<br />
ISPF (Interactive System Productivity Facility) is PDF (Program Development Facility)&#8217;s prerequisite(首先必备的) licensed program.  ISPF must be installed either before or during the installation of PDF.</p>
<p>12) What is JCL ?<br />
 JCL stands for Job Control Language,  JCL is a set of  control statement that provide the specification necessary to process a job.</p>
<p>13) What is the difference between keyword and positional parameters ?<br />
 Positional parameters are characterized(表現特色) by their position in the operand(操作數) field in relation to other parameters.<br />
Keyword parameters are positionally independent with respect to others of their type and consisting of a keyword followed by an equal sign and variable information.  </p>
<p>14) What is a DISP ?<br />
 DISP is a keyword parameter which is defined on the DD statement and which consist of the following positional subparameters: DISP=(Status, Normal Disp, Abnormal Disp). The DISP parameter describes the current status of the dataset (old, new, or modified) and directs(指示) the system on the disposition(部署) of the data set (pass, keep, catalog, uncatalog, or delete) either at the end of the step or if the step abnormally terminates(. DISP is always required unless the data set is created and deleted in the same step. </p>
<p>15) What is DISP=SHR ?<br />
 DISP=SHR permits old data sets to be shared. SHR is identical(同样的) to OLD except that several jobs may read the dataset concurrently(并发的) in multiprogramming(多道程序设计) environments. SHR must be used only for input data sets; use OLD or MOD if data set is modified.?Sharing data set is necessary because public libraries like SYS1.LINKLIB or the subroutine(子程序) libraries should be available to every job in the system. </p>
<p>16) What is DISP=MOD ?<br />
 DISP=MOD modifies a sequential(顺序的) data set. It is a convenient(方便的) way to add data to the end of sequential dataset. If the data set doesn&#8217;t exist, the system changes MOD to NEW unless the VOL parameter request specific volume. When VOL is coded, the system expects to find data set on the specified volume and terminates the step if it cannot find it. MOD is the usual way of extended data sets in to several direct-access(随机存储) volumes. </p>
<p>17) What is DISP=PASS ?<br />
 PASS passes the data set on to subsequent(后来的) job steps, and each step can use the data set once. It is a positional subparameter of the DISP which could only be specified under normal termination action. Pass saves time because the system retains(保留) the data set location and volume information. </p>
<p>18) What are the parameters that have to be coded on a DD statement in order to retrieve(找回) a cataloged data set ?<br />
 The minimum parameters needed are DSN and DISP. </p>
<p>19) How does the system get information about the block size ?<br />
 DCB info comes from :-<br />
1) Program &#8211; FD: BLOCK CONTAINS 3 RECORDS RECORD CONTAINS 100 CHARACTERS<br />
2) The label &#8211; like a tape<br />
3) From the VTOC &#8211; for Dasd<br />
4) From the JCL &#8211; DCB=BLKSIZE=nnn. </p>
<p>20) What is a Label ?<br />
 LABEL is a keyword parameter which can be specified on DD statement and consists of the following subparameters:<br />
LABEL=(Relative File #, Type of Label Processing)<br />
The LABEL parameter tells the type of label, the relative file number,and whether the data set is to be protected for input or output. </p>
<p>21) When should be NL be specified as a type of label processing ?<br />
 NL should be specified when a program needs to process unlabeled tapes, NL can also be specified when the pgm wants to create unlabeled tape because the system&#8217;s default action, in cases(万一) when parameter is not specified, will create IBM standard label. Nonlabeled tapes are often used for sending tapes to another installation. That way you don&#8217;t have to worry about the tape label corresponding(相应的) to the standards at the other installation or about accidentally matching the volume serial(连续的) number of an existing tape at the installation. </p>
<p>22) How do you describe the input data which is a part of the input job stream ?<br />
 You should use either DD * or DD Data. </p>
<p>23) What is the difference between * and Data ?<br />
 DD * and DD DATA describe the input data which follows the above mention cards. If the input data contains record switch // in col 1 and 2 then DD Data should be used.  </p>
<p>24) What is the purpose of SPACE parameter ?<br />
 It is a keyword parameter which should allocated(分配) he DD statement for the output data sets stored on the disk.It consists of the following subparameters:<br />
SPACE=(BLKS/CYL/TRK,(primary,secondary,index),RLSE,CONTIG)  </p>
<p>25) What is a RLSE ?<br />
 RLSE releases all unused space when the data set is closed. It permits you to allocate more space than perhaps, it needed without wasting space. Space is released only if the data set is not empty and if the data set is closed after being opened.  </p>
<p>26) What is a CONTIG ?<br />
 CONTIG requests the primary space be allocated only on contiguous tracks and cylinders, that is all tracks on a cylinder are contiguous, and if more than one cylinder is needed, the cylinders are also contiguous. Always code CONTIG if track overflow is used.     Contiguous-连续的</p>
<p>27) What is a PDS ?<br />
 PDS is a library type of data set organization consisting of Directory and Members. The directory consists of blocks, and each block is 256 bytes in length and can hold up to 5 members. Each member of the PDS is a sequential data set. </p>
<p>28) What is a Temporary Data Set ?<br />
 Temporary data sets are used for storage needed only for the duration of the job. If the DISP parameter doesn&#8217;t delete the data set by the end of the job, the system will delete it. Deleting a tape data set dismounts the tape, whereas deleting a dataset on a direct-access volume release the storage. A data set is marked temporary by omitting the DSN parameter or by coding DSN=&#038;&#038;dsname. The system assign a unique name to the data set when the DSN parameter is omitted, and any subsequent steps using the dataset refer back to the DD statement. Refer-提交</p>
<p>29) What is COND parameter ?<br />
 It is a keyword parameter which can be specified on the JOB or EXEC statements. COND consists of 3 subparameters:<br />
code(0 thru 4095),logical operator, and stepname of the step that is going to be compared.<br />
The purpose of the COND is to determine whether the step should be executed or bypassed. If condition specified in the COND parameter is true,the step is bypassed.  </p>
<p>30) How do you specify a COND parameter for a job step so that the step will never be executed ?<br />
 COND=(0,LE) or COND=(4095,GE). </p>
<p>31) What does COND=ONLY mean ?<br />
 It means that this job step will be executed only if a previous step had abnormally terminated. </p>
<p>32) What does COND=EVEN mean ?<br />
 It means that this jobs step will be executed even if a previous step abnormally terminated. </p>
<p>33) What is a NAME ?<br />
 Name is a positional parameter which identifies the person or group responsible for a job. </p>
<p>34) What is a PRIORITY ?<br />
 It is a keyword parameter which specifies a job initiation priority within its job class. When the job is initiated, the system will convert the job&#8217;s priority into a dispatching priority so that job&#8217;s task can complete with other tasks for use of main storage and CPU resources. </p>
<p>35) How does the system determine the priority of a job for execution ?<br />
 First the system determines which job has the highest class. Each class has a job queue with jobs of different priorities. The system will select the job for execution that has the highest PRTY (0 thru 15) 15 is the highest priority.  </p>
<p>36) What is a MSGCLASS parameter ?<br />
 It is a keyword parameter which specifies the output class to which system messages for your job are to be routed. Output class is an alphabetic (A thru Z) or numeric (0 thru 9) character. The default for MSGCLASS parameter will be A. System messages and output data sets can be routed to the same output class. You can code the MSGCLASS parameter in the Job statement and the SYSOUT parameter on the DD statement. </p>
<p>37) What is MSGLEVEL parameter ?<br />
 It is a keyword parameter which indicates what job output is to be written as a part of output listing. The following outputs can be requested: the Job statement;<br />
all input job control statements;<br />
allocation, disposition and allocation recovery messages(allocation/termination message)<br />
MSGLEVEL=(statements, messages)<br />
Statements:<br />
- 0 &#8211; only the job statement is to be written;<br />
- 1 &#8211; all input control statements, cataloged procedure statements and the internal representation of procedure statement parameters after symbolic parameters substitution are to be written;<br />
- 2 &#8211; only input job control statements are to be written;<br />
Messages:<br />
- 0 &#8211; No allocation/termination messages are to be printed unless the job terminates abnormally;<br />
- 1 &#8211; All allocation/termination messages are to be printed. </p>
<p>38) How can you check for syntax or JCL errors without actual execution of a job ?<br />
 TYPRUN=SCAN should be specified on a job card </p>
<p>39) What is the difference between the COND parameter specified on the EXEC statement and the one specified on the JOB statement ?<br />
 COND parameter specified on EXEC statement determines whether step should be bypassed or executed.<br />
COND parameter defined on the JOB statement will determine whether Job should be terminated at a certain point or continued. When COND parameter is defined on the JOB statement, the system evaluates condition specified in the COND parameter before beginning of any job step and compares the code specified in the COND parameter with the return code of all previous jobsteps. If that condition is true, the rest of the job steps are bypassed.  </p>
<p>40) What’s job card?</p>
<p>Every job will begin with a &#8216;Job Card&#8217;, which specifies the jobname, and other important information about how the job will execute.<br />
Every job you code will have a Job Card. This is the first thing you must code for every job.</p>
<p>41) how many info are there in job statement?<br />
		-Accounting Information<br />
		-Programmer<br />
		-Class<br />
		-Message Class<br />
		-Storage Required　<br />
		-Conditional Testing　<br />
		-Notify　<br />
		-Message Level　<br />
-Time　<br />
-Other Information　</p>
<p>42) what’s track? And size?<br />
Mainframe storage Unit: a track = 56664bytes=55.34KB</p>
<p>43) What’s DUMMY dataset?(虚拟的)<br />
The special DD statement (DD DUMY) enables you to ignore a dataset for the current program execution.</p>
<p>44) What’s difference between joblib and jcllib?</p>
<p>JOBLIB:Identify a private library that the system is to search for the program named in each EXEC statement PGM parameter in the job. Only if the system does not  find the program in the private library, does it search the system libraries.</p>
<p>JCLLIB:<br />
Identify the names of the private libraries that the system uses for the job. The  system searches the libraries for: Procedures named on any EXEC statements<br />
Identify the names of the system procedure libraries and installation-defined<br />
procedure libraries that the system uses for the job.<br />
Identify the order in which the libraries are to be searched. The system<br />
searches the libraries in the order in which you specify them on the JCLLIB<br />
statement, prior to searching any unspecified default system procedure<br />
libraries.</p>
<p>45) What’s differnce between in-stream procedure and catelog procedure?<br />
In-stream procedure is storaged in a job,however cataloged procedure is separated into a private library or PDS.</p>
<p>46) what&#8217;s is COBOL?<br />
 COmmon Business Oriented Language, a structure language for massive regularity datum processing.</p>
<p>47) how many type are there in cobol call procedure?<br />
    STATIC: static is included in the global link of the program, the subroutine linked in to main program and always resident<br />
    DYNAMIC: separately linked proram are called with the program name in quotes, and the subroutine are loaded into memory only when called by calling program.</p>
<p>48) why use an internal sort?please explain the COBOL internal sort?<br />
    sort file name on ascending key-allow you to include logic to be preformed before and after sort, to alter datum immediately before sorting it/reduce need for separate programs.</p>
<p>    In JCL allocate sort work space, in data division code SD, in procedure division use SORT statement with the ascending/descending key, using/ input procedure.<br />
    Please add a example done before.</p>
<p>49) Please distinguish &#8220;go to&#8221;, &#8220;exit&#8221;, &#8220;stop run&#8221;, &#8220;go back&#8221;, &#8220;continue&#8221;?<br />
 as book<br />
50) How many different level numbers can be used in COBOL to describe a record?<br />
	 01-49     </p>
<p>51) Q What is level 88?<br />
   A The level 88 in the Data Division can be used to give condition names to the values that a field contain. When this level is specified you can use the condition name instead of is = to in the IF statement. Condition name should be specified under Level 88 immediately following the field description.  </p>
<p>52) What is the difference between level 77 and 01? and which is more efficient?<br />
A Level 77 can be used to describe independent elementary items in the Working-Storage or Linkage Sections.<br />
Level 01 can be used to describe both elementary and group items. Any item described in Level 01, the system is putting on Double-Word boundary and inserts slack bytes if necessary  </p>
<p>53) Name the different PERFORM statement?<br />
PERFORM<br />
PERFORM THRU<br />
PERFORM &#8216;n&#8217; of TIMES<br />
PERFORM UNTIL<br />
PERFORM VARYING with UNTIL Option.  </p>
<p>54) What is a subscript?<br />
A Subscript represents occurrence # of the Table Entry. Subscript can be represented explicitly and implicitly. Explicitly means thru occurrence # of the table entry; implicitly means thru a data name. That data name should be defined as an independent item in the W-S Section. The most efficient definition of Subscript is Full-Word binary. </p>
<p>55) What is an index?<br />
 Index is assigned to specific table thru INDEXED BY clause. Internally is represented by Index Register which is Full-Word binary. Specific index name can be used to reference a field from the table to which that index is assigned to index represents displacement value of the table entry from the beginning of the table. </p>
<p>56) What are the different ways of an internal table search?<br />
a. Sequential Search statement. (SEARCH)<br />
b. Binary search statement.(SEARCH ALL) </p>
<p>57) What is the difference between SEARCH and SEARCH ALL?<br />
A Serial search (SEARCH) examines each table entry starting at the beginning, whereas a binary search (SEARCH ALL) starts looking at the mid-point of the table and works its way toward the argument depending upon if its too high or too low.  A serial search can be used for unsorted tables, while a binary search is only useful if the tables is sorted.  </p>
<p>58) How do change the value of an index in a COBOL programs?<br />
 A SET statement. </p>
<p>59) How many different data USAGEs can be used in COBOL?<br />
 DISPLAY, COMP, COMP-3, INDEX, POINTER. </p>
<p>60) in CICS MAP field, what&#8217;s the DFHMDF&#8217;s L indicator variable ?</p>
<p>61) what&#8217;s the conversation transaction?<br />
programs share the same procedure division but have separate working<br />
storage                                                              </p>
<p>62) what&#8217;s non-conversation transaction?<br />
program is not kept in main storage while waiting for input from<br />
terminal/program is transaction driven /release resources between executions of a task information passed<br />
between programs and task via commarea or temporary storage  </p>
<p>63)Please explain the following concept and abbreviation:<br />
  	PCT<br />
  	PPT<br />
  	JCT<br />
  	SNT<br />
  	SIT<br />
  	FCT<br />
  	TCT<br />
  	DCT</p>
<p>  	PCT PROGRAM CONTROL TABLE<br />
    TRANSACTIONS<br />
    One entry for every type<br />
    PPT PROGRAM PROCESSING TABLE<br />
    PROGRAMS/MAP SETS<br />
    Use count<br />
    JCT JOURNAL CONTROL TABLE : record system log and users’ journal<br />
    JOURNALS<br />
    SNT SIGN ON TABLE :define users’ right<br />
    SIT SYSTEM INITIALIZATION TABLE:set cics system initialized parameter<br />
    FCT FILE CONTROL TABLE:define all files that are used in cics<br />
    TCT TERMINAL CONTROL TABLE  :define terminal and system connections<br />
    DCT DESTINATION CONTROL TABLE        </p>
<p>64) What&#8217;s the link in CICS?<br />
Link sub-modules invoked/subroutines at same<br />
Logical level via twa/both pgms remain in main<br />
Storage                                       \<br />
Link to another program anticipating retu           </p>
<p>65) could you please introduce the utility&#8217;s function below?</p>
<p>idcams   DEFINES, CONSTRUCTS, BACKUP, PRINTS, DELETES<br />
iebcompr  COMPARES LOGICAL RECORDS<br />
iebcopy   COPY, COMPRESS, MERGE<br />
iehlist     LIST ENTRIES IN SYSTEM CATALOG/VTOC<br />
IEHMOVE   MOVES OR COPIES DATA SETS OR VOLUMES<br />
IEHPROGM/IDCAMS   GDGS<br />
IEBGENER   COPY/REBLOCK DS</p>
<p>66) Explain the differences between a Transaction and a Task.<br />
 Under CICS, a user can&#8217;t directly invoke a program. Instead, the user invokes a transaction, which in turn specifies the program to be run. When a user invokes a transaction, CICS locates the associated program with the transaction, loads it into storage (if it is not there), and starts a task. Where Task is a unit of work which is scheduled by CICS. The difference between transaction and task is that while several users may invoke the same transaction, each initiates a separate task.  </p>
<p>67) Distinguish between Multitasking and Multi-threading.<br />
Multi-tasking means that the OS allows more than one task to run (be executed) concurrently, regardless of whether the task use the same program or different programs. Multi-threading is the system environment, where multiple tasks share the same program under the multi-tasking environment. Programs are shared by several tasks, and for each task the program work as if it executes the instructions only for that task.  </p>
<p>68) What is the differences between operation of Pseudo-Conversational and a conversational program ?<br />
 In a conversational mode, the program accomplishes the conversation by simply sending a message to the terminal, and waiting for the user to respond, and receiving the response from the terminal. The system that sits idle without allowing an other operation while waiting for the data is called a conversational program.<br />
In a Pseudo-Conversational program, a program attempts a conversation with a terminal user, it terminates the task after sending a message with a linkage for the next task. When the user completes the response the next task is automatically initiated. Pseudo-conversational program&#8217;s uses the CICS resources such as control tables efficiently. </p>
<p>69) What is a PROGRAM CONTROL TABLE (PCT) ?<br />
 The primary function of the PCT is to register the control information of all CICS transactions. PCT contains a list of valid Trans-id paired with the name of a program CICS will load when the transaction is initiated with that transaction identifier. It identifies priority and security level (RSLC) of transaction. </p>
<p>70) What is a PROCESSING PROGRAM TABLE (PPT) ?<br />
 The Primary function of PPT is to register all CICS application programs and BMS mapsets. The PPT keeps track of which applications are loaded on the CICS address Space (storage). CICS uses this information to determine whether new copy of the program need to be loaded from Disk or it exists on storage. It contains information such as Location in memory, Library address of the disk and language being used. </p>
<p>71) What is FILE CONTOL TABLE (FCT) ?<br />
 The Primary function of FCT is to register the control information of all files, which are used under CICS. FCT contains the name and type of each file and in addition lists the file control operations that are valid for each file. It lists whether the existing records can be read sequentially or randomly, deleted or modified. Others control tables used are TCT to register terminals, DCT, TST, RCT, SIT, SRT and SNT. </p>
<p>72) What are the the basic steps of a CICS program development ?<br />
 Develop a complete set of program specifications(规格). The minimum the specifications should include program overview(概况), a screen layout for each map being used, a listing of copy members of each file used by the program. Others that are needed are include decision tables, editing rules, &#8230; </p>
<p>Design the program. Most standard COBOL programs are designed around a basic looping structure that controls the overall(总体) program execution. In a pseudo-conversational CICS program there is no basic looping structure, Instead CICS invokes your program whenever there is an interaction(互动) with a user. CICS program is to be designed to respond(回应) appropriately(适度) for each type of user action.</p>
<p>Create the necessary CICS table entries. Before you can test a CICS program, you need to make sure that all of the CICS table entries required to support the program are in place. For most programs the entries need to be added to PPT, PCT and FCT tables.</p>
<p>Prepare the BMS mapset by coding the assembler(汇编) language BMS macros(巨集) or using mapset generator.</p>
<p>Code the program. Coding the CICS programs involves writing of standard COBOL code with special CICS commands to invoke CICS services.</p>
<p>Compile the program. By either using the Foreground(前景) command level translator or a JCL, compile the CICS application program. Under which the CICS commands are commented out and replaced by appropriate calls and move statements during the pre-compile(预编译) / Translation step. In addition to translation the CICS commands the translator also inserts other code needed to process the CICS instructions. Now the Cobol Source is compiled and link-edited similar to a standard Cobol program.</p>
<p>Test the program under CICS test region. Load and run the program under the test environment and check for the functionality(功能). You can use CEMT, CEDF and CECI transactions during the test cycle.  </p>
<p>73) What is a BMS Map ?<br />
 The primary objective of Basic Mapping Support system is to free the Application Program from device dependent codes and Format. A screen defined through BMS is called a Map. There are two type of maps: Physical Map ,Symbolic Map </p>
<p>74) What is a Physical Map ?<br />
 It is the assembly language program, which are created and placed in a load (program) library. It controls the screen alignment plus sending and receiving of constants and data from and to the terminal, and has the terminal information. </p>
<p>75) What is a Symbolic Map ?<br />
 It defines the map fields used to store variable data referenced in a COBOL program. They may be placed by BMS into a Copy library and be added to the Cobol program at the compile time. </p>
<p>76) What is a Map Set ?<br />
 A group of maps, which are link-edited together is called a Mapset. </p>
<p>77) What are the BMS Macros to generate Maps ?<br />
DFHMSD &#8211; Data Facility Hierarchical Map Set Definition.It is used to define a mapset<br />
DFHMDI &#8211; Data Facility Hierarchical Map Definition Information.It is used to define a map.<br />
DFHMDF &#8211; Data Facility Hierarchical Map Data Field.It is used to define a Field in the map. </p>
<p>78) What are the 3 working storage fields used for every field on the map? What other fields are generated ?<br />
 Length field, Flag Field and Attribute field. In addition Input &#038; Output field are also created. Others are extended Color &#038; Extended Highlighting attributes created only if MAPATTS and DSATTS are specified. </p>
<p>79) What is the IBM supplied Copybook,with all modifiable attribute bytes that can be used with symbolic maps ?<br />
 DFHBMSCA </p>
<p>80) How do you place the cursor on the particular position on the screen (map)?<br />
 Define the field with IC in the BMS map. Move -1 to the length attribute of the field and use the CURSOR option without displacement value. (symbolic positioning). Use the CURSOR(nnn) option with SEND MAP, where nnn = (row-1)*80+(col-1) (physical positioning). </p>
<p>81) What is MDT ?<br />
 Bit in the attribute byte indicating modification of field on screen.If the user keys in any data into the field, it turns the MDT ON indicating that the data is modified. To save transmission time , 3270 terminal sends a field over the TC line only if the MDT is on. Otherwise, the field value is not transmitted. </p>
<p>82) What is DFHCOMMAREA ?<br />
 DFHCOMMAREA in the Linkage section is used to pass the data in working storage commarea from one to program to another program. It should be defined with as at least one byte long. As the working storage section is freshly allocated for every execution.  </p>
<p>83) What is Execution Interface Block (EIB) ?<br />
 EIB is a CICS area that contains information related to the current task, which can be used for debugging the program. The most widely used variables are EIBDATE, EIBTIME, EIBAID, EIBCALEN, EIBCPOSN, EIBRESP, EIBRSRCE (resource), EIBFN (recent CICS command code), EIBTRMID and EIBTRNID. </p>
<p>84) What are the important tables used in the CICS-DB2 environment ?<br />
 CICS manages it&#8217;s communication with DB2 with special interface modules called CICS/DB2 Attachment Facility. When a CICS program issues a SQL statement, CICS requests the attachment facility to establish a connection with DB2 called a thread. The information about the CICS transaction and DB2 is entered in Resource Control Table (RCT). The plan information is referenced through the RCT Entries. </p>
<p>85) What are the various commands used to browse through a dataset ?<br />
 STARTBR, READNEXT, READPREV and RESETBR. The options used are DATASET, RIDFLD, RRN/RBA, GENERIC, and KEYLENGTH for the 3 commands, and INTO, LENGTH for READNEXT and READPREV command, and EQUAL/GTEQ for STARTBR only. RESP can be used with any. ENDBR is used to end the browse operation. </p>
<p>86) What is 2 phase commit ?<br />
 It occurs when a programmer Issue&#8217;s an Exec CICS Syncpoint command. This is called a two phase Commit because CICS will first commit changes to the resources under its control like VSAM files, before DB2 changes are committed. Usually CICS signals DB2 to complete the next phase and release all the locks. </p>
<p>87) What are ASRA,AICA,AEY9 abend ?<br />
ASRA &#8211; Any data exception problem SOC7, SOC4 etc<br />
AICA &#8211; Runaway Task.<br />
AEY9 &#8211; DB2/IDMS Database is not up. </p>
<p>88)What’s transaction<br />
A serial of operation set<br />
Atomicity<br />
Consistency<br />
Isolation<br />
Durability</p>
<p>89) What are the differences between TSQ and a TDQ ?<br />
In Temporary Storage Queues Data is read randomly, While in Transient Data Queues data must be read sequentially.<br />
In a TSQ data can be read any number of times as it remains in the queue until the entire Queue is deleted. In TDQ data item can be read once only. To reuse the TDQ it must be closed and reopened.<br />
Data can be changed in TSQ, but not in TDQ.<br />
TSQ can be written to Auxiliary or Main Storage, while TDQ is written to Disk. Temporary storage is a holding place, while Transient data is always associated with destination.<br />
TSQ name is defined dynamically, while a TDQ name need to be defined in the DCT. Note: An application uses TSQ &#8217;s to pass info&#8217; from task to task, while a TDQ to accumulate records before processing or send data for external use, such as a print operation or other. </p>
<p>90) What are Extra partition &#038; Intra partition TDQs ?<br />
Extra-partition TDQ&#8217;s are datasets used for communication between CICS and other CICS/Batch regions. Intra-partition TDQ&#8217;s are queues for communication within CICS region. CICS stores the Intra-partition TDQ in a dataset &#8216;DFHNTRA&#8217; on the Disk. Extra-partition TDQ doesn&#8217;t have to be a disk file, it can reside on any device that&#8217;s a valid QSAM/VSAM. The DCT entry contains the destination-Id, type of TDQ, Destination, Trigger level if needed  </p>
<p>91) How is an Abend handled in a CICS program ?<br />
The HANDLE ABEND command is used to trap and Handle errors. It has 4 possible options and only one of them can be used with this command at a time. The options are Program(&#8230;) to transfer control to the program, Label(&#8230;) to transfer control to the specified paragraph, Cancel option keeps the earlier Handle Abends from being executed. Reset option will reactivate the Handle Abend commands, which were previously cancelled. </p>
<p>92) What is Quasi-reentrancy ?<br />
There are times when many users are concurrently using the same program, this is what we call Multi-Threading. For example, 50 users are using program A, CICS will provide 50 Working storage for that program but one Procedure Division. And this technique is known as quasi-reentrancy. </p>
<p>93) What&#8217;s the DB2I?</p>
<p>DB2I DB2 INTERACTIVES TO DEVELOP AND RUN APPLICATION</p>
<p>PROGRAMS/RUNS UNDER TSO/ISPF<br />
PRECOMIPLIATION PROCESS PRODUCES A DATA BASE<br />
REQUEST MODULE (DBRM) FOR BIND<br />
BIND ESTABLISHES A RELATIONSHIP BETWEEN PROGRAM AND<br />
DB2 DATA/VALADATES SQL STATEMENTS/CHECKS<br />
AUTHORIZATION/BUILD AND STORES AN APPLICATION<br />
PLAN TO ALLOW DB2 TO ACCESS DB2 DATA WHEN<br />
PROGRAM EXECUTES<br />
SPUFI SQL PROCESSOR USING FILE INPUT<br />
RUN UNDER ISPF ALLOWING USER<br />
TO ENTER SQL COMMANDS FROM<br />
TERMINAL<br />
DCLGEN PL/1 OR COBOL COPYBOOKS<br />
BIND<br />
RUN                       </p>
<p>94) what&#8217;s SQL?<br />
SQL STRUCTURED QUERY LANGUAGE    </p>
<p>95) what&#8217;s DDL?<br />
DDL DATA DEFINITION LANGUAGE DEFINE OBJECTS<br />
CREATE<br />
ALTER<br />
DROP                                                                      </p>
<p>96) What are the different data types in DB2?<br />
Smallint<br />
Integer<br />
DECIMAL<br />
FLOAT<br />
Character,Varcharacter<br />
Graphic,Vargraphic<br />
Date<br />
Time<br />
Timestamp  </p>
<p>97)What is a view ? What are the advantages and restrictions of using a view ?<br />
A view is a virtual table derived from one or more base tables. It prevents unauthorized users from having access to sensitive data. Cannot insert, delete or update a view, which is based on more than one base table.  </p>
<p>98) What is a Subquery ?<br />
A subquery is a query that is written as part of another query&#8217;s WHERE clause. </p>
<p>99) Q What is DB2 bind ?<br />
A bind is a process that builds &#8216;access paths&#8217; to DB2 tables. A bind uses the Database Request module(s) from the DB2 precompile step as input and produces an application plan. It also checks the user&#8217;s authority and validates the SQL Statements in the DBRM. </p>
<p>100) What is a plan?<br />
A plan is a DB2 (produced during the bind process) that associates one or more database request modules with a plan name. </p>
<p>101) Q What is DCLGEN?<br />
A DCLGEN stands for declarations generator; it is a facility to generate DB2 sql data structures in COBOL or PL/I programs.  </p>
<p>102) What is deadlock ?<br />
Deadlock occurs when transactions executing at the same time lock each other out of data that they need to complete their logical units of work.  </p>
<p>103) What is the equivalent cobol definiton for the datatypes in DB2 ?<br />
Smallint &#8211; S9(4) COMP or S9(4) COMP-4<br />
Integer &#8211; S9(9) COMP or S9(9) COMP-4<br />
Char(N) &#8211; PIC X(N)<br />
Varchar(N) &#8211; 01 NAME.<br />
49 NAME-LEN PIC S9(4) USAGE COMP.<br />
49 NAME-TEXT PIC X(N).<br />
DECIMAL(P,S) &#8211; If p&lt;19: S9(p-s)V9(s) COMP-3<br />
Float &#8211; USAGE COMP-2<br />
Date &#8211; pic x(10).<br />
Timestamp &#8211; pic x(26). </p>
<p>104) How do you add columns to an existing table ?<br />
ALTER table command can be used to add columns to an existing table. </p>
<p>105) Name a few utilities available in DB2 ?<br />
LOAD<br />
MERGE<br />
MODIFY<br />
QUIESCE<br />
REBUILD<br />
RECOVER<br />
REORG<br />
REPORT<br />
REPAIR<br />
RUNSTATS  </p>
<p>106) Q What are the different COLUMN functions ?<br />
A SUM-Returns the total value.<br />
MIN-Returns the minimum value.<br />
AVG-Returns the average value.<br />
MAX-Returns the maximum value.<br />
COUNT-Returns the number of selected rows.<br />
STDDEV-Returns the standard deviation of the column values.<br />
VARIANCE- Returns the variance of the column values. </p>
<p>107) Q What is commit and rollback ?<br />
 A commit occurs automatically at the end of the program, or by request one or more times during the execution of the program. Releases all locks acquired by the program since the last commit, so that other programs and users may obtain access to the data. Any open cursors are automatically closed. All database changes are made permanent.If any changes made to the tables are not appropriate, then all the changes must by rolled back resulting in the same state of data as they were prior to making changes. Release all locks acquired by the program.  </p>
<p>108) What are the types of VSAM datasets ?  </p>
<p>Entry sequenced datasets (ESDS)<br />
Key sequenced datasets (KSDS)<br />
Relative record dataset (RRDS)<br />
Linear datasets(LDS).  </p>
<p>109) What is an ESDS ?<br />
 Entry Sequenced Data Set is like a standard sequential data set.Its records are processed one at a time in the order in which they were loaded.  </p>
<p>110)What is a KSDS ?<br />
 Key Sequenced Data Set is like an ISAM file, its records may be processed sequentially or randomly based on a key value. A KSDS is often called an indexed file.  </p>
<p>111)What is a RRDS ?<br />
 Relative Record Data Set is like a nonVSAM relative file. Its records can be accessed based on their relative positions in the file.  </p>
<p>112) What is a LDS ?<br />
VSAM data set that contains data but no control information. A linear data set can be accessed as a byte-addressable string in virtual storage. </p>
<p>113)What is a CONTROL INTERVAL (CI) ?<br />
 unit of data that is transferred between auxiliary storage and virtual storage when an I/O request is made. It contains records, free space and control information.  </p>
<p>114) Explain the information contained in CI ?<br />
 Control information consists of RDF (Record Descriptor Field) and CIDF (Control Interval Descriptor Field). Every CI contains one CIDF which is a field consisting of the last 4 bytes of a CI. It contains information about the offset and the length of free space in the CI. In case of fixed size records each CI contains two RDF&#8217;s and each RDF is 3 bytes in length. In case of the variable size records,there is a separate RDF for each record in the CI. The size of the Data portion of the CI should be multiple of 512 bytes or 2,048 bytes. Max size of the CI is 32K. The size of the index portion of CI could be one of the following: 512, 1024, 2048, 4096.  </p>
<p>115) What is a CA, control area ?<br />
 A group of control intervals makes up a control area. </p>
<p>116) What is a sequence set ?<br />
A Sequence set is the part of the index that points to the CA and CI of the record being accessed. </p>
<p>117) What is an index set ?<br />
A Index set is the other part of the index. It has multiple levels with pointers that ultimately reach to the sequence set.  </p>
<p>118) What is a CI SPLIT ?<br />
 The movement of some records from an existing CI to another free CI in the same CA because a record add or update cannot be accommodated in the existing one. This results in two half-empty CI&#8217;s instead of one full and one empty CI. CI split require a number of I/O operations and this degrades the performance of the VSAM file. A right amount of the space should be allocated for the CI (internal percentage of free space allocation).  </p>
<p>119) What is a CA SPLIT ?<br />
A The movement of the half of the records in an existing CA to a new CA because a record add or update cannot be accommodated in the existing CA. This results in two approximately half-full CA&#8217;s instead of one full and one empty CA. This is very unsufisient because it involves a lot of I/O operations.  </p>
<p>120) What is an Alternate index ?<br />
An AIX is a file that allows access to a VSAM dataset by a key other than the primary one.  </p>
<p>121) What is Free space ?<br />
 Free space is reserved within the data component of a KSDS to accommodate inserting new records and the updating of records. </p>
<p>122) What is a RECORD KEY ?<br />
 Record Key indicates to the system where in the record of the VSAM file the key is located. Record key should be described in the File Section.  </p>
<p>123) What is the purpose of the START command ?<br />
To position a current record pointer on a desired record. This command should be followed by a Read statement which bring that record into the pgm.  </p>
<p>124) Name some common VSAM error conditions and codes?<br />
Common Error codes are: End of file (10), Duplicate key (22), Record not found (23), VSAM logic error (92) and Resource not available (93). </p>
<p>125) What are the IDCAMS commands that can be used for VSAM and explain each of them?<br />
ALTER modifies information for a catalog, alternate index, cluster or path. BLDINDEX builds the alternate index, ofcourse. DEFINE is used for ALTERNATEINDEX, CLUSTER or PATH. DELETE removes the catalog entry for a catalog, cluster, alternate index or path. LISTCAT lists information about the dataset. PRINT prints the dataset contents. REPRO copies records from one file to another.  </p>
<p>126) What is the purpose of the VERIFY function of IDCAMS ?<br />
The purpose of verify is to re-sync the end of file info with the catalog info.  </p>
<p>127) In the COBOL SELECT statement what is the ORGANIZATION for a KSDS ?<br />
The Organization is INDEXED. </p>
<p>128) In the COBOL SELECT statement for a KSDS what are the three possibilities for ACCESS ?<br />
 ACCESS can be SEQUENTIAL, RANDOM or DYNAMIC.  </p>
<p>129) How can you find out information about VSAM Clusters in a Catalog ?<br />
 This information is listed in the report produced by Listcat Entries function of the IDCAMS utility. </p>
<p>130) What is the relation between the Master Catalog, User Catalog, and Data Sets which could be cataloged in the User Catalog ?<br />
 Master Catalog should contain pointers to the User Catalogs. All data sets cataloged in the user catalog should have a higher level qualifier equal to the name of the user catalog. </p>
<p>131) If you wish to use the REWRITE command how should the VSAM file be opened ?<br />
 It must be opened as I/O.  </p>
<p>132) What is the significance of the SHAREOPTIONS parameter ?<br />
 It specifies how the file may be shared between jobs and between batch and CICS environments and between systems.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/%e5%a4%a7%e5%9e%8b%e6%9c%ba%ef%bc%88mainframe%ef%bc%89%e5%a4%8d%e4%b9%a0%e9%a2%98%e5%ba%93.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->