Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE [CDNXL_ASXSASD]
- GO
- /****** Object: Trigger [CDN].[TraElem_AFRabatDok] Script Date: 10/30/2012 10:26:30 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- =============================================
- -- Author: <Author,,Name>
- -- Create date: <Create Date,,>
- -- Description: <Description,,>
- -- =============================================
- ALTER TRIGGER [CDN].[TraElem_AFRabatDok]
- ON [CDN].[TraElem]
- AFTER UPDATE
- AS
- BEGIN
- --treść skopiowana z triggera z CDN.TraNag AFRabatDok
- -- SET NOCOUNT ON added to prevent extra result sets from
- -- interfering with SELECT statements.
- SET NOCOUNT ON;
- if update(tre_rabat)
- begin
- --@idAtr - atrybut z wartoscia rabatu
- --@RabatMin - w przypadku braku rabatu na operatorze, ta wartosc jest dopuszczalna
- --@RabatCheck - jesli ma wartosc 'TAK' na karcie towarowej pozycji kontrola rabatu na tej pozycji nie działa
- declare @idAtr int
- declare @RabatMin decimal(5,2)
- declare @RabatOper decimal(5,2)
- declare @RabatCheck int
- set @IdAtr=1015 --!!!Tu id atrybutu operatora
- set @RabatCheck=1016
- set @RabatMin=5.2
- if
- exists
- (select * from inserted INS
- JOIN cdn.TraNag as TRN on INS.TrE_GIDTyp = TRN.TrN_GIDTyp AND INS.TrE_GIDNumer = TRN.TrN_GIDNumer
- --join deleted DEL on DEL.trn_gidnumer=INS.trn_gidnumer
- where ins.tre_gidtyp in (2001,2033,2034) )
- --and TRN.trN_stan>2 and TRN.trn_stan<>6 and del.trn_stan<=2)
- Begin
- set @RabatOper =isnull((select cast(isnull(atr_wartosc,@RabatMin) as decimal(5,2)) from inserted as INS
- JOIN cdn.TraNag as TRN on INS.TrE_GIDTyp = TRN.TrN_GIDTyp AND INS.TrE_GIDNumer = TRN.TrN_GIDNumer
- join cdn.atrybuty on atr_obityp=trn_opetypm and atr_obinumer=TrN_OpeNumerM and atr_atkid=@IdAtr),@RabatMin)
- if exists(select * from inserted as INS
- JOIN cdn.TraNag as TRN on INS.TrE_GIDTyp = TRN.TrN_GIDTyp AND INS.TrE_GIDNumer = TRN.TrN_GIDNumer
- join cdn.twrkarty on twr_gidnumer=tre_twrnumer
- left join cdn.atrybuty on atr_obityp=twr_gidtyp and atr_obinumer=twr_gidnumer and atr_atkid=@RabatCheck
- where tre_rabat>@RabatOper and isnull(atr_wartosc,'')<>'TAK' and TrE_CenaSpr=3
- AND (Right(IsNull(TRN.TrN_TrnSeria,''),2)<>'RE') )
- AND
- --tu ma być tru jeśli w cechach na dostawie znajdę cokolwiek niż ODCIN
- Exists (select * from inserted
- JOIN CDN.TraSElem
- ON TrE_GIDTyp=TrS_GIDTyp AND TrE_GIDNumer=TrS_GIDNumer AND TrE_GIDLp=TrS_GIDLp
- JOIN CDN.Dostawy
- ON Dst_GIDNumer=TrS_DstNumer
- where
- Left(Dst_Cecha,5) <> 'ODCIN')
- Begin
- declare @komunikat1 varchar(500)
- set @komunikat1='#CDN_INFO/# #CDN_1=Przekroczony rabat na pozycji '
- --+
- --(select min(cast(tre_pozycja as varchar(4))) from inserted
- -- join cdn.traelem (nolock) on tre_gidnumer=trn_gidnumer
- -- join cdn.twrkarty on twr_gidnumer=tre_twrnumer
- -- left join.atrybuty on atr_obityp=twr_gidtyp and atr_obinumer=twr_gidnumer and atr_atkid=@RabatCheck
- -- where tre_rabat>@RabatOper and isnull(atr_wartosc,'')<>'TAK' and TrE_CenaSpr=3)
- +
- '!/# #CDN_2=Twój max.rabat to '
- +
- cast(@RabatOper as varchar(5))
- +
- '/# #CDN_3=Zmniejsz rabat /#'
- raiserror(@komunikat1,16,1)
- ROLLBACK TRAN
- SET NOCOUNT ON
- RETURN
- end
- end
- end
- SET NOCOUNT OFF
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement