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.

Tes Akhir Pengembangan WebService

Posted in Uncategorized on March 24, 2009 by vyor

Pengumuman untuk Tes Akhir matakuliah Pengembangan WebService akan diadakan pada :

TAS :
Hari : Kamis
Tgl : 02 April 2009
Jam : 07:00 – 10:00 WIB
Tempat : Lab E250 – UKSW

Selamat Belajar dan Terima Kasih.

Tes Akhir dan Penilaian Tugas Akhir Pemrograman Basis Data

Posted in Kuliah ... on March 22, 2009 by vyor

Pengumuman untuk Tes Akhir dan tugas akhir matakuliah Pemrograman Basis Data akan diadakan pada :

TAS dan Responsive Tugas Akhir :
Hari : Jumat
Tgl : 03 April 2009
Jam : 07:00 – 10:00 WIB
Tempat : Lab E201B – UKSW

Catatan : Persiapkan dengan baik ya …. ! :)

Selamat Belajar dan Terima Kasih.

Tugas dan Tes Akhir Pemrograman Berorientasi Objek

Posted in Kuliah ... on March 22, 2009 by vyor

Buat pro matakuliah Pemrograman Berorientasi Objek bisa mendownload petunjuk untuk tugas dibawah ini:

Klik disini untuk mendownload …..

Tes Akhir akan diadakan pada :
Hari : Rabu
Tgl : 01 April 2009
Jam : 14:00 – 17:00 WIB
Tempat : Lab E201B – UKSW

Responsive Tugas Akhir :
Hari : Rabu
Tgl : 08 April 2009
Jam : 14:00 – Selesai
Tempat : Lab E201B – UKSW

Catatan : Akan ada penjelasan untuk tugas akhir di kelas.

Selamat Belajar dan 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.

Convert dari Biner To Decimal

Posted in Programming on March 19, 2009 by vyor

Pada tulisan sebelumnya sudah diposting bagaimana membuat sebuah fungsi sederhana untuk mengkonversi angka decimal ke biner. Pada tulisan kali ini dibuat fungsi sederhana untuk mengkonversi bilangan biner ke Decimal. Coding dibuat dengan bahasa Ms.Axapta (X++).
Berikut contoh codingnya…. :


static void convertBinerToDecimal(Args _args)
{
    str biner = "11011100";
    int i = 0, len = strlen(biner), decimal = 0;
    ;

    for(i = 1; i &lt;= len; i++)
    {
        if(strcmp(subStr(biner,i,1),"1") == 0)
        {
            decimal = decimal + (power(2,len - i));
        }
    }
    info(strfmt('Decimal untuk biner %1 = %2',biner,decimal));
}