foreach循環體控制

通常情況下,在程式中的cursor定義之前,整合了l_sql變量后,轉化sql語句時,通過檢查STATUS的值來判斷sql語句是否有錯誤。
語句如:
             if STATUS then call cl_err() return end if
當sql語句正確的時候,STATUS=0,那麼if後面的語句不會執行。否則就返回值,退出這段控制。
在定義cursor后,設定一個變量l_flag='N',foreach循環完整語句:
             foreach  cursor_name  into  變量,變量
                     let  l_flag='Y'  exit  foreach
             end  foreach
             if  l_flag='Y'  then
                     call  cl_err()  return
             end  if
這裡從循環體內看出,只抓了一筆資料就設定了變量值,然後退出循環,通過檢查設定的值,產生報錯信息,并退出這段控制
可是在通過erp系統debug時,發現foreach在循環抓資料時,如果抓出的第一筆資料為空,而且循環體裡面又沒有寫判斷后contiune,那麼循環題裡面的語句將不會執行。如下圖
posted @ 2020-08-26 09:32  罗家山放牛娃  阅读(102)  评论(0编辑  收藏  举报