如何跳转到每个progress4gl的查找中的下一条记录?

时间:2016-02-15 17:58:47

标签: progress-4gl openedge

我一直在处理一个代码,该代码在另一个for eachfor each内运行find,我需要跳过{{1}找到的记录}如果它与第二个find的值不匹配,但是我无意中在第一个for each上跳过表。

for each

而不是在找不到for each <table>. for each <table1>. find <table2> where <table2>.<code> = <table1>.<code> no-lock no-error. if not avail <table2> then next. end. end. 时,它正在跳过<table1>,有没有办法解决这个问题?

OpenEdge版本10.2B

警告: 我是进步的新手

2 个答案:

答案 0 :(得分:1)

目前还不清楚你要做什么。但也许就是这样:

for each table1 no-lock:

  find table2 no-lock where table2.code = table1.code no-error.

  if available table2 then
    do:
      /* do something that involves table2 */
    end.
   else
    do:
      /* do stuff that does not involve table2 -- in other words "skip it" */
    end.

end.

答案 1 :(得分:1)

我也不太清楚你要求的是什么......

但是在处理嵌套循环时,总是更容易使用块标签来控制下一个循环。 outerloop和innerloop只是循环的任意选择名称。

outerloop:
for each <table>:
   innerloop: 
   for each <table1>:
      find <table2> where <table2>.<code> = <table1>.<code> no-lock no-error.
      if not avail <table2> 
      then next innerloop .
   end.
end.