数据集的记录格式

 数据集记录格式 传统的z/OS数据集是面向记录的。正常使用下,它没有PC系统和UNIX系统中的 字节流文件。(z/OS UNIX有字节流文件,而且字节流函数也存在于其余特定区域 中。这些不是传统的数据集。) 在z/OS中,没有新行(NL)或回车换行(CR+LF)字符来指示记录的结束。在一个给 定的数据集里,记录能够是定长或变长的。例如,当用ISPF编辑数据集时,每一 行都是一个记录。 LRECL 最大记录长 度— 数据集 DCB 属性之一。 172 Chapter 5. Working with data sets     第5章  数据集操做  133 传统的数据集能够有以下五种记录格式: F-Fixed   定长不组块记录格式是指磁盘上的一个物理块就是一 个逻辑记录,而且全部的块/记录大小相同。该格式很 少用。 FB-Fixed Blocked   定长组块记录格式是指一些逻辑记录组合成一个物理 块。这能提供有效的空间利用和操做。该格式一般适 用于定长记录。 V-Variable   变长不组块记录格式是指一个逻辑记录就做为一个物 理块,变长逻辑记录包含一个记录描述字(RDW),之 后是数据。 记录描述字是一个4字节的用来描述记录的 域。前2位包含了逻辑记录的长度(包括这4字节的 RDW)。长度能够从4到32760字节。第3和第4字节必 须是0,由于其余值是用来表示跨范围记录的。该格式 不多被使用。  VB-Variable Blocked     变长组块记录格式,是指一个物理块由若干条变 长逻辑记录组成,每条记录都有RDW描述。软件必须 在块的开始处放一个附加的块描述字(BDW),里面包 含了整个块的长度。 U-Undefined    无定义格式,  该格式是由没有预约义结构的变长 的物理记录/块组成的。虽然这种格式可能对许多特殊 的应用程序来讲颇有吸引力,可是它一般只用于可执 行模块。 咱们必须强调块和记录之间的区别。块是写在磁盘上的而记录是一个逻辑实体。 这里提到的术语在z/OS环境中都是广泛使用的。关键的术语有: ►  块大小(BLKSIZE)是针对F和FB记录的写在磁盘上的物理块大小。对V,VB 和U记录格式,是数据集可使用的最大物理块大小。 ►  逻辑记录大小(LRECL)是数据集的逻辑记录的大小(F, FB)或容许的最大逻辑 记录大小(V,VB)。U格式记录没有LRECL。 ►  记录格式(RECFM)有F,FB,V,VB或U,正如前面介绍的。 这些术语都是数据控制块(DCB)特性,这是根据它们在汇编语言程序中定义的控 制块来命名的。建立一个新数据集时,用户应该给这些参数指定参数值。数据集 的类型和长度是根据记录格式(RECFM)和逻辑记录长度(LRECL)来决定的。固定 长度的数据集的RECFM多是F,FB,FBS等。变长数据集的RECFM多是V, VB,VBS等。 RECFM=FB及LRECL=25是一个固定长度(FB)的数据集,记录长度为25个字节 (B表示blocked)。 对一个FB数据集来讲, LRECL告诉您数据集中每一个记录的长度; 几乎全部记录都是同样长的。FB记录中第一个数据字节在位置1。LRECL值为25 的FB数据集中一条记录多是这样的:   位置1-3:  Country Code = ‘USA’   位置4-5:  State Code = ‘CA’ 块大小 是针对 F 和 FB 记录的 写在磁盘上 的物理块大 小。 RECFM 记录格式; 是数据控制 块特征之 一。 174 173134  Introduction to the New Mainframe: z/OS Basics   新型主机介绍:z/OS基础     位置6-25:  City = ‘San Jose’ 右边用12个空格填满。 RECFM=VB,LRECL=25的数据集是一个变长的数据集,最大记录长度为25个字 节。 在一个VB数据集中, 记录长度能够不一样。 每一个记录的头四个字节包含了RDW, RDW的头两个字节包含了那条记录的长度(以字节为单位)。一条VB记录的第一个 数据字节位于位置5,在4个字节的RDW以后。LRECL值为25的VB数据集的一条 记录多是这样的: 位置1-2:    Length in RDW = hex 0011 = decimal 17 位置3-4:    Zeros in RDW = hex 0000 = decimal 17 位置5-7:    Country Code = ‘USA’ 位置8-9:    State Code = ‘CA’ 位置10-17:City = ‘San Jose’
相关文章
相关标签/搜索