Filter Cetak KTP-el, BISA?!?

Mau batasin Operator hanya cetak NIK yg PRR, atau batasi yang bisa di cetak hanya kecamatan/desa tertentu, pertanyaannya Emang bisa ya untuk Filter Data yg bisa dicetak di BCard? Jawabannya bisa, walaupun gak pernah ada pengaturan di Bawaan Aplikasi, tapi bisa di Akalin sebenernya, disitu harus di pahami kalo Aplikasi BCard itu menggunakan data BIODATA_WNI, pasti pernah ketemu warning "NIK Tidak Ada Database SIAK", dan inilah Kuncinya  jadi kalo NIK gak ada di BIODATA_WNI pasti gak bisa di cetak dong, nah tapiiii.... disini bukan berarti kita mau filter dan harus ngebuang data di table BIODATA_WNI (DB Siak) kita Bakal Akalin pake VIEW Oracle dan harus buat Database Baru / DB Bayangan, jadi pokok solusinya kita buat satu database lagi misalnya pake nama SIAKOFF_CETAK, nanti di SIAKOFF_CETAK kita buat VIEW untuk filter data biodata_wni nantinya, dan service cetak di server KTP-EL di arahkan ke database bayangan itu (SIAKOFF_CETAK), lanjut ke detailnya ya...
1. Buat Database Bayangan (SIAKOFF_CETAK), kita remote SIAKOFF dengan toad, trus di editor jalanin script ini :
DROP USER SIAKOFF_CETAK CASCADE;

CREATE USER SIAKOFF_CETAK
  -- ganti <password>
  IDENTIFIED BY <password>
  DEFAULT TABLESPACE SIAKDATA
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;

-- 3 Roles for SIAKOFF_CETAK 
GRANT CONNECT TO SIAKOFF_CETAK;
GRANT DBA TO SIAKOFF_CETAK;
GRANT RESOURCE TO SIAKOFF_CETAK;
ALTER USER SIAKOFF_CETAK DEFAULT ROLE ALL;

-- 3 System Privileges for SIAKOFF_CETAK 
GRANT CREATE VIEW TO SIAKOFF_CETAK;
GRANT UNLIMITED TABLESPACE TO SIAKOFF_CETAK;

-- 1 Tablespace Quota for SIAKOFF_CETAK 
ALTER USER SIAKOFF_CETAK QUOTA UNLIMITED ON SIAKDATA;

2. Setelah buat Database SIAKOFF_CETAK, Trus remote DB SIAKOFF_CETAK,  dan buat db-link ke SIAKOFF, caranya :
DROP PUBLIC DATABASE LINK SIAK_MASTER;

CREATE PUBLIC DATABASE LINK SIAK_MASTER
 CONNECT TO SIAKOFF
 -- ganti <password>
 IDENTIFIED BY <password>
 USING '127.0.0.1:1521/siakdb';

3. DB-Link sudah kebuat, tes Db-link pake query, misalnya hitung table biodata_wni : 
select count(*) from biodata_wni@SIAKOFF_CETAK;

4. Pembuatan VIEW, buat semua view yg diperlukan sama server ktpel (SELAIN Biodata_wni), ini scriptnya :
CREATE OR REPLACE VIEW SIAKOFF_CETAK.AGAMA_MASTER AS SELECT * FROM SIAKOFF.AGAMA_MASTER@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.BIODATA_WNA AS SELECT * FROM SIAKOFF.BIODATA_WNA@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.DATA_KELUARGA AS SELECT * FROM SIAKOFF.DATA_KELUARGA@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.DATA_KELUARGA_WNA AS SELECT * FROM SIAKOFF.DATA_KELUARGA_WNA@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.GELAR_WNI AS SELECT * FROM SIAKOFF.GELAR_WNI@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_DUSUN AS SELECT * FROM SIAKOFF.REF_DUSUN@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_NEGARA AS SELECT * FROM SIAKOFF.REF_NEGARA@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_RT AS SELECT * FROM SIAKOFF.REF_RT@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_RW AS SELECT * FROM SIAKOFF.REF_RW@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_SIAK_DOC AS SELECT * FROM SIAKOFF.REF_SIAK_DOC@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_SIAK_PLUS AS SELECT * FROM SIAKOFF.REF_SIAK_PLUS@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_SIAK_STBLD AS SELECT * FROM SIAKOFF.REF_SIAK_STBLD@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_SIAK_WNA AS SELECT * FROM SIAKOFF.REF_SIAK_WNA@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_SIAK_WNA_DISDUK AS SELECT * FROM SIAKOFF.REF_SIAK_WNA_DISDUK@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_SIAK_WNI AS SELECT * FROM SIAKOFF.REF_SIAK_WNI@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.REF_SIAK_WNI_DISDUK AS SELECT * FROM SIAKOFF.REF_SIAK_WNI_DISDUK@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.SETUP_CONV AS SELECT * FROM SIAKOFF.SETUP_CONV@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.SETUP_KAB AS SELECT * FROM SIAKOFF.SETUP_KAB@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.SETUP_KEC AS SELECT * FROM SIAKOFF.SETUP_KEC@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.SETUP_KEL AS SELECT * FROM SIAKOFF.SETUP_KEL@SIAK_MASTER;
CREATE OR REPLACE VIEW SIAKOFF_CETAK.SETUP_PROP AS SELECT * FROM SIAKOFF.SETUP_PROP@SIAK_MASTER;

