TR_PDACCOUNTSEGMENTVALUE_INS
Definition
Copy
CREATE trigger dbo.TR_PDACCOUNTSEGMENTVALUE_INS
on dbo.PDACCOUNTSEGMENTVALUE for insert
as
declare @IsBasicGL Bit
declare @ShortID nvarchar(100);
declare @Description nvarchar(60);
declare @Length tinyint;
select top 1 @IsBasicGL = T2.ISBASICGL, @ShortID = T1.SHORTDESCRIPTION, @Description = T1.DESCRIPTION, @Length = T2.LENGTH from inserted T1 join dbo.PDACCOUNTSTRUCTURE T2 on T1.PDACCOUNTSTRUCTUREID = T2.ID
if @IsBasicGL = 0
begin
if UPDATE(SHORTDESCRIPTION)
begin
if not ((len(@ShortID) = @Length) and (@Length > 0)) and not ((@Length = 0) and (len(@ShortID)>=(0)) and (len(@ShortID) < 101))
BEGIN
RAISERROR ('CK_DATAELEMENT_LENGTH', 16, 1)
ROLLBACK
END
if not ((charindex('*',@ShortID) = 0) and (charindex('%',@ShortID) = 0) and (charindex('-',@ShortID) = 0) and (charindex(',',@ShortID) = 0) and (charindex('/',@ShortID) = 0) and (charindex(';',@ShortID) = 0) and (charindex('.',@ShortID) = 0))
BEGIN
RAISERROR ('CK_DATAELEMENT_SHORTIDVALIDCHARACTERS', 16, 1)
ROLLBACK
END
if @Description is null
BEGIN
RAISERROR ('CK_DATAELEMENT_DESCRIPTION', 16, 1)
ROLLBACK
END
if not ((len(@Description)>(0)) and (len(@Description) < 61))
BEGIN
RAISERROR ('CK_DATAELEMENT_DESCRIPTION', 16, 1)
ROLLBACK
END
if not ((charindex('*',@Description) = 0) and (charindex('?',@Description) = 0))
begin
raiserror('CK_DATAELEMENT_DESCRIPTIONVALIDCHARACTERS', 16, 1)
rollback
end
end
end
else
begin
if not ((len(@ShortID)>=(0)) and (len(@ShortID) < 101))
BEGIN
RAISERROR ('CK_PDACCOUNTSEGMENTVALUE_SHORTDESCRIPTION', 16, 1)
ROLLBACK
END
end