ACL memiliki fasilitas untuk menggabungkan/merge table, hanya saja cuma bisa dilakukan untuk 2 table saja, jadi jika kita memiliki misalnya 12 table maka kita akan melakukan 11 kali merge, sangat membuang waktu oleh karena itu kita akan menggunakan script untuk membuat itu lebih mudah
Fungsi merge agak merepotkan di ACL karena kita mesti menentukan key field yang kadang kalau table berasal dari conversion maka ACL akan mengatakan kalau key field dari 2 tabel tersebut berbeda padahal kalau dilihat sama persis baik type data maupun panjang data, oleh karena itu kita akan menggunakan Extract data lalu di-Append ke file container
- Coba kita buka project ACL Merge yang berisi 12 tables jan - Des 96 (donlot disini)
- ini penampakannya
- Buka/Klik 2x table januari (company01_96)
- Klik menu Data - Merge Tables...
- akan muncul jendela merge tables
- Pilih secondary tables yaitu company02_96
- Pilih Acc_Name sebagai primary keys dikedua table
- Klik tombol To di depan Output table
- Isi dengan company_merge_96.fill (ini merupakan container table yang akan menampung semua hasil merge, akan diletakkan di folder project ini)
- Klik OK
- Kita lakukan ini sebanyak 11 kali, hanya saja Primary tabel adalah file containernya, sedang secondary table adalah table feb, maret, ..., des
- sekarang coba kita merge 2 table yang lain (berasal dari conversion dbase)
- ini hasilnya
- Error karena berbeda strukture, padahal kalo kita lihat sama
- ini bisa kita atasi dengan Extract Append
- Buka dulu Part_1
- Klik menu Data - Extract data ...
- isi output tablenya (file containernya) dengan Part_Full
- Jangan lupa klik di Tab More
- Isi/Checkmark Append to existing file
- Klik OK
- Lakukan untuk Part 2
- Isi "Part_Full" untuk output table
- Jangan lupa klik di Tab More
- Isi/Checkmark Append to existing file
- Klik OK
- Merge tidak ada masalah
Namun kalau dilakukan berulang2, apalagi jika ada masalah konversi sehingga diulang lagi, maka otomatis proses merge juga harus diulang, bisa dibayangkan capeknya. Oleh karena itu kita akan menggunakan script/macro untuk proses merge ini
Kita akan menggunakan extract data saja karena proses ini tidak perlu membuka file hasil merge sehingga lebih cepat serta tidak terlalu rumit scriptnya
Langkah2nya :
- Klik New-->Script
- Akan muncul New script pada project navigator (kotak kiri atas)
- Klik kanan lalu pilih Rename
- Ganti dengan "Merge_Script"
- Ketik code berikut ini
-
OPEN company01_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company02_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company03_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company04_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company05_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company06_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company07_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company08_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company09_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company10_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company11_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company12_96 EXTRACT RECORD TO "company_merge.FIL" APPEND OPEN company_merge
- Penjelasannya script:
- Buka dulu setiap tabel dengan perintah OPEN
- Extract ke file container (company_merge.fil)
- Terakhir buka file container
- Jalankan macro tadi dengan Klik kanan pada macro tsb lalu pilih run
- Akan muncul windows/dialog untuk men-save
Klik aja OK - Maka semua proses yang kita kerjakan satu persatu akan dijalankan secara otomatis