Saturday, March 22, 2014

Cara mem-filter Dimension Attribute pada SSRS Report

Berikut adalah contoh bagaimana cara mem-filter Dimension Attribute pada SSRS Report.<br />
Method processReport dibawah ini adalah method yang terdapat pada class Report Data Provider (DP Class).

Contoh:

[SysEntryPointAttribute(false)]
public void processReport() {
   Query _qry = new Query(querystr(CustTransOpen));
   ContractClass _contract;
   QueryBuildDataSource _qbds = _qry.dataSourceTable(tableNum(CustTrans));
   QueryRun _qrun;
   ;
   // Get contract
   _contract = this.parmDataContract() as ContractClass;

   // set range if dimension2 filled
   if( _contract.parmDimension2() ) {
      SysQuery::addDimensionAttributeRange(_qry
           , _qbds.name()
           , fieldStr(CustTrans, DefaultDimension)
           , DimensionComponent::DimensionAttribute
           , _contract.parmDimension2()
           , "Dimension 2 Name"
           , true
      );
   }

   _qrun = new QueryRun(_qry);
   while( _qrun.next() ) {
      this.insertTmpTable();
   }
}

Thursday, February 20, 2014

Cara Mengakses External Database Menggunakan TSQL dari X++

Sebagai developer AX pasti ada satu saat dimana kita perlu untuk menghubungkan program kita ke database external
AX sudah menyiapkan beberapa class (OLEDB) yang dapat kita gunakan untuk hal tersebut. Tetapi pada artikel ini kita akan menggunakan ODBCConnection class

Untuk membuat DSN, masuk ke Administrative Tools > Data Sources (ODBC)
DSN dapat dibuat disisi client atau di sisi AOS.

Tuesday, February 18, 2014

Cara Mengakses Database menggunakan TSQL dari X++

Salah satu cara untuk mengakses record pada database dapat menggunakan TSQL. Karena lebih banyak yang familiar query menggunakan TSQL daripada query menggunakan standard AX Berikut adalah contoh mengambil record dari table CustTable yang ada didalam sistem Axapta.

Saturday, January 11, 2014

Cara Membuat Query Range untuk Field Tipe Tanggal

Untuk mem-filter query dengan tipe tanggal di Microsoft Dynamics AX 2012 dapat menggunakan class SysQueryRangeUtil::day(int)

Contoh:

static void jobs1(Args _args)
{
                 Query query = new Query();
                 QueryBuildDataSource qbds;
                 QueryBuildRange qbr;
                 ;
                 qbds = query.addDataSource(tableNum(LedgerJournalTrans));
                 qbr = qbds.addRange(fieldNum(LedgerJournalTrans, TransDate));
                 qbr.value('<'+queryValue(SysQueryRangeUtil::day(-50));
                 ..
                 ..
                 ..
}