KP day-24,..

July 11, 2008 by amirmuntaha

Seharian bingung gimana caranya ngekstract data langsung dari database yang sedang diakses dalam suatu page,.. kalo menggunakan process scope, ketika data sudah dirubah, data juga ikut berubah jadi tidak bisa mengambil nilai awalnya,.. ada cara yang lebih primitif yaitu dengan menambahkan action listener di setiap input text, tp sangat tidak efektif dan harus satu persatu menambahkan,..

Eksplorasi berlanjut untuk memilih kolom apa saja yang akan di print untuk report,.. kalau dengan cara yang kemarin terlalu primitif yaitu dengan text area, sekarang coba diganti dengan check box secara manual, dan ternyata proses pembuatannya cukup memakan waktu, terutam klo banyak,.. yah tapi jadinya emang lebih bagus,.. (screenshotnya ga dipasang soalnya mirip yang kemarin cuma ga pake inisialisasi n text areanya diganti checkbox)

KP day 23,..

July 9, 2008 by amirmuntaha

Hari ini eksplorasi dilanjutkan untuk mencari data langsung dari database,.. tapi tetep aja ga bisa,..

Di siang hari dilanjutkan dengan integrasi cipsf.report ke project cips,.. jadi dengan fungsi yang sekarang cuma tinggal copy directory cipsf dari di folder classes dan src,.. trus import cipsf.report.*; disetiap backing bean yang akan menggunakan report tersebut (seperti pada KP day 22 kemarin),..

Eksplorasi dilanjutkan untuk penanganan row mana sja yang akan di print ke report,.. pertama pengennya bisa menggenerate checkbox untuk setiap row yang ada, ternyata tidak ditemukan cara yang efektif. kedua, mencoba memakai inputtext yang berisi bilangan biner, setiap index akan merepresentasikan sesuai urutan dari atas, jika nilainya 1 maka akan diprint dan 0 tidak akan diprint, cara kedua ini sebenarnya berjalan dengan lancar tapi sangat tidak user friendly trutama jika banyak row,.. Trus memutuskan dengan cara ketiga, yaitu dengan inputTextArea, jadi setiap baris akan merepresentasikan setiap row dari form yang ada,namun karena belum ada method untuk bisa mengeksekusi inisialisai di setiap me-load suatu halaman, maka ditambahkan tombol initialize untuk menginisialisasi text area tersebut,.. berikut adalah screenshotnya,..

KP day 22,..

July 8, 2008 by amirmuntaha

pagi hari dimulai dengan melanutkan eksplorasi yang kemarin,.. ternyata ga bisa juga,.. posting di forum malah ditanyain macem2,.. yasudah lah sementara pake tombol dulu,.. jadi waktu page diload, klik tombol “initialize” untuk mengambil nilai awal (di backing bean ditambahkan public static string[] nilaiAwal, untuk menyimpannya),..baru nanti ketika make report, data yg sekarang dibandingkan dengan yg telah diambil sebelumnya,..

Trus eksplorasi dipending terlebih dahulu, pekerjaan dilanjutkan dengan peng-enkapsulasian aksi2 yang ada di method make report, menjadi class2 data collector,.. jadi sekarang ada suatu package cipsf.report yang isinya kelas report builder, URLlocator dan kelas2 data collector,.. dengan begitu setiap backing bean yang ingin menggunakan report cukup dengan melakukan langkah berikut :

  1. mengimport package cipsf.report
  2. extends backing bean dengan URLlocator
  3. instansiasi salah satu data collector dibawah ini sesuai kebutuhan pada command button action
  4. cipsf_SingularReportDataCollector RDC = new cipsf_SingularReportDataCollector(getPanelForm1());
    cipsf_TabularReportDataCollector RDC = new cipsf_TabularReportDataCollector(getTable1());
    cipsf_MasterDetailReportDataCollector RDC = new cipsf_MasterDetailReportDataCollector(getPanelForm1(),getTable1());

  5. dan tambahkan aksi berikut :
  6. cipsf_ReportBuilder report = new cipsf_ReportBuilder();
    report.runReport(RDC,getPublicFolderPath());

KP day 21,..

July 7, 2008 by amirmuntaha

Hari ini mencoba lagi kerjaan sama yang di KP day 20,..

lagi – lagi gagal,.. ga menemukan apa2,.. nyoba berbagai cara juga ga jalan juga,.. susah nih,.. hari ini hampir ga ada progress lagi, paling cuma ngebenerin single report ke vertical,..

kesulitanya masih sama,.. gimana caranya ngambil initial state nya,..

yah, kira2 begitu,.. btw kemarin lembur 2 hari buat integrasi, tapi kebanyakannya maen sih, :p,..

Day 20,..

July 5, 2008 by amirmuntaha

Sekarang mulai lagi kerjaan baru :D ,..

pertama gimana caranya memberi tanda ke input yang berbeda dari basisdata,..

yang kedua menambahkan sebuah fungsi untuk memilih kolom mana saja yang akan di cetak,..

