基于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到达文件边缘,没有记录可读
ILLOGICVSAM错误
INVREQ浏览命令错误,通常是没有在读取之前启动浏览
IOERR底层输入输出错误
NOTFND命令中指定的记录没有找到
NOTOPEN文件没有打开(FCT中配置属性问题)






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值