Kadangkala, setelah data report sudah di kirim ke cabang, eh ada revisi yang harus mengubah letak direktory report tersebut.
Contoh, jika sebelumnya posisi direktory:
report
-------Penjualan
----------------Report A
-------Stok
----------------Report B
di ubah menjadi:
report
-------Penjualan
----------------Report A
----------------Report B
-------Stok
Jika kita menggunakan cara normal, ya kita harus Delete Report B, trus buat lagi Report B di direktory
Penjualan. Tentu akan memakan waktu lama, karena proses membuat report tidak hanya upload jrmx saja, harus insert insert parameter-parameternya juga. Apalagi jumlah reportnya lebih dari satu, tambah juga prosesnya di cabang dengan bandwidth terbatas.
Ada cara yang cepat, yaitu dengan langsung mengubah internal database nya. Internal database yang dipakai untuk Jasper Server adalah MySQL. Struktur penyimpanan report di Jasper Server adalah menggunakan dua tabel. Pertama tabel
resource yang digunakan untuk menyimpan seluruh resource, termasuk isi folder, paramter, dll. Kemudian tabel ke dua adalah
resource_folder yang digunakan untuk menyimpan data folder.
Jadi secara logika untuk memindah report tersebut ke folder lain, tinggal ubah penanda foldernya
ke folder lain.
--pindah folder
Update resource_folder
set uri = '/reports/Compiere_Report/X001/AX000/AX009_files',
name = 'AX009_files',
parent_folder = 113
where id = 266;
--pindah report
update resource
set name = 'AX009',
parent_folder = 113
where id = 1302;
Karena struktur penyimpanan report di jasper adalah dalam folder (1 folder untuk satu report, yang digunakan untuk menyimpan parameter-parameternya), maka untuk memindah report jg harus memindah folder.
Pada SQL diatas, kita ubah juga
uri karena berhubungan dengan code JSPnya. Kemudian
name di ubah untuk konsistensi penamaan dan yang paling penting
parent_folder nya, karena merupakan penanda folder.
ID di atas adalah ID atas data. Untuk mengetahui ID, ya di query.
Selamat mencoba