yah mulai mengerjakan yang pertama, pertama menyiapkan variable penanda(apakah input berubah atau tidak) dan menyiapkan fungsi barunya, kesulitannya adalah giman cara mendapatkan nilai awal dari setiap input itu,… trus yang kedua jika bentuknya tableReport maka field yang dibuat harus disertai variable penanda, masalahnya adalah gimana caranya mengikutkan variable penanda tersebut untuk menentukan apakah data tersebut pernah diganti atau tidak,…

yang kedua belum disentuh sama sekali, jadi belum tau,.. :D

KP day 18 n 19,..

July 3, 2008 by amirmuntaha

hehe, postingan kali ini digabung soalnya ga banyak yg diperbuat,.. paling benerin bug2 yg kemarin,.. trus belajar make chart, sulit ternyata, contohnya juga sedikit,.. trus masukin tanggal pembuatan, pertamanya mau nyari parameter dari jasperreportnya (siapa tau designnya bisa di save),.. udah nyari2, ga ketemu juga,.. akhirnya nyerah juga dan lebih memilih lgsg nge-Get waktu dari system,.. yah kira2 hasilnya kek gini,..

KP day 17,..

July 1, 2008 by amirmuntaha

Hari ini tidak banyak kemajuan,.. seharian cuma nyari gmn caranya dapetin index dari table yang sedang di tampilkan,..
akhirnya baru dapet pencerahan jam 3 tadi,..
caranya lumayan ribet,..

  1. pertama atribut table firstnya diubah menjadi #{processScope.rangeStart!=null ? processScope.rangeStart : bindings.EmployeesView1.rangeStart}”
  2. kedua tambahkan binding untuk listener dari perubahan range di tabel tersebut,… yaitu rangeChangeListener=”#{backing_TableReport.resultTable_onRangeChange}”
  3. buat prosedur resultTable_onRangeChange di backing_TableReport dengan isi sebagai berikut
  4. public void resultTable_onRangeChange(RangeChangeEvent rangeChangeEvent) {
    AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
    afContext.getProcessScope().put(“rangeStart”, rangeChangeEvent.getNewStart());
    afContext.getProcessScope().put(“rangeEnd”, rangeChangeEvent.getNewEnd());
    }

  5. kemudian panggil dengan
  6. int mulai,selesai;
    AdfFacesContext afContext = AdfFacesContext.getCurrentInstance();
    mulai = Integer.parseInt(afContext.getProcessScope().get(“rangeStart”).toString());
    selesai = Integer.parseInt(afContext.getProcessScope().get(“rangeEnd”).toString());

yah selesai sudah,.. sekarang sudah bisa menampilkan report yang sesuai dengan yang ditampilkan,..
tetapi masih ada satu masalah, setelah show all row dan kemudian meng-klik tombol back maka otomatis hanya menampilkan row ke 1 sampai row ke 10 tetapi rangeEnd nya belum berubah, jadi jika langsung ‘make report’ lg, hasilnya akan sama dengan mencetak seluruh isi row,..

KP day 16,..

June 30, 2008 by amirmuntaha

hari ini mulai dengan mencari gimana cara mengambil index dari adf table yang sedang ditampilkan,.. yah intinya pingin mengambil index yg di lingkari pada gambar di bawah ini,.. ADF Table get Index

yah tapi sampe hampir istirahat siang belum nemu juga,.. mana forum Oracle servernya lagi error lg,.. jadinya lanjut ke tugas report berikutnya,..

Tugas report berikutnya adalah master detail report,.. ini merupakan gabungan dari single report dan juga table report,.. jadi hasil dari Master formnya nya di taruh di Tittle Band paling atas dari report, kemudian di Detail Band tinggal masukin untuk yang Detail tablenya,… karena sudah pernah jadi pengambilan data tidaklah begitu sulit, yang sulit adalah di pembuatan report dimana perlu membuat jasper design lagi,.. yah tapi akhirnya selesai juga master-detail report,.. berikut adalah contohnya,..

click to see larger image

KP Day 15,..

June 27, 2008 by amirmuntaha

wohohoho,.. akhirnya masalah terpecahkan,.. untuk mengatasinya tinggal pake JRBeanCollectionDataSource dengan isinya array of map,.. dimana setiap map berisi maping nilai tiap2 field,.. :D ,…

yah beginilah kira2 hasilnya,..

Report Tabel,..

KP day 14,..

June 26, 2008 by amirmuntaha

yups, sekarang menuju ke report dari tabel,..

dari tadi pagi agak gak jelas sih,.. bingung mikir2 enaknya gimana klo report dari tabel, ngambil dari database (searching2 google blm nemu) atau dari tabelnya langsung diambil,.. akhirnya memutuskan untuk mengambil data dari tabel,..

setelah mendapatkan datanya bingung lagi nih,.. giman caranya masukin ke JRDataSource-nya si jasperPrint,..Akhirnya memutuskan untuk di-ignore dulu masalah ini,.. jadinya akhirnya mempersiapkan si designnya dulu,.. setelah designnya selesai (bisa dibuat klo memakai JREmptyDataSource) kembali deh stuck di masalah yang sama,… udah searching2 di google dan forum2, udah ngeposting tapi belum dijawab juga,.. trus baru aja dapet pake JRDataBeans, tapi kayaknya ga bisa dinamik dan karena waktu sudah menunjukkan jam4.45, maka diputuskan untuk mengakhiri dulu saja hari ini,.. :D