IDによるオブジェクトの検索
オブジェクトをIDで検索するには、次のステップを実行します:
-
newView()
関数を使用して、問題のビジネス・オブジェクトのプログラム・アクセス用のビュー・オブジェクトを取得 -
findByKey()
をコールし、key()
関数を使用して構築するキー・オブジェクトを渡します
新しいオブジェクトは、次に現在のトランザクションの一部として作業を保存したときに保存されます。 次の例は、ステップが実際にどのように連携するかを示しています。
// Access the view object for the custom TroubleTicket object
def vo = newView('TroubleTicket_c')
def foundRows = vo.findByKey(key(100000000272002),1)
def found = foundRows.size() == 1 ? foundRows[0] : null;
if (found != null) {
// Do something here with the found row
}
この共通操作に関連するコードを簡略化するために、次のfindRowByKey()
グローバル・ヘルパー関数を定義することを検討できます:
-
関数名:
findRowByKey
-
戻りタイプ:
oracle.jbo.Row
-
パラメータ:
vo oracle.jbo.ViewObject, idValue Object
関数定義
adf.util.logStart('findRowByKey')
def found = vo.findByKey(key(idValue),1)
return found.size() == 1 ? found[0] : null;
このヘルパー関数を定義した後、次の例ではキーごとに行を検索する簡略化されたコードを示します。
// Access the view object for the custom TroubleTicket object
def vo = newView('TroubleTicket_c')
def found = adf.util.findRowByKey(vo,100000000272002)
if (found != null) {
// Do something here with the found row
}