Posts Tagged ‘ join

ExistsJoin ve NotExistJoin ile Lookup yazmak

Merhaba

Şöyle bir istek olsun.  Seçilecek vergi numarası ne müşteri nede satıcı tablosunda kullanılmış olsun. Bu gibi bir istekte notexistjoin kullanabiliriz. Eğer müşteride veya satıcıda  kullanılanlar listelensin denseydi existjoin kullanacaktık.

client static void lookupETGVATNum (FormStringControl ctrl, Common common)
{
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters(tablenum(TaxVATNumTable), ctrl);
    Query                   query = new Query();
    QueryBuildDataSource    queryBuildDataSource = query.addDataSource(tablenum(TaxVATNumTable));
    QueryBuildRange         queryBuildRange = queryBuildDataSource.addRange(fieldnum(TaxVATNumTable, CountryRegionId));
    QueryBuildDataSource    qdbs;
    ;

// CustTable müşteri tablosunda olmayanları getiriyoruz
    qdbs  = queryBuildDataSource.addDataSource(tablenum(CustTable));
    qdbs.addLink(fieldnum(TaxVATNumTable , vatNum ),fieldnum(CustTable , vatNum ));
    qdbs.joinMode(joinmode::NoExistsJoin);

Read more

Query ile yapamadığınız bir join’i nasıl yapabilirsiniz?

Merhaba

BankAccountTable’ı lookup da açtırmak istiyoruz. Kriterlerimiz şöyle.

Lookupta  BankAccountTable.AssignedBankTransType alanı boş olanlar ve BankTransType.BankTransType   <>  BankAccountTable.AssignedBankTransType

İlişkisiyle  BankTransType’ın BankTransType.ExchangeNoteDocType’ı Çek ve senetten farklı olan kayıtlar isteniyor.

Query’de   bu join’in nasıl yapılacağını bulamadım.  Bu sebepten  temp tablo kullanmaya  karar verdim.  while select kullanarak temptabloyu doldurup.

Sonra lookup için query’ı yazdım.

Axaptada joinlerle ilgili bir makaleyi ilerki zamanlarda yayınlayacağım.

Örenk metod şöyledir.

 

static client void lookupPortfolioPromissory(FormStringControl _ctrl, CurrencyCode _filterStr)
{
    SysTableLookup                sysTableLookup = SysTableLookup::newParameters(tablenum(tmpBankAccountTable),_ctrl);
    Query                                     query = new Query();

Read more