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