-- Onaya gönderilmiş talebin başlığı değiştirilemez (Taleplerim ve talebi gösteren diğer ekranlar): değişiklik için talep Taslak adımına alınır, -- düzenlenir ve yeniden onaya gönderilir. Kural ekranın UpdateBeforeCommand'ında değil burada, çünkü onay akışı da başlığı aynı güncelleme -- yolundan yazar; yalnız iş alanları karşılaştırılır, onay alanları (durum, onaycı, tarih, açıklama, onaycı listeleri) ve silme serbesttir. -- Satırların kuralı Prc.MaterialRequestLine'ın Insert/Update/DeleteBeforeCommand'ındadır. CREATE OR ALTER TRIGGER [dbo].[Prc_TR_MaterialRequestLock] ON [dbo].[Prc_T_MaterialRequest] AFTER UPDATE AS BEGIN SET NOCOUNT ON; IF EXISTS (SELECT 1 FROM inserted i INNER JOIN deleted d ON d.Id = i.Id WHERE ISNULL(d.ApprovalStatus, N'') <> N'' AND i.IsDeleted = 0 AND (i.Priority <> d.Priority OR i.RequesterUserId <> d.RequesterUserId OR i.BranchId <> d.BranchId OR i.DepartmentId <> d.DepartmentId OR i.WarehouseId <> d.WarehouseId OR i.LocationId <> d.LocationId OR i.RequestDate <> d.RequestDate OR ISNULL(i.Description, N'') <> ISNULL(d.Description, N''))) THROW 50004, N'Onaya gönderilmiş talep değiştirilemez: önce talebi Taslak adımına alın, düzenleyip yeniden onaya gönderin.', 1; END GO