Jumat, 29 November 2013

Import Data from Excel Office add-in to Dynamics AX2012

Hi, ...
dah lama ya ta jumpa...

Tiba-tiba sudah AX2012 lagi :( ...
Kali ini i want to share a simple way and... of course a simple sample how to import data from Excel Office add-in to Dynamics AX2012.

I take a sample from my machine
Sebelumnya Ms.Office saya adalah versi 2007. lalu saya install Office Add-in dan hasilnya prerequisite AX12 tidak menemukan adanya Ms.Office 2007... well thats is weird. Then i go check to the internet and found that i have to upgrade my MS.Office 2007 to SP1,...so i updgrade la... but ... its still doesnt work... its more weird rite? ... OK,.. next ... i am very mad, ta' tanggung2 aku upgrade aja sampe SP3.. dan itu teman ku juga menyarankan seperti itu. n the Result is ... The Prerequisite can read my MS.Office :).

after you installed the Office Add-in,... u must go to AX2012-System Administration-Periodic-Compile into .NET Framework CIL, ... wait(its quite long) until the proces is done. and give an information like this.
why we must generate the .NET CIL? .. coz if u r not u will got an error like this "Document Generic document could not be created. Error details:" this is error will appear when u import data to AX2012. but for some reason in technically... i dont know ...heheheh

Ok now open ur Excel and find the Dynamics AX menu ...(found it? ... god boy!)
Click new blank document, go up to the menu then click Add-data-> Add table

Here,... i have create a VetSpeciestable for my sample..u can choice ur tables off course.
click OK.
and this is the view of my Worksheet of VetSPeciesTable.
Click Menu 'Fields' to hide the navigator of table
then u can put ur record at the couloms.

click Publish at the up Menu,...
then u will get information from the Excel about the result.






Sabtu, 02 Februari 2013

Membuat sequence number di Ms.Dynamics AX 2012

Hi Guys, ...
(hhhmmm its been along time i am not using "SPAAXXRTAN!!" ...)
This time i wanna share about ... how to create a new Sequence number in AX 2012, ...wait,... AX 2012?! ... tidak salah ni? ... yes, now i am on my project n using AX 2012.
So far there's not a big different between AX 2012 coding and AX 2009 coding...(i hope so .. Amin)
Ok lets we start.

  1. Buat EDT dari String, ... kita ambil contoh SNId 
  2. Cari dan buka method Loadmodule() di Class NumberSeqModuleProject, lalu tambahkan code berikut. Tentu saja kamu bisa mengkopi dan paste code tersebut dari code yang sudah ada lalu ubah sedikit. ( hello ... buat apa ada fasilitas Copy Paste kalo tidak dimanfaatkan?!)
  3. Buat method di tabel Projparameters 
  4. Lalu buat Job berikut
  5. Jalankan Wizard sequence number, Organization Administration >> CommonForms >> Numbersequences >> Numbersequence >> Generate >> run Wizard
  6. Sekarang kita test, Apakah number sequncenya berfungsi atau tidak. buat Job sebagai berikut.
  7. Sequence number ini pasti kita akan gunakan di sebuah form. Buat formnya lalu tambahkan deklarasi berikut di method publicnya
  8. Setelah itu, di form itu juga buat method berikut
  9. Buat method close di formnya
  10. Terakhir tambahkan method dibawah ini di DataSourcenya
2.{
     datatype.parmDatatypeId(extendedTypeNum(Car Id));
     datatype.parmReferenceHelp(literalStr("@SYS334483"));
     datatype.parmWizardIsManual(NoYes::No);
     datatype.parmWizardIsChangeDownAllowed(NoYes::No);
     datatype.parmWizardIsChangeUpAllowed(NoYes::No);
     datatype.parmWizardHighest(999999);
     datatype.parmSortField(20);
     datatype.addParameterType(NumberSeqParameterType::DataArea, true, false);
     this.create(datatype);
}

3.client server static NumberSequenceReference numRefcarId()
{
     return NumberSeqReference::findReference(extendedTypeNum(car Id));
}

4.static void Carid(Args _args)
{
    NumberSeqModuleProject  NumberSeqModuleProject = new NumberSeqModuleProject();
    ;
    NumberSeqModuleProject.load();
}


6.static void number(Args _args)
{
    NumberSeq  numberSeq;
    CarId num;
    ;
    numberSeq = NumberSeq::newGetNum(ProjParameters::numRefcarId());
    num = numberSeq.num();
    info(num);
}

7. public class FormRun extends ObjectRun
{
    NumberSeqFormHandler numberSeqFormHandler;

}


8. NumberSeqFormHandler numberSeqFormHandler()
{
    if (!numberSeqFormHandler)
    {
        numberSeqFormHandler = NumberSeqFormHandler::newForm(ProjParameters::numRefcarId       ().NumberSequenceId,
                                                             element,
                                                             CarTable_DS,
                                                             fieldNum(CarTable, Car Id)
                                                            );
    }
    return numberSeqFormHandler;
}
9. void close()
{
    if (numberSeqFormHandler)
    {
        numberSeqFormHandler.formMethodClose();
    }
    super();
}

10.
 Create()

void create(boolean append = false,
            boolean extern = false)  // If created externally
{
    element.numberSeqFormHandler().formMethodDataSourceCreatePre();

    super(append);

    if (!extern)
    {
        element.numberSeqFormHandler().formMethodDataSourceCreate(true);
    }
}

Delete()

public void delete()
{
    element.numberSeqFormHandler().formMethodDataSourceDelete();
    super();
}

Write()

public void write()
{
    super();
    element.numberSeqFormHandler().formMethodDataSourceWrite();
}

Validate Write()

public boolean validateWrite()
{
    boolean         ret;
    ret = super();
    ret = element.numberSeqFormHandler().formMethodDataSourceValidateWrite(ret) && ret;
    if (ret)
    {
        CarTable.validateWrite();
    }
    return ret;
}

Link Active()

public void linkActive()
{
    ;
    element.numberSeqFormHandler().formMethodDataSourceLinkActive();
    super();
}

Yup, ... semoga bisa membantu infonya, ...ini aku dapat di http://swathidynamicsax.blogspot.com dan sudah aku test dan ... BerHasil! BerHasil! HOREE!! ... 

 

Senin, 29 Oktober 2012

Error "illegal reference"

Mungkin anda mengalami error "illegal reference" saat menyimpan Item yang didaftarkan pada SO.
Ini bisa di pecahkan dengan menset next number pada sequencenumber form untuk inventransId.
caranya ... anda buka dulu inventrans table. pada field inventransId anda sort nomor yang paling akhir.
setelah itu anda buka Basic-SequenceNumber form dan cari data untuk Inventtrans. Setelah dapat recordnya, lihat field next numbernya. Isi field tersebut dengan record berikutnya dari nomor inventransId yang tadi.

selamat mencoba .... :)

