Sayfayı Yazdır | Pencereyi Kapat

Eksik & Hatali kayitlarin düzeltilmesi

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=2987
Tarih: 22 Ağustos 2025 Saat 22:38
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Eksik & Hatali kayitlarin düzeltilmesi
Mesajı Yazan: rhan
Konu: Eksik & Hatali kayitlarin düzeltilmesi
Mesaj Tarihi: 23 Şubat 2012 Saat 13:54
Netsis genelinde Eksik & Hatali kayitlarin düzeltilmesi için kullandigim prosedür örnegi asagidadir, sizin de benzer uygulamalariniz varsa paylasirsaniz genel bir kontrol olusturmus oluruz.

-------------------------------


DROP PROCEDURE [dbo].[EKSIKKONTROLU]
GO
CREATE PROCEDURE [dbo].[EKSIKKONTROLU]
(@KONTROL CHAR)
AS
BEGIN
DECLARE @BASLANGIC DATETIME
SET @BASLANGIC = GETDATE()
---1 CARI EKLERI KONTROLLERI
INSERT INTO TBLCASABITEK (CARI_KOD)
SELECT  CARI_KOD FROM TBLCASABIT WHERE CARI_KOD NOT IN (SELECT  CARI_KOD FROM TBLCASABITEK )
PRINT '1' + 'CARI EKLERI KONTROLLERI' + ' SN : ' + CAST(DATEDIFF(SECOND, @BASLANGIC, GETDATE()) AS NVARCHAR)
---1.1 CARI EKSIK ALANLAR
update TBLCASABIT set HESAPTUTMASEKLI='Y' WHERE HESAPTUTMASEKLI IS NULL
update TBLCASABIT set DOVIZLIMI='H' WHERE DOVIZLIMI IS NULL
update TBLCASABIT set CARI_TIP='A' WHERE CARI_TIP IS NULL --- NULL SA MUHASEBE KAYDI ATMIYOR
update TBLCASABIT set C_YEDEK1='A' WHERE C_YEDEK1 IS NULL --- KILIT ACIK/KAPALI
update TBLCASABIT set ULKE_KODU='TR' WHERE ULKE_KODU IS NULL
PRINT '1.1' + 'CARI EKSIK ALANLAR' + ' SN : ' + CAST(DATEDIFF(SECOND, @BASLANGIC, GETDATE()) AS NVARCHAR)
---1.2 ILGILI SUBE KAYDI
DECLARE @MERKEZ_SUBE INT
SET @MERKEZ_SUBE = (SELECT SUBE_KODU FROM TBLSUBELER WHERE MERKEZMI='E' AND ISLETME_KODU=1)
UPDATE TBLCASABITEK SET I_YEDEK1=  @MERKEZ_SUBE
PRINT '1.2' + 'ILGILI SUBE KAYDI' + ' SN : ' + CAST(DATEDIFF(SECOND, @BASLANGIC, GETDATE()) AS NVARCHAR)
---2 MUHASEBE KONTROLLERI
INSERT INTO TBLMUPLANEK (KOD)
SELECT  HESAP_KODU FROM TBLMUPLAN WHERE HESAP_KODU NOT IN (SELECT  KOD  FROM TBLMUPLANEK)
PRINT '2' + 'MUHASEBE KONTROLLERI' + ' SN : ' + CAST(DATEDIFF(SECOND, @BASLANGIC, GETDATE()) AS NVARCHAR)
---2.1 HESAP TURLERI
UPDATE TBLMUPLAN SET HS_BLKZ = 'A' WHERE HESAP_KODU<'300' AND HS_BLKZ IS NULL
UPDATE TBLMUPLAN SET HS_BLKZ = 'P' WHERE HESAP_KODU>'300' AND HESAP_KODU<'600'  AND HS_BLKZ IS NULL
UPDATE TBLMUPLAN SET HS_BLKZ = 'G' WHERE (HESAP_KODU LIKE '60%' OR HESAP_KODU LIKE '61%' OR HESAP_KODU LIKE '64%' OR HESAP_KODU LIKE '67%' OR HESAP_KODU LIKE '69%' ) AND HS_BLKZ IS NULL
UPDATE TBLMUPLAN SET HS_BLKZ = 'I' WHERE (HESAP_KODU LIKE '61%' OR HESAP_KODU LIKE '62%' OR HESAP_KODU LIKE '63%' OR HESAP_KODU LIKE '65%' OR HESAP_KODU LIKE '66%' OR HESAP_KODU LIKE '68%' OR HESAP_KODU LIKE '7%'  ) AND HS_BLKZ IS NULL
PRINT '2.1' + 'HESAP TURLERI' + ' SN : ' + CAST(DATEDIFF(SECOND, @BASLANGIC, GETDATE()) AS NVARCHAR)
---2.2 HATALI FIS KAYDININ SILINMESI
DELETE FROM TBLMUHMAS WHERE AY_KODU = 1 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 1)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 2 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 2)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 3 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 3)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 4 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 4)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 5 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 5)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 6 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 6)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 7 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 7)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 8 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 8)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 9 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 9)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 10 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 10)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 11 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 11)
DELETE FROM TBLMUHMAS WHERE AY_KODU = 12 AND MAS_FISNO NOT IN (SELECT FISNO FROM TBLMUHFIS M WHERE AY_KODU = 12)
PRINT '2.2' + 'HATALI FIS KAYDININ SILINMESI' + ' SN : ' + CAST(DATEDIFF(SECOND, @BASLANGIC, GETDATE()) AS NVARCHAR)
---2.3 MUHASEBE GRUPLARINDA HATALI KODLAMA VARSA BILANCODA HATA ALINIYOR
DELETE FROM TBLMUGRUP WHERE GRUP_KOD LIKE '0%' OR GRUP_KOD >'99'
UPDATE TBLMUPLAN SET HS_GRKOD = SUBSTRING(HESAP_KODU, 1,2 ) where HS_GRKOD IS NULL
--- grup kodlari bossa, mizanda hatali geliyor
UPDATE TBLMUPLAN SET HS_GRKOD = SUBSTRING(HESAP_KODU, 1,2 )where HS_GRKOD <> SUBSTRING(HESAP_KODU, 1,2 )  
--- grup kodlari hatali açilmis olan kayitlar
PRINT '2.3' + 'MUHASEBE GRUPLARINDA HATALI' + ' SN : ' + CAST(DATEDIFF(SECOND, @BASLANGIC, GETDATE()) AS NVARCHAR)                            
---3 STOK KONTROLLERI
---3.1 STOK EKLERI VAR MI ?
INSERT INTO TBLSTSABITEK (STOK_KODU)
SELECT STOK_KODU FROM TBLSTSABIT WHERE STOK_KODU NOT IN (SELECT STOK_KODU FROM TBLSTSABITEK)
---3.2 STOK HAREKETLERINDE MIKTAR KALMIS IRSALIYE VAR MI ?
UPDATE TBLSTHAR SET STHAR_GCMIK = 0 WHERE STHAR_HTUR='N' AND STHAR_GCMIK>0

