Posts Tagged ‘ crosscompany

X++ :20- CrosCompany Nedir?

Bu yazıda X++ sorgu anahtar kelimelerinden crossCompany inceleyeceğim. Öncelikle uygulamanın şirket yönetimini anlamak gerekiyor.

Uygulamadan istediğiniz kadar şirket tanımlayabiliyorsunuz. Kullanıcılar uygulamaya girdiğinde bir şirkette işlem yapıyorlar. İstedikleri zaman şirket değiştirebiliyorlar. Tablolarda DataAreaId sayesinde verilerin hangi şirkete ait olduğu tutuluyor. Eğer bir tablonun verisi şirket bağımsız olsun diyorsanız ayarlayabiliyorsunuz. Ancak bu tip tabloların dışında yaptığınız bütün işlemler bulunduğunuz şirkette gerçekleşiyor. Bir sorgu yazıp verileri görmek istediğinizde siz Range olarak şirket vermezseniz bile sistem SQL’e giden koda otomatik bulunduğunuz şirketi ekliyor. Bazı durumlarda iki faklı şirketin verisini tek bir sorguda görmek isteyebilirsiniz. Bunun için crossCompany kullanılıyor. Bir örnek yapalım.

static void FDDataAccessCrossCompany1(Args _args)

{

CustTable custTable;

container companies;

;

companies = ["USMF", "USF", “DMR”]; // Kaç şirkette sorgu yapmak istiyorsam buraya ekleyebilirim.

while select crossCompany : companies custTable // crossCompany ile oluşturduğum Container’ı veriyorum

where custTable.AccountNum like “M00032*”

{

info(strFmt(“%1 : %2 : %3″, custTable.AccountNum, custTable.Name(), custTable.dataAreaId));

}

}

Bu sorgunun SQL kodunda or ile şirket kodlarının eklendiğini görürsünüz bu sayede eklenen şirketlerdeki veriler alınabilir.  Sistem şirketler arası birçok işlem yapmak gerekiyor bu yüzden bu yapıları iyi bilemek işiniz kolaylaştırır. crossCompany Query’de de kullanılır. Dolayısıyla birden çok şirket verisi gösteren View ve Form yapabilirsiniz.

Selamlar.

www.fatihdemirci.net

TAGs: X++, crossCompany, Azure, Azure DevOps, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365

Cross Company ile query yazmak

Merhaba

Bu yazımda birden çok şirketin verilerini gösteren bir formda seçilen kayıtların hangi şirketlerde olduğunu bulan bir metod öreneği var.

void groupByCompany()
{
    TmpFrmVirtual   tmpTmpFrmVirtual;
    PurchReqLine    tmpPurchReqLine;

    str 10          dizi[];
    int             i,j;
    Query           query;
    QueryRun        qRun;

    ;

Read more