Selasa, 25 September 2012

Short Cut 1

Its been a long time i am inactive in this blog.
And this is it i am back, ... semoga langgeng... :)

Untuk permulaan we r gonna start with a simple info okay :).

Kalian pasti terkadang suka kebingungan saat membaca coding teman kalian bukan?!. Saat kita membuka jendela informasi yang menunjukan ada coding yang error dan mengkliknya Ax langsung mengarahkannya pada sintak yang error tersebut. Mulai dari membaca alur sampai bagian yang terkecil seperti tipe data membuat kita agak sedikit senewen dengan sintak yang error tersebut karena kita tidak mengerti maksud dari jalan/alur sintak itu kemana dan akan menghasilkan apa.
Right now i am gonna try to share a short cut how to know/check what kind of data type of a variable tanpa harus kita membaca sintak/program teman kita dari awal atau dari bagian pendeklarasian.
Arahkan pointer kamu pada tipe data yang kamu maksud and Press Ctrl+Space, with that you can see tipe datanya ...

Selamat mencoba :).

Selasa, 17 April 2012

Start Date cannot Move on

SPAXRTAN.

Baru-baru ini aku dapet problem yang ... aarrrgghhh bikin jengkel sekaligus bikin ketwa sendiri. Ceritanya aku mau generate Piscal year yang ada di modul GL-Setup-Periods, tapi kenapa start datenya selalu default. sudah aku otak-atik tetap saja selalu default. And then salah satu temen aku lihat apa yang sedang aku kerjakan sampai aku kelihatan Gundah Gulana. ... Ternyata eh ternyata aku belum masukin License Ax terbaru. Jyaaa elaaaahh ... Kabayan kabayan! ...

Kamis, 28 Juli 2011

Requirement User perlu di cari solusi, begitu pula Requirement mood kita



spAXrtan ...

have you feel frustrated and depressed with your busy and makes you feel that you are the miserable person in the world. Well, sometimes we will get better if break it down with our best friend but do not get used. it's good if we learn to overcome our mood.

