基于CICS的COBOL程序顺序文件处理
CICS顺序文件处理中,使用浏览(browse)概念来进行操作。因而这些操作包括开启浏览,执行文件记录读取(正向/反向),关闭浏览等。
由于是CICS命令,在COBOL中使用时,必须包含在EXEC CICS语句对中。
浏览可以用于访问VSAM文件,包括PDS,ESDS, KSDS和RSDS。
1. 开启浏览(Start Browse)命令 STARTBR,命令格式:
STARTBR FILE(<file>) FCT中的文件名
RIDFIEILD(<data>) 定义起始位置,可以是索引键值(Key),RRN或RBA
[RRN | RBA] 指示起始位置表述是RRN(Relative Record Number用于RRDS)还是RBA
(Relataive Byte Addres用于ESDS或KSDS)
[GTEQ | EQUAL] 起始于第一个键值大于等于或严格等于指定索引键值的记录
(故只对RIDFIELD为索引键有效)
[GENERIC] 只对KSDS有效,指示仅部分RIDFIELD指定的键值被使用
[KEYLENGTH(data | literal)] 和GENERIC共用,用于指示键长。二进制半字长或字面值
[RESP(<response-code>)] 返回条件值
如果找到没有匹配记录,则返回NOTFND条件值,否则返回NORMAL条件值。
2. 顺序读取(前向READNEXT / 反向READPREV),命令格式:
{ READNEXT | READPREV } FILE(<file>) FCT中的文件名
INTO(<data>) 读出数据的存放位置
RIDFLD(<data>) 位置指针,和开启浏览相承,会随着读取而相应前进或后退;
用户也可在读取之前指定之从而设定读取位置
[RRN | RBA] 起始位置表述内容,类似于开启浏览
[KEYLENGTH(~)] 类似于开启浏览
注意:使用GENERIC开启的浏览,无法使用反向阅读。
3. 关闭浏览命令ENDBR,命令格式:
ENDBR FILE(<file>) FCT中的文件名
4. 重置浏览命令RESETBR,命令格式:
RESETBR FILE(<file>)
RIDFLD(<data>)
[RRN | RBA]
[GTEQ | EQUAL]
[GENERIC]
[KEYLENGTH(~)]
其参数和开启命令类似,起作用是重新开始一个已经打开的浏览
返回条键值表:
| 条件值 | 原因 |
| FILENOTFOUND | 文件没有在FCT中定义 |
| ENDFILE | 到达文件边缘,没有记录可读 |
| ILLOGIC | VSAM错误 |
| INVREQ | 浏览命令错误,通常是没有在读取之前启动浏览 |
| IOERR | 底层输入输出错误 |
| NOTFND | 命令中指定的记录没有找到 |
| NOTOPEN | 文件没有打开(FCT中配置属性问题) |
enjoy every minute of an appless, googless and oracless life

浙公网安备 33010602011771号