免费注册 查看新帖 |

Chinaunix

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

check记录是否被lock住. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-06 17:02 |只看该作者 |倒序浏览
我想在update记录前判断记录是否被lock; 用什么方式比较简单.

论坛徽章:
0
2 [报告]
发表于 2011-01-07 16:56 |只看该作者
In older RPG you can use *PSSR.  In a newer program u can use a MONITOR block.

But in usual, before update a record, we need lock it, if it is locked successful, then update it.
if locked unsuccessful, report it.

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-08-03 06:20:00
3 [报告]
发表于 2011-01-07 17:04 |只看该作者
CHAIN WITH OUT LOCK 好像是CHAIN N  再相应判断指示器,具体查IBM红皮书,有例子

论坛徽章:
0
4 [报告]
发表于 2011-01-07 19:35 |只看该作者
LZ概念有没有搞清楚先?
要UPDATED的必要条件,必须是记录被锁,也就是对应之前的操作一定要有CHAIN 或者READ的动作去读到记录并且锁住记录
如果你非要说判断的话,那你UPDATE后面加个指示器去判断UPDATE是否成功

论坛徽章:
0
5 [报告]
发表于 2011-01-07 19:50 |只看该作者
如果非要判断的话,用%status ba

论坛徽章:
0
6 [报告]
发表于 2011-01-07 21:42 |只看该作者
在UPDATE之前会用到Chain:
CL0N01Factor1+++++++Opcode&ExtFactor2+++++++Result++++++++Len++D+HiLoEq
C     KEY         CHAIN  RFM                                                                                        53   

Hi位的indicator指示记录是否存在
Lo位的indicator指示记录是否正在被使用 ,*ON表示正在被使用
Eq位好象是错误指示,不太记得了

论坛徽章:
0
7 [报告]
发表于 2011-01-17 13:49 |只看该作者
顶一下

论坛徽章:
0
8 [报告]
发表于 2013-12-20 11:15 |只看该作者
我想他要表达的意思是之前是否有锁这条记录的

论坛徽章:
0
9 [报告]
发表于 2014-03-11 13:53 来自手机 |只看该作者
顶!

chain操作,lo指示器就是记录锁指示器。
如果别的JOB锁住某条记录,当前程序chain的时候不会等待解锁,而是直接执行下一条语句。此时lo指示器为*on

如果lo处为空,则chain语句会以阻塞的方式等待该条记录解锁,或者超时。

论坛徽章:
0
10 [报告]
发表于 2014-03-25 13:55 |只看该作者
在程序里面判断记录是否被锁, 建一个FILE INFORMATON DATA STRUCTURE:

FMYFILE    IF   E           K DISK                     
F                                     INFDS(FIDS01)   
。。。
D FIDS01          DS                                            
D  STS01            *STATUS               

读记录后检查字段 STS01 的返回值,如果是  1218 就表示记录被锁。

在命令行检查,用

DSPRCDLCK 命令。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP