我的代码像这样:

femp        uf   e           k disk                   
dvar1             s              5p 0                
c     *loval        setll     emp                   
c                   read      emp                   
c                   dow       not %eof(emp)         
C                   eval      ecode = ecode + 10     
c                   eval      var1=ecode             
c                   update    recemp               

c     var1          setgt     emp                   
c                   read      emp                   
c                   enddo                            
c                   eval      *inlr=*on

这是一个名为EMP的文件,带有记录格式名称recemp,带有Ecode作为密钥...

现在,当我读取文件,然后在不使用setGT的情况下更新ecode。

现在,当我使用SET GT指针时,选择下一个记录,但是当两个Ecode值相同时,它会起作用...否则,它也不会与降序关键值一起使用...

是否有任何解决方案,以便我可以设置指针,无论其值是相同还是上升或下降的事实。

有帮助吗?

解决方案

您想在文件“ emp”中的每个记录中更新“ ecode”字段 - 是吗?如果是这样,只需使用另一个“读取”而无需“ setgt”,它就可以了。

uf e k disk
c *loval setll emp
c read emp
c dow not %eof(emp)
C eval ecode = ecode + 10
c update recemp

c read emp

c enddo
c eval *inlr=*on 

其他提示

如果要在每个记录中更新密钥值,则应以到达顺序打开文件(不要在F-Spec中使用“ k”)。另外,除非您专门尝试跳过记录,否则请勿在循环中使用SETGT。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top