Logo Destek
Logo Nostalji => GO => Konuyu başlatan: enginhazar - 13.09.2008, 18:33
-
HERKESE MERHABA : (ÇEK GİRİŞ BORDROSUNA YANLIŞLIKLA BAŞKA BİR
MÜŞTERİNİN ÇEKİNİ İLAVE ETMİŞİZ YANLIŞ ÇEKİ BORDRODAN ÇİKARİP
YENİ BİR BORDROLA DOĞRU MÜŞTERİNİN HESABINA GİRDİK
HESAPLARDA HERHANGİ BİR SORUN YOK )
FAKAT ÇEK SENETLERİ AÇTIĞIMIZDA ÇIKARDIĞIMIZ ÇEK ORDA
DURUYOR YENİ BORDRODA GİRDİĞMİZ AYNI ÇEK İDE GÖSTERİYOR
TEK ÇEK VAR 2 TANE AYRI AYRI PÖRTFÖY NUMARALI ÇEK GÖRÜNÜYOR
SORU HANGİ SQL KOMUTU İLE FAZLA OLAN ÇEKİ SİLEBİLİRİM
CEVAPLAR İÇİN TEŞEKÜRLER
-
merhaba aşağıdaki querryi dene ama bence gir clf line dan elle kendin sil
----------------------------------------------------------------------------------------------------------------
------------------ ÇEKSENET NUMARALARI HATALI OLAN KAYITLAR ----------------------------------------------------
----------------------------------------------------------------------------------------------------------------
------- Firma No : _010_02
----------------------------------------------------------------------------------------------------------------
DECLARE @DOC SMALLINT
DECLARE @PORTFOYNO VARCHAR(9)
DECLARE @LOGICALREF INT
DECLARE @SAYI INT
DECLARE CEKSEN_PORTFOYNO_yasak CURSOR FOR
-------------------------------------------------------------------
SELECT
DOC, PORTFOYNO, COUNT(*) "SAYI"
FROM
LG_010_02_CSCARD
GROUP BY
DOC, PORTFOYNO
HAVING
COUNT(*)>1
-------------------------------------------------------------------
OPEN CEKSEN_PORTFOYNO_yasak FETCH NEXT FROM CEKSEN_PORTFOYNO_yasak
INTO @DOC, @PORTFOYNO, @SAYI
WHILE @@FETCH_STATUS = 0
-------------------------------------------------------------------
BEGIN
SELECT @LOGICALREF=MIN(LOGICALREF) FROM LG_010_02_CSCARD WHERE DOC=1 AND PORTFOYNO=@PORTFOYNO
yasak LG_010_02_CSCARD SET PORTFOYNO='H'+SUBSTRING(PORTFOYNO,2,LEN(PORTFOYNO)) WHERE DOC=@DOC AND PORTFOYNO=@PORTFOYNO AND LOGICALREF=@LOGICALREF
-------------------------------------------------------------------
FETCH NEXT FROM CEKSEN_PORTFOYNO_yasak
INTO @DOC, @PORTFOYNO, @SAYI
END
CLOSE CEKSEN_PORTFOYNO_yasak
DEALLOCATE CEKSEN_PORTFOYNO_yasak
----------------------------------------------------------------------------------------------------------------
Merhaba,
Yedek alıp aşağıdaki sorguyu çalıştırır mısınız? Firma ve dönem numaralarını değiştirmeyi unutmayınız
CREATE UNIQUE INDEX [IFFF_DD_CSCARD_I2] ON [dbo].[LG_FFF_DD_CSCARD]([DOC], [PORTFOYNO]) ON [PRIMARY]
----------
Merhaba,
Yedek aldıktan sonra bu işlemleri yapın.
Çek kartları penceresinde aynı portföy numaralı kayıtlar olabilir. Kontrol ve düzeltme için aşağıdaki sorguları kullanın.
----------CEKSENET PORTFOY NUMARALARI TEK OLMAYANLARIN LİSTELENMESİ --------------
SELECT
DOC, PORTFOYNO, COUNT(*) "SAYI"
FROM
LG_010_01_CSCARD (NOLOCK)
GROUP BY
DOC, PORTFOYNO
HAVING
COUNT(*)>1
ÇEKSENET NUMARALARI HATALI OLAN KAYITLAR ----------------------------------------------------
----------------------------------------------------------------------------------------------------------------
------- Firma No : _010_02
----------------------------------------------------------------------------------------------------------------
DECLARE @DOC SMALLINT
DECLARE @PORTFOYNO VARCHAR(9)
DECLARE @LOGICALREF INT
DECLARE @SAYI INT
DECLARE CEKSEN_PORTFOYNO_yasak CURSOR FOR
-------------------------------------------------------------------
SELECT
DOC, PORTFOYNO, COUNT(*) "SAYI"
FROM
LG_010_02_CSCARD
GROUP BY
DOC, PORTFOYNO
HAVING
COUNT(*)>1
-------------------------------------------------------------------
OPEN CEKSEN_PORTFOYNO_yasak FETCH NEXT FROM CEKSEN_PORTFOYNO_yasak
INTO @DOC, @PORTFOYNO, @SAYI
WHILE @@FETCH_STATUS = 0
-------------------------------------------------------------------
BEGIN
SELECT @LOGICALREF=MIN(LOGICALREF) FROM LG_010_02_CSCARD WHERE DOC=1 AND PORTFOYNO=@PORTFOYNO
yasak LG_010_02_CSCARD SET PORTFOYNO='H'+SUBSTRING(PORTFOYNO,2,LEN(PORTFOYNO)) WHERE DOC=@DOC AND PORTFOYNO=@PORTFOYNO AND LOGICALREF=@LOGICALREF
-------------------------------------------------------------------
FETCH NEXT FROM CEKSEN_PORTFOYNO_yasak
INTO @DOC, @PORTFOYNO, @SAYI
END
CLOSE CEKSEN_PORTFOYNO_yasak
DEALLOCATE CEKSEN_PORTFOYNO_yasak
-
ÖNCELİKLE CEVAP INIZ TEŞEKÜR EDERİM INDEXS KOMUTU HARİÇ DİĞER KOMUTLARADA
(Command(s) completed successfully.)COMMAND BAŞARIYLA TAMAMLANDI MESAJI VERIYORDU
CREATE UNIQUE INDEX [I007_02_CSCARD_I2] ON [dbo].[LG_007_02_CSCARD]([DOC], [PORTFOYNO]) ON [PRIMARY]
( FİRMA NO 007 DÖNEM 02 )BU KOMMUTTADA
Msg 1913, Level 16, State 1, Line 2
The operation failed because an index or statistics with name 'I007_02_CSCARD_I2' already exists on table 'dbo.LG_007_02_CSCARD'. BÖYLE MESAJ ÇİKTI
ÇEK SENETLERİ AÇTİĞİMDA FAZLA ÇEK DURUYOR
-
bu hatayı aynı portfoy numaralı çek senet olduğu için veriyor o zaman aşağıdakiş sorguyu çalıştırın ilgili çekleri bulup elle çıkarın
CEKSENET PORTFOY NUMARALARI TEK OLMAYANLARIN LİSTELENMESİ --------------
SELECT
DOC, PORTFOYNO, COUNT(*) "SAYI"
FROM
LG_010_01_CSCARD (NOLOCK)
GROUP BY
DOC, PORTFOYNO
HAVING
COUNT(*)>1
size liste yapar zaten
-
tekrar teşekürler: dediğiniz gibi komutu çaliştırınca 0(sıfır) satır
etkilendi veriyor daha öncede çek senetlerde fiş numaralama
işlemi yapmıştım dolayısıyla yukarıdada yazdığım gibi aynı numaralı
çek senet olayı yok SİZDEN RİCAM 001324 pörtföy numaralı çeki
hangi sql komutu ile silebilirim
-
QUERRY ANALYSER DE DELETE FROM LG_FFF_DD_CSCARD WHERE PORTFOYNO = 'XXXXXX' AMA GENEDE BİR BİLENLE BERABER YAPMANIZI ÖNERİRİM
-
:-* :-* :-* elınıze beyninize sağlık