OAF通過Iterator標準遍歷各行

2022-04-29 07:36:10 字數 1365 閱讀 4870

這兩天本人接到客戶反映的bug:oaf的採購訂單頁面,在新增超過10行提交後,會出現空指標異常。原來,oaf的預設顯示行數為10行,超過10行,頁面會分頁。報空指標異常,就是因為沒有取到分頁的行。之前的**(am裡的某個方法),我是這樣寫的:

zreqlinesvoimpl zreqvo = this.getzreqlinesvo();

int rowcount = zreqvo.getrowcount();

oaexception rowexception = null;

for (int i = 0; i < rowcount; i++)

}

可以看到,第五行的vendorrow我是通過vo來建立的,這就是問題的所在。不知為啥,vo建立的vendorrow只能取到當前頁面的行,分頁的行取不到。

解決方案:

在我一籌莫展之時,一位功能顧問告訴我,系統中有類似的**,可以參考下。於是我根據他給我找的頁面,檢視到**。原來,標準的遍歷行,是通過建立乙個iterator來遍歷的,可參見博文:  。於是修改**如下:

import oracle.jbo.rowsetiterator;// 首先要引包,不然報錯! 

//方法實現如下:

zreqlinesvoimpl zreqvo = this.getzreqlinesvo();

oaexception rowexception = null;

int fetchedrowcount = zreqvo.getfetchedrowcount();

rowsetiterator iter = zreqvo.createrowsetiterator("iter");// 建立iterator,用於遍歷

int l_setrangestart = iter.getrangestart();

int l_setrangesize = iter.getrangesize();

int l_noemptyrowcount = 0;

if (fetchedrowcount > 0)

if (vendorrow.getvendorname() != null)// 當**商名稱不為空時,判斷所填的值是否為資料庫裡存在的**商

}} // 最後也要初始化並關閉iterator

iter.setrangestart(l_setrangestart);// 需要研究下

iter.setrangesize(l_setrangesize);// 需要研究下

iter.closerowsetiterator();

}

總結:這次修改bug讓我學到了不少,關於oaf的iterator還得繼續研究下。

准入標準 測試通過標準 上線標準

1.你所在公司,是否有研發自測環節 2.這個自測範圍和內容誰提供 每個提測版本,研發都自測哪些內容 3.測試准入標準是什麼 自測未通過的,如何處理 4.測試通過標準 上線標準 001 研發自測 一般來說,都是需要 研發自測 的,甚至有些專案,研發自測完,就可以直接上線,不需要測試同學的參與 那麼自測...

效能測試通過標準

對於效能測試,在測試過程中需要通過觀察一些目標,根據這些目標的結果來判斷是否滿足要求,主要包含如下 業內對於效能測試有一些通用的通過標準,這裡給出乙個web專案效能測試通過標準,作為樣板 基本都遵循2 5 10,2s以內最佳 說明 另外需要強調的是,每個專案對於是否通過的標準不盡相同,實際執行中,優...

測試通過與失敗的標準

一般公司不同,標準也不同,以下僅為參考 測試通過與失敗的標準 系統測試執行對需求達到覆蓋100 系統功能測試,高階別和中級別測試用例100 執行,低級別用例執行率達到60 缺陷修復率達到80 及以上,且無致命及嚴重級別的缺陷未修復 測試掛起的標準及恢復的必要條件 如果測試過程中發生致命問題,導致50...