Merge Table di ACL dan Buat Script untuk mempercepat prosesnya

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

  1. Coba kita buka project ACL Merge yang berisi 12 tables jan - Des 96 (donlot disini)
  2. ini penampakannya
  3. ACL Merge
  4. Buka/Klik 2x table januari (company01_96)
  5. Klik menu Data - Merge Tables...
  6. akan muncul jendela merge tables
  7. Pilih secondary tables yaitu company02_96
  8. Pilih Acc_Name sebagai primary keys dikedua table
  9. Klik tombol To di depan Output table
  10. Isi dengan company_merge_96.fill (ini merupakan container table yang akan menampung semua hasil merge, akan diletakkan di folder project ini)
  11. Klik OK
  12. ACL Merge02
  13. Kita lakukan ini sebanyak 11 kali, hanya saja Primary tabel adalah file containernya, sedang secondary table adalah table feb, maret, ..., des
  14. sekarang coba kita merge 2 table yang lain (berasal dari conversion dbase)
  15. ACL Merge03
  16. ini hasilnya
  17. Error karena berbeda strukture, padahal kalo kita lihat sama
  18. ACL Merge04
  19. ini bisa kita atasi dengan Extract Append
  20. Buka dulu Part_1
  21. Klik menu Data - Extract data ...
  22. isi output tablenya (file containernya) dengan Part_Full
  23. Jangan lupa klik di Tab More
  24. Isi/Checkmark Append to existing file
  25. Klik OKACL Merge05
  26. Lakukan untuk Part 2
  27. Isi "Part_Full" untuk output table
  28. Jangan lupa klik di Tab More
  29. Isi/Checkmark Append to existing file
  30. Klik OK
  31. 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 :

  1. Klik New-->Script
  2. Akan muncul New script pada project navigator (kotak kiri atas)
  3. Klik kanan lalu pilih Rename
  4. Ganti dengan "Merge_Script"
  5. Ketik code berikut ini
  6. 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
  7. Penjelasannya script:
  8. Buka dulu setiap tabel dengan perintah OPEN
  9. Extract ke file container (company_merge.fil)
  10. Terakhir buka file container
  11. ACL Merge06
  12. Jalankan macro tadi dengan Klik kanan pada macro tsb lalu pilih run
  13. ACL Merge07
  14. Akan muncul windows/dialog untuk men-save
    Klik aja OK
  15. Maka semua proses yang kita kerjakan satu persatu akan dijalankan secara otomatis
Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *