none
Netsis Trigger RRS feed

  • Soru

  • Merhaba,

    Kullandığımız ERP programı Netsis'in stok modülü için bir trigger yazdım ama bazen çalışıyor bazen hata veriyor. 

    Stok kartı açılırken stok kodunun son 2 hanesini alıp başına 'rev' yazısını ekleyerek aynı tabloda bulunan KOD_4 hücresine yazmasını,

    Ayrıca stok kodunun arasındaki boslukları silerek aynı tabloda bulunan BARKOD1 hücresine yazmasını istiyorum. 

    INSERT INTO TBLSTSABIT
    (SUBE_KODU,ISLETME_KODU,KOD_4,BARKOD1)
    SELECT '0','1',('rev'+ RIGHT(STOK_KODU,2)),REPLACE(STOK_KODU,' ','') FROM INSERTED

    UPDATE TBLSTSABIT SET KOD_4=('rev'+ RIGHT(STOK_KODU,2)),BARKOD1=REPLACE(STOK_KODU,' ','') WHERE STOK_KODU  IN (SELECT STOK_KODU FROM INSERTED)

    END

    Yaptığım trigger'da aşağıdaki hatayı alıyorum;

    Violation of PRIMARY KEY constraint 'TBLSTSABIT_PKEY'. Cannot insert duplicate key in object 'dbo.TBLSTSABIT'.(NetsisMS-23000,2627)
    The statement has been terminated.(NetsisMS-01000,3621) 
    • Düzenleyen chasteeer 7 Mayıs 2018 Pazartesi 14:43
    7 Mayıs 2018 Pazartesi 13:47

Tüm Yanıtlar

  • DECLARE @KOD VARCHAR(35);

    SET @KOD=(SELECT STOK_KODU FROM INSERTED);

    UPDATE TBLSTSABIT SET BARKOD1=REPLACE(STOK_KODU,' ',''),KOD_4=('rev'+ RIGHT(STOK_KODU,2))
    WHERE STOK_KODU=@KOD;

    ISLETME_KODU ve SUBE_KODU zorunlu alan olarak ERP uygulaması tarafından database'e kaydedilir. Ayrıca bir şey yapılmamalı

    11 Mayıs 2018 Cuma 20:07