Anasayfa > Netsis Genel Bilgiler, SQL Kayıt Düzenleme İşlemleri > Netsis’te Otomatik Tarih Kilidi Çalıştırmak, Kullanmak

Netsis’te Otomatik Tarih Kilidi Çalıştırmak, Kullanmak

Sorumluların işletmelerde en çok şikayet ettiği durumlardan birisi de geriye yada ileriye dönük kayıtların düzeltilmesi yada işlem yapılmasıdır. Bunu engellemek için Netsis’in tarih kilitleme özelliği kullanılabilir. Fakat bu işlem kişiye bağlıdır ve çok şubeniz varsa her şubeye girip her gün tarih kilitini değiştirmeniz gerekiyor. Bu işlemi otomatik hale getirmek için aşağıdaki fonksiyonu ve update cümlesini sql joblarına ekleyip belirli bir zamana ayarlayarak çalışmasını sağlayabilirsiniz. Örnekte açık tarih aralığı dün ve bugün olarak ayarlanmıştır. Siz sadece bugün de yapabilirsiniz.

Önce getdate() fonksiyonundan saat ve dakika bilgisini ayıran fonksiyonumuzu oluşturuyoruz. Cümleyi ilgili databasede çalıştırın.

CREATE FUNCTION [dbo].[AltinF_Tarih](@XTARIH SmallDateTime)
RETURNS SmallDateTime
AS
BEGIN
DECLARE @RETDATE SmallDateTime
SET @RETDATE =
Cast(DatePart(YYYY,@XTARIH) AS VARCHAR(4))+’-‘+
Cast(DatePart(MM,@XTARIH) AS VARCHAR(2))+’-‘+
Cast(DatePart(DD,@XTARIH) AS VARCHAR(2))
RETURN @RETDATE
END

2. Aşamada SQL Job’lardan aşağıdaki UPDATE cümlesini istediğimiz zamana ayarlıyoruz. Bu cümlede şube kodu 0 1 2 3 4 olarak kısıt verilmiş ve kullanıcı no 11 dışındaki kullanıcılar kilitlensin denmiştir. Kısıtı kendi isteğinize göre değiştirebilirsiniz. İşlem bu kadar.

UPDATE TBLKULLANP SET TRH_KILIT_BAS=dbo.AltinF_Tarih(GETDATE())-2,
TRH_KILIT_BIT=dbo.AltinF_Tarih(GETDATE())
WHERE SUBE_KODU IN (0,1,2,3,4) AND KULLANICI_NO<>’11’

Bu işlemi fonksiyon tanımı yapmadan ve kullanmadan da yapabileceğimiz kısa bir SQL cümlesini de sizlerle paylaşmak isterim. İki gruba ayırdığım kullanıcıları aşağıdaki şekilde sql job ile zamanlayarak çalıştırabilirim.

/* Örnek Depo Yöneticileri */
UPDATE TBLKULLANP SET TRH_KILIT_BAS = (Select CONVERT(VARCHAR, GETDATE()-30, 23)) — Bugünden geriye son 15 Gün
, TRH_KILIT_BIT = (Select CONVERT(VARCHAR(10),DATEADD(dd,-(DAY(DATEADD(mm,1, GETDATE()))),DATEADD(mm,1, GETDATE())),23)) –İçinde bulunulan Ayın son günü
FROM TBLKULLANP WHERE SUBE_KODU = ‘0’ AND KULLANICI_NO IN (‘-34′,’36’,’43’)

/* Örnek Diğer Kullanıcılar */
UPDATE TBLKULLANP SET TRH_KILIT_BAS = (Select CONVERT(VARCHAR, GETDATE(), 23)) — Bugünün Tarihi
, TRH_KILIT_BIT = (Select CONVERT(VARCHAR(10),DATEADD(dd,-(DAY(DATEADD(mm,1, GETDATE()))),DATEADD(mm,1, GETDATE())),23)) –İçinde bulunulan Ayın son günü
FROM TBLKULLANP WHERE SUBE_KODU = ‘0’ AND KULLANICI_NO NOT IN (‘-11′,’55’,’-36′,’-37′,’5′,’17’,’18’,’28’,’35’,’57’,’-1′,’1′,’-42′,’31’,’100′,’101′,’102′,’103′,’-34′,’36’,’43’)

  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: