Di Microsoft Dynamics AX 2009 (versi 5.0), terdapat beberapa jenis message box dan notifikasi yang bisa digunakan untuk memberikan informasi, peringatan, konfirmasi, maupun error kepada user.

Berikut adalah jenis-jenis message yang tersedia beserta syntax penggunaannya dalam X++.

1. info() – Informasi Biasa

Digunakan untuk menampilkan pesan informasi ringan di Infolog.

Contoh:

info(“Proses berhasil dilakukan.”);

✔ Tidak menghentikan proses
✔ Masuk ke Infolog
✔ Tidak perlu klik OK untuk lanjut (kecuali dibuka detail)

2. warning() – Pesan Peringatan

Digunakan untuk menampilkan peringatan, tetapi tetap melanjutkan proses.

Contoh:

warning(“Stok hampir habis.”);

✔ Muncul warna kuning
✔ Tidak menghentikan proses
✔ Masuk Infolog

3. error() – Error (Menghentikan Proses)

Digunakan untuk menampilkan error dan menghentikan eksekusi.

Contoh:

error(“Data tidak valid.”);

✔ Warna merah
✔ Menghentikan proses
✔ Masuk Infolog

Biasanya dipakai dalam validasi.

4. throw error() – Error + Stop Total

Digunakan jika ingin benar-benar menghentikan transaksi atau method.

Contoh:

throw error(“Transaksi dibatalkan karena data tidak lengkap.”);

✔ Stop execution
✔ Rollback jika dalam ttsBegin

Best practice untuk validasi critical.

5. Box::info() – Popup OK (Modal Dialog)

Menampilkan popup dengan tombol OK.

Contoh:

Box::info(“Proses selesai.”);

✔ User harus klik OK
✔ Tidak hanya masuk Infolog
✔ Cocok untuk notifikasi penting

6. Box::warning()

Popup peringatan dengan tombol OK.

Box::warning(“Periksa kembali data Anda.”);

7. Box::stop()

Popup error (ikon merah).

Box::stop(“Proses tidak dapat dilanjutkan.”);

8. Box::yesNo() – Konfirmasi Yes / No

Digunakan untuk meminta konfirmasi user.

Contoh:

DialogButton result;

result = Box::yesNo(“Apakah Anda yakin ingin menghapus data?”, DialogButton::No);

if (result == DialogButton::Yes)
{
info(“Data dihapus.”);
}

9. Box::yesNoCancel()

DialogButton result;

result = Box::yesNoCancel(“Simpan perubahan?”, DialogButton::Yes);

switch (result)
{
case DialogButton::Yes:
info(“Disimpan.”);
break;

case DialogButton::No:
info(“Tidak disimpan.”);
break;

case DialogButton::Cancel:
info(“Dibatalkan.”);
break;
}

10. Box::okCancel()

DialogButton result;

result = Box::okCancel(“Lanjutkan proses?”, DialogButton::Ok);

if (result == DialogButton::Ok)
{
info(“Proses dilanjutkan.”);
}

11. checkFailed() – Validasi di Form

Sering dipakai dalam validateWrite() atau validateField().

public boolean validateWrite()
{
boolean ret;

ret = super();

if (this.Amount < 0)
{
ret = checkFailed(“Amount tidak boleh minus.”);
}

return ret;
}

✔ Tidak throw exception
✔ User tetap di record
✔ Cocok untuk validasi form

12. Global::error() dan Global::warning()

Sama seperti error() dan warning(), tapi dipanggil secara eksplisit dari class Global.

⚠️ Best Practice di AX 2009

✔ Gunakan checkFailed() untuk validasi form
✔ Gunakan throw error() untuk validasi transaksi
✔ Hindari terlalu banyak Box::info() karena blocking
✔ Gunakan info() untuk log ringan

Dengan memahami berbagai jenis message box dan notifikasi yang tersedia di Microsoft Dynamics AX 2009 (versi 5.0), Anda dapat memilih metode yang paling tepat sesuai kebutuhan bisnis dan skenario pengembangan.

Penggunaan info(), warning(), error(), checkFailed(), hingga Box::yesNo() masing-masing memiliki fungsi dan dampak berbeda terhadap alur proses sistem. Pemilihan yang tepat tidak hanya meningkatkan pengalaman pengguna (user experience), tetapi juga menjaga konsistensi validasi dan stabilitas transaksi dalam environment production.

Sebagai best practice, gunakan pesan yang informatif, tidak berlebihan, dan sesuai konteks agar sistem tetap profesional, efisien, dan mudah dipahami oleh end user.


Tas Wanita Shopee – Stylish & Harga Bersahabat

🌟 Temukan berbagai pilihan tas wanita trendy di Shopee dengan kualitas terbaik dan harga terjangkau. Mulai dari tote bag, sling bag, hingga tas kerja elegan. Banyak promo menarik, model up-to-date, dan siap kirim ke seluruh Indonesia! ✨

~ shopee.co.id ~

Mukena Parasut Ringan & Anti Kusut!

⚡ Mukena parasut berkualitas, ringan, cepat kering, dan tidak mudah kusut. Cocok untuk aktivitas harian maupun traveling. Tampil simpel tapi tetap nyaman saat ibadah! 🌸

~ shopee.co.id ~