需求:在設定付款條件時不允許賬期+付款方式重複。
由於本次需求僅需要對vo快取中的資料進行重複性校驗,所以僅需進行快取遍歷即可,不需要校驗資料庫。
方式1,在eorow的進行資料校驗。
public2.在vorow中進行校驗,void
setpaymenttermsid(number value)
setattributeinternal(paymenttermsid, value);
}public
void
setpaymentmethod(string value)
setattributeinternal(paymentmethod, value);
}public
void
validaterepeat(number payterms,string paymethod,string cloumn)
if("method".equals(cloumn))
throw
newoaattrvalexception(oaexception.typ_entity_object,
getentitydef().getfullname(),
getprimarykey(),
"payprovisiontempid", currentstr,
"cux",
"cux_po_pay_provi_validation"); //
message name
} }}
public在實際的使用中存在以下需求,不僅要對vo中未提交的快取進行校驗,同時要校驗資料庫中已存在的值。void
setpaymenttermsid(number value)
setattributeinternal(paymenttermsid, value);
}public
string getpaymentmethod()
public
void
validaterepeat(number payterms,string paymethod,string cloumn)
if("method".equals(cloumn))
throw
newoaattrvalexception(oaexception.typ_view_object,
getviewobject().getfullname(),
getkey(),
"payprovisiontempid", currentstr,
"cux",
"cux_po_pay_provi_validation"); //
message name
} }}
方法1.使用標準的同時掃瞄eorow和table的方式,如果存在結果集,則說明該值已存在。
參考:同時查詢資料庫和快取中的資料
public方法二:在eo或者vo快取中進行校驗之後再呼叫查詢方法查詢資料庫中是否已存在值boolean
attachmentexistsincacheordb( string entityname, string pkvalues)
vo.addquerymode(vo.query_mode_scan_database_tables |vo.query_mode_scan_entity_rows);
viewcriteria vc =vo.createviewcriteria();
viewcriteriarow vcr =vc.createviewcriteriarow();
//設定標準查詢引數,可以多個,引數與attribute型別一定要一致
vcr.setattribute("entityname", entityname);
vcr.setattribute("pk1value", pkvalues[0]);
vcr.setconjunction(viewcriteriarow.vcrow_conj_and);
vc.addelement(vcr);
vc.setcriteriamode(viewcriteria.criteria_mode_query |viewcriteria.criteria_mode_cache);
vo.clearcache();
vo.reset();
vo.setwhereclause(
null
); vo.setwhereclauseparams(
null
); vo.setmaxfetchsize(-1);
vo.executequery();
if(vo.hasnext())
} else
return
atchexists;
}
eorowimpl
publiccategoryentityexpert類void
setitemcategoryid(number value)
}setattributeinternal(itemcategoryid, value);
}public
static
categoryentityexpert getcategoryentityexpert(oadbtransaction txn)
public
static
categoryentityexpert getcategoryentityexpert(oadbtransaction txn)
mport oracle.jbo.domain.number;import
import
public
class categoryentityexpert extends
oaentityexpert
return
exists;}}
categoryidvvo1是在am中例項化的validatevo,通常vvo就是用於驗證的vo
在vi或者vim中顯示行號
1.為了顯示行號,在vi vim編輯器中執行一下命令中的一條 set number 或者 set nu 2.為了關閉行號,在vi vim編輯器中執行下面命令 set nu 如果你想要每次啟動vi vim,顯示行號,新增下面的命令到 vimrc檔案中,如果.vimrc檔案不存在,則建立該檔案。set ...
r或者 r 在python中的意思
這兩個都是python的轉譯字元,類似於 r,d,f 有過c語言基礎的朋友應該會比較容易上手吧?簡單的例子 a 123 b hello,format a b hello,123 上面的例子用的是format,跟直接 效果類似。例子二 a 123 b hello,r a b hello,123 這對一...
在CMD或者Terminal中,改變輸出字元的顏色
網上很多文章都是講的基於linux的terminal的,但是他們居然事先沒有強調他們的系統,我們知道linux與windows字元編碼還是有很大區別的,同乙個符號代表不同的意思。比如 其實他們應該都是基於linux的,因為我發現window的cmd或者powershell,這些命令不管用。就算lin...