FileMaker’da Pratik Log Tutma Örneği

Özellikle çoklu kullanıcı sistemlerde yapılan değişikliklerin ne zaman, kimin tarafından yapıldığını tutmak önemli hale geliyor. Log tutma aynı zamanda veri girişi yapan kullanıcıların daha dikkatli olmasını sağlıyor. Ayrıca yanlışlıkla yapılan değişikliklerde eski veriye ulaşma imkanı sunuyor.

Ancak FileMaker’ın standart bir log tutma özelliği yok. Auto-enter alanlar sayesinde sadece kayıt üzerinde en son değişikliği kimin ve ne zaman yaptığı bilgisini saklayabiliyoruz.

Son değişiklik tarihi yeterli olmadığı için alternatif loglama çözümlerini uzun zamandır kullanıyoruz. FileMaker 13’le beraber gelen Get(ModifiedFields) fonksiyonu ile çok pratik  şekilde log tutmak mümkün. Bu fonksiyonu kullanan eXcelisys firmasının çok güzel bir çözümü mevcut. Basitçe kendi uygulamanıza ekleyebiliyorsunuz.

Bu uygulamayı baz alarak örnek bir dosya hazırladık, örnek dosyayı yazının sonundaki bağlantıdan indirebilirsiniz. Yöntemin anlatıldığı makaleye ulaşmak için buraya tıklayabilirsiniz.

 

Dosyayı kendi veritabanınıza uygulamak için bir kaç adım yeterli;

  1. ChangeLogger özel fonksiyonunu dosyasınıza aktarın (FileMaker Pro Advanced gerektirir)
  2. TimeStamp (zaman damgası) tipinde, st_ModTS  isimli bir alan tanımlayın.
  3. st_ModTS alanının auto-enter seçeneğini değişiklik zamanını verecek şekilde düzenleyin.
  4. Metin tipinde, st_ChangeLog isimli bir alan tanımlayın.
  5. st_ChangeLog alanının auto-enter seçeneklerinde calculation olarak belirleyin ve aşağıdaki hesaplamayı girin
    Case ( st_ModTS ; Liste ( ChangeLogger ( Get ( ModifiedFields ) ; Self ) ; st_ChangeLog ) )
  6. st_ChangeLog alanı için auto enter seçeneklerinde “Do not replace exsiting value” seçeneğinin işaretini kaldırmayı unutmayın.
  7. Başlangıç scripti ile $$sistem_LogIstisnaAlanlar isimli global değişken oluşturun. Log tutamak istemediğiniz alanları bu değişkene yazın. Geri kalan tüm alanlarda otomatik olarak log tutulacak.

 

Ek Dosya: FileMaker Pratik Log Tutma Örneği