Örnek olarak ilişkisinin müşteri hesabı olduğu iki farklı tablodan birinin formunda datasource'daki ilgili alanın validate'ine aşağıdaki kodu yazarak işlem yaptırabilirsiniz.
public boolean validate() // MAA 27.08.2018
{
boolean ret;
ETGCustRiskLimitUpdate CustRiskLimitUpdate;
utcDateTime dateTime;
dateTime = DateTimeUtil::addDays(DateTimeUtil::getSystemDateTime(), -90);// bugünden itibaren geçtiğimiz 90 günün tarihini alır.
// DRT_CustExplainTable CustExplainTable = DRT_CustExplainTable::find(CustRiskLimitUpdate.AccountNum);
ret = super();
if(DRT_CustExplainTable::find(ETGCustRiskLimitUpdate.AccountNum).modifiedDateTime < dateTime // maa 27.08.2018
&& ETGCustomerRisk::find(ETGCustRiskLimitUpdate.AccountNum).CreditLimit < ETGCustRiskLimitUpdate.NewCreditMax
&& CustClassificationGroup::findGroup(CustTable::find(ETGCustRiskLimitUpdate.AccountNum).CustClassificationId).CustRiskLimit == NoYes::No) // müşteri sınıflandırma grubu
{
return checkfailed(strfmt("%1 carisinin müşteri detay açıklamaları alanını güncellemeniz gerekmektedir!", ETGCustRiskLimitUpdate.AccountNum));
}
return ret;
}
DRT_CustExplainTable tablosuyla ilişkisini kurabilmek için iki tablodaki tekil olan CustAccount'u kullanarak find yazıyoruz.
static DRT_CustExplainTable find(CustAccount _custAccount,
boolean _forUpdate = false) // MAA 13.08.2018
{
DRT_CustExplainTable DRT_CustExplainTable;
;
if (_custAccount)
{
if (_forUpdate)
DRT_CustExplainTable.selectForUpdate(_forUpdate);
select firstonly DRT_CustExplainTable
where DRT_CustExplainTable.CustAccount == _custAccount;
}
return DRT_CustExplainTable;
}
Hiç yorum yok:
Yorum Gönder