Ya benar. Mood yang tidak bagus-entah karena sakit, perdebatan dengan atasan atau dengan teman maupun karena situasi-kondisi lingkungan kerja/kantor yang sedang fooging, ga kebagian kursi atau meja(warung bakmi kalie), ada yang kentut dll, secara tidak sadar membuat perubahan pada diri kita. misalnya ...
1. mendadak menjadi saingan-nya Tukul Arwana.
2. bikin bingung arah mouse mau kemana (mengscroll mouse secara bolak-balik).
3. raib dari meja kerja-pergi jalan-jalan.
4. menjadi mahluk paling liar dan buas di kantor-sensitif.
5. jajan (ga pake tanda kutip yah) berlebihan.ujung-ujungnya takut dengan timbangan badan.
6. ada juga yang sampai kehilangan semangat hidup sampai
7. Nyuruh sesuatu yang ga penting(cabutin uban) ke OB kita dll.

Ada bebarapa cara yang biasa-nya saya lakukan jika saya menghadapi situasi yang membuat mood ga jelas tak menentu. Saya biasa ... dari pada membolak-balik/memutar-mutar scroll pada mouse saya mengambil pinsil dan kertas - mulai menggambar kadang Saya juga bersenandung ria. Bukan bermaksud menjadi so' baik atau so' alim terkadang saya menunggu datang-nya waktu sholat untuk bisa mengadu pada-Nya.

Dr. Donald Schnell, salah satu pendiri dari The Spiritual Java Coaching Programme (http://www.spiritualjava.com/) memberikan 7 langkah yang bisa Anda lakukan untuk menuju kehidupan yang lebih baik.

  1. Selalu tanyakan pada diri Anda apabila Anda frustrasi menghadapi masalah. Misal: “Bagaimana caranya agar pekerjaan ini bisa lebih menyenangkan, lebih mudah dikerjakan, lebih cepat selesai, lebih baik?”
  2. Ciptakan ketertarikan dan rasa ingin tahu yang besar terhadap diri sendiri atau hal-hal di sekitar Anda. Sikap ini akan membuat Anda termotivasi untuk mengetahui sesuatu yang baru dan menyelesaikan sebuah masalah.
  3. Terima kekurangan Anda. Semua orang memiliki kekurangan, jadi jangan terfokus bagaimana caranya agar Anda tidak memiliki kekurangan. Sebaliknya, carilah teman yang sekiranya bisa membantu Anda mengatasi kekurangan tersebut.
  4. Jangan pernah berhenti belajar. Sama halnya dengan tubuh kita, otak kita juga perlu dilatih setiap hari, jika tidak otak kita akan menjadi lemah. Buka mata Anda dan Anda akan lihat setiap hari pasti ada hal baru yang bisa Anda pelajari dan membuat hidup Anda menjadi lebih baik.
  5. Maksimalkan hari ini. Maksudnya jangan sia-siakan waktu dan belajar menghargai hal-hal baik dan benar. Jangan sampai Anda kehilangan hal-hal yang menakjubkan dalam hidup Anda hari ini, ketika Anda disibukkan dengan mereka-reka masa depan.
  6. Jangan hidup di masa silam. Hal ini menekankan Anda untuk konsentrasi di masa ini yaitu hari ini. Yang lalu biarlah berlalu karena tidak ada yang bisa Anda lakukan untuk memperbaikinya kecuali yang bisa Anda lakukan hari ini. Jadi, apa yang bisa Anda lakukan hari ini, lakukanlah!!
  7. Berenang mengikuti arus. Jangan membuang waktu dengan hal yang tidak dapat Anda kendalikan. Atau dengan kata lain, konsentrasilah dengan apa yang dapat Anda kontrol. Misal: pekerjaan Anda, buku yang Anda baca, teman yang Anda peluk, kapan harus tertawa, kemana Anda pergi, apa yang Anda pikirkan atau lakukan, dsb.
Sumber: conectique

Selain langkah-langkah tersebut ada baiknya kalau ditambah dengan :

  1. Jaga kondisi kesehatan, apapun langkah yang kita tempuh dari nomor 1-7, jika badan sedang sakit, usaha tersebut tidak akan optimal, bahkan mungkin gagal
  2. kita niatkan apa yang kita lakukan semua adalah memiliki nilai ibadah. sesuatu yang dilakukan serius, tidak main-main/malas-malasan, punya potensi untuk bernilai ibadah.
Daftar pustaka:
http://mediasurviva.wordpress.com/

Progress Bar ...


spAXrrtaaann!!


There's another thing that i always forget to inform the user "Mem ... the process is still running" ... spAXrrtan!, you can use this for your looping ...

YeAH! ...this Progress Bar is very UseFul to facing your unpatience analyst/functional and your user/client also ... show them the application is still running.

Okay to all Unpatience Analyst/Functional and User/Client
please stop whining and worried the process have failed ...



check this out ... Progress Bar

Cloud hosted environment di D365

Biasanya kita menginginkan sebuah environment yang sama dengan LIVE/PROD untuk mengtest sebuah proses. Maka kita bisa menggunakan fitur Clou...