Anda di halaman 1dari 13

Catatan Belajar Microsoft Dynamics AX

Membuat Primary Key Pada Tabel

Untuk membuat Primary Key, maka kamu harus mengatur property PrimaryIndex yang
terdapat pada property tabel sesuai dengan index yang akan dijadikan sebagai Primary Key.

Ketika memilih suatu Index sebagi Primary Key, maka kita harus mengatur property Allow
Duplicates pada Index menjadi “No”.
Menampilkan 1 Record Tabel pada Infolog
Tabel dipakai adalah TableCoba dengan field – field yang diambil dari tabel SalesTable seperti yang
tampil pada gambar di bawah ini

Recordnya masih 1 saja seperti gambar di bawah ini


Di bawah ini adalah sorce code untuk menampilkan record yang terdapat dalam tabel menggunakan
Query lalu ditampilkan ke dalam infolog.

static void selectOneRecord(Args _args)


{
TableCoba TableCoba;
TableCoba TableCoba1;
;
select firstonly TableCoba
where TableCoba.SalesName == "Ariska";

info (strfmt("Sales ID : %1",TableCoba.SalesId));


info (strfmt("Sales Name : %1", TableCoba.SalesName));
info (strfmt("URL : %1", TableCoba.URL));
info (strfmt("Email : %1", TableCoba.Email));

select count(SalesId) from TableCoba1;


info (strfmt("Jumlah : %1", TableCoba1.SalesId));
}

Hasil Running :
Menampilkan Semua Record Tabel pada Infolog
Tabel dipakai adalah TableCoba dengan field – field yang diambil dari tabel SalesTable seperti yang
tampil pada gambar di bawah ini

Recordnya masih 2 saja seperti gambar di bawah ini


Di bawah ini adalah sorce code untuk menampilkan record yang terdapat dalam tabel menggunakan
Query lalu ditampilkan ke dalam infolog.

static void selectAllRecordsStatic(Args _args)


{
TableCoba TableCoba;
int records;
;
info("------------------START-------------------");
while select TableCoba
{
info("--------------NEW RECORD--------------");
info (strfmt("Sales ID : %1",TableCoba.SalesId));
info (strfmt("Sales Name : %1", TableCoba.SalesName));
info (strfmt("URL : %1", TableCoba.URL));
info (strfmt("Email : %1", TableCoba.Email));
records++;
}
info("------------------END-------------------");
info(strfmt("%1 records was selected", records));
}

Hasil Running :
Tulus Report

Pada class declaration, tulis cource code di bawah ini :


public class ReportRun extends ObjectRun
{
Query query2,
query3;
QueryBuildDataSource queryBuildDataSource;
QueryRun SalesTable2,
SalesTable3;
SalesIdBlanket blanket;
SalesTable salesSO;
SalesIdBase _salesId;
SalesLine salesLine;
}

Source Code pada Programmable Section

display SalesOrderedQty salesQty()


{
_salesId = SalesSO.SalesId;
return salesLine::find(_salesId).SalesQty;
}

display ItemIdSmall itemId()


{
// salesSO = SalesTable2.get(Tablenum(SalesTable));
_salesId = SalesSO.SalesId;
return salesLine::find(_salesId).ItemId;
}

display SalesIdBlanket reference()


{
return blanket;
}

display SalesType salesType()


{
// salesSO = SalesTable2.get(Tablenum(SalesTable));
return SalesSO.SalesType;
}

display SalesIdBase salesId()


{
// salesSO = SalesTable2.get(Tablenum(SalesTable));
return salesSO.SalesId;
}
public void executeSection()
{
query2 = new Query();
queryBuildDataSource = query2.addDataSource(Tablenum(SalesTable));
SalesTable2 = new QueryRun(query2);

while(SalesTable2.next())
{
salesSO = SalesTable2.get(tablenum(SalesTable));
If( salesSO.salesIdBlanket() == blanket)
{
super();
}
}
}

Method pada SalesTable_Body

display ItemIdSmall itmId()


{
;
return salesLine::find(SalesTable_1.SalesId).ItemId;
}

display SalesOrderedQty salesQty()


{
;
return salesLine::find(SalesTable_1.SalesId).SalesQty;
}

display real delivered()


{
;
return salesLine::find(SalesTable_1.SalesId).deliveredInTotal();
}

display real outstanding()


{
return (salesLine::find(SalesTable_1.SalesId).SalesQty
- salesLine::find(SalesTable_1.SalesId).deliveredInTotal());
}

public void executeSection()


{
if(SalesTable_1.salesIdBlanket() == "")
{
blanket = SalesTable_1.SalesId;
super();
element.execute(1);
}
}

//BP Deviation documented


display SalesIdBlanket salesIdBlanket()
{
return SalesTableLinks::find(SalesTable_1.SalesId).MainSalesId;
}

Source Code Pada PageHeader

display str QtyOuts()


{
return "Outstanding Qty";
}

display str QtyDelv()


{
return "Delivered Qty";
}

display str QtySO()


{
return "SO Quantity";
}

display str ItemId()


{
return "Item Id";
}

display str RefSO()


{
return "Referensi SO";
}

display str TypeSO()


{
return "Type SO";
}

display str SalesId()


{
return "Sales Id";
}

Menambahkan Form, Report, atau Job di Menu

1. Buka AOT, pilih Menu Item

Display untuk Form, Output untuk Report, dan Action untuk Job
2. Drag object yang bersangkutan ke menu item, lalu simpan. Misalkan saja kita masukkan 3
form ke dalam Display. Nama fomnya SalesAreaSOCode, SalesmanForm, SalesAreaForm.
3. Drag kembali object yang telah dimasukkan ke dalam menu item ke Menus yang
bersangkutan. Misalkan saja pada AOT Menus, lalu pada folder Cust, lalu ke folder Setup,
lalu ke folder User Defined , kemudian Save

4. Untuk melihat hasilnya :

5. Hasilnya :
Menampilkan Total pada Programmable Section
public void executeSection()
{
if (totalsPerLedgerAccount)
{
subTotal_1.modelFieldName(amountMST.name());
total_1.modelFieldName(amountMST.name());
}
super();
}

Memakai Method Find untuk menampilkan nama item dari itemID

display name Itemname()


{
return inventtable::find(custinvoicetrans.ItemId).ItemName;
}

Anda mungkin juga menyukai