5. Ini yang perlu di perhatikan ya...  Pembuatan View BIODATA_WNI. ini yg paling penting, kenapa? karena ini poin utama yg bakal mem-Filter Data dan apa yg mau di filter nanti bakal di jadikan kondisi/Where untuk buat VIEW ini, dibawah ini saya contohin kalo misalnya biodata_wni yg tersedia hanya untuk 1 kecamatan, kalo untuk hanya nik PRR harus buat view dulu di SIAKOFF utama, sebagai master data perekaman, klik untuk detail cara membuat view master data perekaman.
CREATE OR REPLACE VIEW SIAKOFF_CETAK.BIODATA_WNI AS SELECT * FROM SIAKOFF.BIODATA_WNI@SIAK_MASTER 
WHERE 
-- FILTER HANYA FLAG 0
FLAG_STATUS = 0 AND
-- HANYA WAJIB KTP 
((FLOOR(MONTHS_BETWEEN(SYSDATE,TGL_LHR)/12)>=17) OR STAT_KWN>1) AND
-- ganti Kode Kab
NO_KAB = 'kodeKab' AND 
-- ganti Kode Kec
NO_KEC IN ('kodeKec');

6. Ubah File connection.xml di service cetak server KTP-el, di Folder Bin di dalem Folder inetpub CardPrintingService dan SiakDataProvider, edit pake Notepad, ubah koneksi database siak ke database SIAKOFF_CETAK, kalo passwordnya sama seperti SIAKOFF, bisa ganti nama skema database nya aja.. tp kalo beda enak pake tool Setting_Koneksi_KTPEL


7. Setelah file Connection.xml di server ktpel di ubah, jangan lupa restart IIS cmd>iisreset
CMD > IISRESET -- ENTER

8. Uji Coba di BcardManagement, coba panggil NIK yg ada di kecamatan yg udah di Filter tadi, mudah2an langsung muncul di BCard, dan coba panggil data diluar Kecamatan itu, pasti nanti muncul warning Data Tidak Ada di Database SIAK, kalo begitu berarti berhasil.. Intinya ini memanfaatkan View doang, karena kadang karena blanko setitik maka rusak susu sebelanga  dan diberi Mandat Supaya Blokir NIK non Prioritas..

Nanti bisa jg dimana yg statusnya masih SUKET, tinggal di query aja "Where NIk in bla bla bla" suka2 om-om semua mau data apa yg muncul di bcard.. Oke ??! paham sampe sini? hehe

daaaannnn masih bisa di kembangkan lagi laa, kalo kita mau terus mengerti struktur database KTP-el dan Database SIAK, sooo... kunci nya itu kurangin tidur, banyakin ngopi... :D 

untuk post selanjutnya saya bakal bahas gimana manfaatin Pengajuan Cetak KTP di Aplikasi Siak? Pernah Liat kan? sebenernya ini jg akal-akalan semata, dan ini hampir sama caranya, kayak buat filter ini.. tp besok lagi yes... 

Semoga Bermanfaat, 

Subscribe to receive free email updates:

0 Response to "Filter Cetak KTP-el, BISA?!?"

Posting Komentar