在一个副项目上,我使用一组视图来识别iSeries物理文件集中的记录争用。
一旦确定,我想做的就是拉用户个人资料以锁定记录,然后将中断消息作为信息性中断消息发送到他们的终端。
我发现的是QEZSNDMG API。足够简单,可以交互使用,但是我试图将一个命令与QCMDEXC API结合使用,以发出对QEZSNDMG的调用,并提醒用户他们正在锁定记录。
回顾IBM documentation of the QEZSNDMG API,我发现有两组选项参数,但没有必要的参数(这对我来说似乎很奇怪,但又有一天是另一主题)。但是我继续收到错误消息“通过CALL传递的参数与所需的参数不匹配。”
这是到目前为止我从命令行尝试过的一些示例:
注意:如果可能的话,我想避免使用CL或RPG程序,但是我可能会使用我在发布之前发现的许多示例之一来了解它。只是想在走那条路之前先用尽这个选项。
更新 登录后,我使用WRKMSGQ查看分配给我的工作站的消息队列。有两个:QSYS / DOUGLAS和QUSRSYS / DOUGLAS。然后,我发出了SNDBRKMSG,对我的工作站没有任何影响(IE,该消息没有中断我的会话):
我意识到,如果我在工作的TOMSG参数中提供了工作站会话名称:
答案 0 :(得分:1)
我正在寻找使用SNDBRKMSG。
一些正确的方向使我意识到工作站会话ID位于QSYS2.RCD_LOCK的字段JOB_NAME(作业号/用户名/工作站)中。
提取工作站ID使我能够向QCMDEXC创建格式正确的SNDBRKMSG命令,并提醒用户他们正在锁定另一进程所需的记录。