---4 KULLANICI GEÇMIS SIFRELERI TEMIZLEME
UPDATE TBLKULLANP SET SIFRE1=NULL, SIFRE2=NULL , SIFRE3=NULL, SIFRE4=NULL,SIFRE5=NULL, SIFRE6=NULL , SIFRE7=NULL, SIFRE8=NULL

---5 GENEL KULLANILAN OZEL PARAMETRELER
INSERT INTO NETSIS..PRGOZELPRM
(PAKETNO, GRUPKOD, ANAHTAR, DEGER )
SELECT 0, 'STOK', 'SAYIM_ISLEME_ENTEGRASYONA_HAREKET_TARIHI_AT' ,'0'
WHERE 'SAYIM_ISLEME_ENTEGRASYONA_HAREKET_TARIHI_AT' NOT IN (SELECT ANAHTAR FROM  NETSIS..PRGOZELPRM )

--6 DIZAYN HATALARI 19.10.2011
UPDATE TBLDIZAYNKALEM set BASLIKYAZ ='H' WHERE BASLIKYAZ='' OR BASLIKYAZ IS NULL
UPDATE TBLDIZAYNKALEM set BASLANGIC ='1' WHERE BASLANGIC='0'

--7 NETSIS SIRKETLERI YIL HATASI, ISKONTOLAR HATALI OLUYOR
UPDATE NETSIS..SIRKETLER30 SET SIRKETYILI = YEAR(GETDATE()) WHERE SIRKETYILI IS NULL
END


--EXEC dbo.[EKSIKKONTROLU] 'E'



Cevaplar:
Mesajı Yazan: tlosfethiye
Mesaj Tarihi: 23 Şubat 2012 Saat 15:18

tesekkürler



-------------
Recep TEKE
ASR Danişmanlik



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net