Inventory dimension di Ax 2009

Bagaimana caranya create inventory dimension di Ax 2009 by code ?😀 sudah lama ngga pegang versi 2009, sekarang bersua lagi dan sepertinya akan bercinta lebih lama lagi dengan dia hihihi

Begini caranya :

Ada 1 method di dalam table InventDim yang bertugas untuk mencari dan membuat baru Inventory Dimension. Namanya findOrCreate().

Method ini bisa dipakai untuk membuat jika sebelumnya sudah dicari dan tidak ketemu. Berikut di bawah ini contoh kode yang saya tulis :

inventdim.clear();
inventdim.InventSiteId = locInventSiteId;
inventdim.InventLocationId = locInventLocationId;
inventdim.wMSLocationId = locWMSLocationId;

Kode di atas untuk memasukkan nilai awal untuk Site, Location dan Warehouse. Setelah dapat nilai awalnya, maka method findOrCreate bisa dijalankan :

InventDim::findOrCreate(inventDim)

Perhatikan, ada perbedaan antara InventDim dan inventDim. Untuk yang pertama : InventDim, menunjuk ke table InventDim secara langsung. Untuk yang kedua : inventDim, adalah variable yang merefer dari table InventDim. Sama aja sih sebenarnya lokasi penunjukannya, sama-sama ke table InventDim. Perbedaannya hanya di waktu penggunaannya.

Hasil dari method findOrCreate adalah terbentuknya 1 record baru di table InventDim dengan konfigurasi Site, Location dan Warehouse sesuai yang kita inginkan.

Kalau ingin membuat Inventory Dimension dengan variabel Site, Location dan Warehouse sesuai default dari tabel InventTable, maka contoh di bawah bisa digunakan :

inventdim.initFromInventTable(inventTable,InventItemOrderSetupType::Sales);

Kode di atas bertugas untuk mengambil variable Site, Location dan Warehouse dari tabel InventTable. Kita bisa tulis kode setelahnya dengan method findOrCreate lagi. Jadi kode lengkapnya :

inventdim.initFromInventTable(inventTable,InventItemOrderSetupType::Sales);

InventDim::findOrCreate(inventDim);

 

Semoga membantu🙂

 


About this entry