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

How do I skip to the next record on a find within a for each progress4gl?

我一直在研究在另一个 for each 中运行 for each 并在其中运行 find 的代码,我需要跳过 [= 找到的记录13=] 语句如果它与第二个 for each 的值不匹配,但我无意中跳过了第一个 for each.

上的 table
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>,而是跳过 <table>,有没有办法解决这个问题?

版本:

OpenEdge 版本 10.2B

警告: 我是一个正在进步的新手

非常不清楚您要做什么。但也许就是这样:

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.

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

但是在处理嵌套循环时,使用块标签来控制下一个循环总是更容易。 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.