免费注册 查看新帖 |

Chinaunix

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

被调程序中的COMMIT操作会影响调用程序中的文件吗 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-20 11:43 |只看该作者 |倒序浏览
怪怪的问题.
程序流程大致如下:
PGMA:
FFILEA  UF      K      E  DISK  COMMIT
*LOVAL  SETLL       RECFILEA
KEY        READE      RECFILEA               50
              CALL        PGMB
              EVAL         FIELD1='S'
              UPDATE     RECFILEA          20
因为PGMB中有一个COMMIT操作,返回时对FILEA的更新操作失败.
出错信息为找不到FILEA之前定位的指针.
去掉PGMB中的COMMIT操作,则返回后更新成功.
经确认,PGMB及其相关调用程序并没有对FILEA进行任何操作.
请问各位大侠为什么会这样呢?
下级程序的COMMIT操作怎么会影响上级程序的文件指针呢.

论坛徽章:
0
2 [报告]
发表于 2004-04-20 18:00 |只看该作者

被调程序中的COMMIT操作会影响调用程序中的文件吗

PGMB中的COMMIT是对FILEA操作的吧。
能不能提供PGMB的代码?

论坛徽章:
0
3 [报告]
发表于 2004-04-21 11:55 |只看该作者

被调程序中的COMMIT操作会影响调用程序中的文件吗

"经确认,PGMB及其相关调用程序并没有对FILEA进行任何操作."
如果PGMB中的COMMIT对FILEA进行了操作,此问题就好理解了.
事实上PGMB中根本就没用到FILEA. PGMB调用的子程序,包括可能触发的TRIGGER也都没有用到FILEA.

论坛徽章:
0
4 [报告]
发表于 2004-04-21 14:31 |只看该作者

被调程序中的COMMIT操作会影响调用程序中的文件吗

Try modify your program like this:
PGMA:
FFILEA UF K E DISK COMMIT(Switch)
*LOVAL SETLL RECFILEA
KEY READE RECFILEA 50
eval Switch='2'
CALL PGMB
eval Switch='1'
EVAL FIELD1='S'
UPDATE RECFILEA 20

论坛徽章:
0
5 [报告]
发表于 2004-04-21 16:04 |只看该作者

被调程序中的COMMIT操作会影响调用程序中的文件吗

高手啊.做斑竹吧.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP