New Hope …

Posted in Uncategorized on January 11, 2010 by vyor

Happy Nu Year 2010 pembaca sekalian … :)

Membaca File Excel pada Dynamics Ax 2009

Posted in Programming on November 24, 2009 by vyor

Pada postingan yang lalu, sebelumnya telah dibahas bagaimana caranya untuk membaca file Excel dengan menggunakan Java.Postingan kali ini menggunakan Ax 2009.
Ax 2009 telah menyediakan kelas-kelas yang bisa digunakan untuk membaca file Excel sama halnya seperti pada Java. Kelas-kelas itu antara lain : SysExcelApplication(untuk mendefinisikan file Excel yang akan dibaca),SysExcelWorksheets(untuk worksheet) dan SysExcelCells(untuk kolom dalam worksheet). Berikut adalah contoh sourcenya.

void clicked()
{
    //modif by Vyor
    sysExcelApplication     app;
    sysExcelWorksheets      workSheet1;
    sysExcelWorksheet       workSheet2;
    sysExcelCells           cells;
    str                     workbookName;
    str                     worksheetName;
    str                     cellvalue;
    int                     i,j;

    //Get Excel filename
    app             = SysExcelApplication::construct();
    workbookname    = app.getOpenFileName();
    app.workbooks().open(workbookname);
    workSheet1      = app.worksheets();
    worksheetName   = strfmt('%1', "NamaWorkSheet");
    workSheet2      = workSheet1.itemFromName(worksheetname);

    if(!workSheet2)
    {
        warning(strfmt('Worksheet %1 tidak ada di file Excel',worksheetName));
    }
    else
    {
        cells       = workSheet2.cells();
        i = 2;

        cellValue = cells.item(i,1).value().toString();
        while (cellValue != "VT_EMPTY")
        {            

            if(cellValue)
            {
                info(strfmt('%1',cells.item(i,3).value().double()));
            }

            i++;
            cellValue = cells.item(i,1).value().toString();
        }
        info('Proses Baca Selesai');
    }
    app.quit();

}

Semoga Membantu !

Membaca file Excel dengan JExcelAPI

Posted in Programming on August 18, 2009 by vyor

Berikut ini merupakan program sederhana yang saya buat untuk membaca isi dari file excel kemudian ditampilkan ke JTable…. Caranya sangat mudah !
Downloadlah pustaka JExcelAPI, banyak link di internet yang menyediakan …. :) Kalo kesulitan, tanya mbah Google ! pasti ketemu !
Kemudian downloadlah project sederhana yang sudah saya buat pada link ini. Setelah itu modifikasilah sesuai kebutuhan anda.

Selamat mencoba !

NB :

Going Home ???

Posted in Others on August 18, 2009 by vyor

Apakah saya bisa pulang Desember’09 nanti ke Ambon ?????

Miss my family ….. :(

QueryRun pada Ax

Posted in Programming on April 28, 2009 by vyor

Objek QueryRun digunakan untuk mengambil sejumlah record pada tabel didalam database sesuai dengan constraint dari tabel-tabel yang telah diberikan tersebut. Objek ini paling cocok digunakan didalam Report untuk menampilkan sejumlah data yang diinginkan.

Ini adalah contoh penggunaannya :

static void example()
{
QueryRun qr = new QueryRun ("Mahasiswa");
Mahasiswa mhsRecord;
while (qr.next())
{
//Get the fetched record.
mhsRecord = qr.GetNo(1);
print mhsRecord.NIM;
}
}

Type data “container” pada Ax.

Posted in Programming on April 15, 2009 by vyor

Salah satu tipe data di Ax yang menurut saya cukup flexible adalah container. Dari namanya sudah jelas fungsinya. Tipe data ini dapat menampung beberapa data sekaligus dengan tipe yang berbeda-beda dan dinamis. Sedikit berbeda dengan Array ataupun List. Untuk menambah data kedalam container bisa menggunakan conins dan untuk mengambil data dari container bisa mengunakan conpeek

Menulis ke file word dengan menggunakan makro File pada Ax

Posted in Programming on April 15, 2009 by vyor

Ini contoh codingnya :

static void writeWord(Args _args)
{
    #File
    AsciiIO     fileOut;
    container _fileFilter = ["Document Files","*.doc"];
    str fileName;
    CustTable custTable;
    int i;
    ;
    fileName = WinAPI::getSaveFileName(0,_fileFilter," ","Specify Save File Name", "", "");
    fileOut = new AsciiIO(fileName,#io_write);

    fileOut.write("No \tCust Account \tStatus Customer \tBlocked");
    while select custTable
    {
        if(i < 20)
        {
            i++;
            fileOut.write(strfmt('%1 \t%2 \t%3 \t%4',i,custTable.AccountNum,custTable.DI_StatusCustomer,custTable.Blocked));
        }
    }
    WinAPI::shellExecute(fileName);
}

Lagi cape tulis jadi dipahami sendiri aja ya … :)

Menampilkan data pada Ax dengan SysTableLookup

Posted in Programming on April 15, 2009 by vyor

Berikut ini saya mau menulis mengenai pengalaman yang saya dapat untuk menampilkan data pada tabel tertentu dengan kriteria tertentu menggunakan Kelas SysTableLookup:

Asumsi saya mempunyai tabel :
1. VendTable dengan field : AccountNum,Name dan VendGroup.
2. ParameterUmum dengan field : VendGroupId dan Description.

Kasus :
Tampilakan data AccountName dan Name yang VendGroup terdaftar atau ada didalam ParameterUmum.

Penyelesaian :

public void lookupVendor(FormControl control)
{
    Query                   query = new Query();
    QueryBuildDataSource    queryBuildDataSource;
    QueryBuildRange         queryBuildRange;
    SysTableLookup          sysTableLookup;
    ;

    sysTableLookup = SysTableLookup::newParameters(tablenum(VendTable), control);

    sysTableLookup.addLookupfield(fieldnum(VendTable, AccountNum), true);
    sysTableLookup.addLookupfield(fieldnum(VendTable, Name), false);

    queryBuildDataSource = query.addDataSource(tablenum(VendTable));
    queryBuildRange = queryBuildDataSource.addRange(fieldnum(VendTable, VendGroup));
    queryBuildRange.value(ParameterUmum::find().VendorGroupId);

    sysTableLookup.parmQuery(query);

    sysTableLookup.performFormLookup();
}

Fungsi newParameters pada objek sysTableLookup digunakan untuk menandakan kalo akan dilakukan lookup ke tabel VendTable. Sedangkan fungsi addLookupField digunakan untuk mengambil kolom yang diinginkan. Setelah dilakukan langkah menentukan tabel dan kolom yang mau dilookup maka selanjutnya gunakan kelas QueryBuildDataSource. Sesuai dari namanya maka kelas ini untuk menangani DataSource. Setelah itu kita buat range untuk memfilter data. Kemudian eksekusi fungsi performFormLookup untuk melakukan lookup berdasarkan langkah-langkah sebelumnya.

Terima Kasih.

Membaca File XML dengan Java

Posted in Programming on March 19, 2009 by vyor

Sama halnya dengan HTML yang memiliki tag2 didalamnya… XML juga memiliki tag2 tertentu. Ini adalah contoh fungsi yang digunakan untuk membaca isi dari file XML.

Asumsi saya punya data XML dengan nama “data.xml” dengan path mis : /home/vyor/Java/data.xml. Isinya seperti ini :

Contoh File XML

Berikut merupakan fungsi yang saya buat menggunakan Java untuk membaca isi data diatas.

public class XMLUtil {
public static void readXML(Strnig Path){
try {
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(Path));
doc.getDocumentElement.normalize();
System.out.println("Root Element Is : "+doc.getDocumentElement().getNOdeName());

NodeList list = doc.getElementsByTagName("listmhskp");
System.out.println("Total No Of Data : " + list.getLength());

//mencetak isi data
for(int i =0; i < list.getLength(); i++){
Node first = list.item(i);
if(first.getNOdeType() == Node.ELEMENT_NODE){
Element firstPersonElement = (Element) first;

NodeList NIM = firstersonElement.getElementsByTagName("nim");
Element elementNIM = (Element) NIM.item(0);
NodeList textFNListNIM = elementNIM.getChildNodes();
System.out.println("NIM : "+ ((Node) textFNListNIM.item(0)).getNodeValue().trim());

NodeList NAMA = firstersonElement.getElementsByTagName("nama");
Element elementNama = (Element) NAMA.item(0);
NodeList textFNListNama = elementNama.getChildNodes();
System.out.println("Nama : "+ ((Node) textFNListNama.item(0)).getNodeValue().trim());

NodeList JENISREG = firstersonElement.getElementsByTagName("jenisreg");
Element elementJenisReg = (Element) JENISREG.item(0);
NodeList textFNListJenisReg = elementJenisReg.getChildNodes();
System.out.println("Jenis Reg : "+ ((Node) textFNListJenisReg .item(0)).getNodeValue().trim());
}
}
}catch(Exception ex){
ex.printStackTrace();
}
}
public static void main(String[] args){
XMLUtil.readXML("/home/vyor/Java/data.xml");
}
}

Jika dijalankan maka fungsi tersbut akan menampikan data yanag ada didalam tag nim,nam dan jenisreg.

Semoga Membantu.

huaaahhhhhhhhh……..ngantuk !

Trik pada Axapta

Posted in Others, Programming on March 19, 2009 by vyor

Berikut ini akan dijelaskan sebuah trik untuk membuat Datasource ikut disesuaikan ketika ada perubahan pada tabel entah itu penambahan maupun pengahpusan field. Trik yang dapat dilakukan ada 2 cara :

1. Restart Axapta. hihihihihih …… cara konvensional :(
2. Klik kanan pada modul dimana Datasource dibuat (Ex : Form) kemudian pilih submenu “Restore”.

Nah, jadi deh ……. Secara otomatis Datasource akan mengalami perubahan sesuai dengan tabel yang berubah.

Semoga bermanfaat.