TR_CREDITMEMO_INSERT_UPDATE

Definition

Copy


          CREATE trigger TR_CREDITMEMO_INSERT_UPDATE on dbo.CREDITMEMO after insert,update not for replication
          as begin
          begin try  
            if exists(
              select I.ID
              from INSERTED I
              inner join dbo.FINANCIALTRANSACTION F on F.ID = I.ID
              where F.TRANSACTIONAMOUNT < I.BALANCE)
            begin
             raiserror('The balance must be less than or equal to the credit memo amount.', 13, 1)
            end

            if exists(
                      select V.ID
                from INSERTED I
                  inner join dbo.FINANCIALTRANSACTION F on F.ID = I.ID
                  left outer join dbo.VENDOR V on V.ID = F.CONSTITUENTID
                where 
                  V.ID is null
              )
                  begin
                    raiserror('The constituent must be a payables vendor.', 13, 1)
                  end

                  if exists(
              select I.ID 
              from INSERTED I
                inner join dbo.FINANCIALTRANSACTION F on F.ID = I.ID
                left outer join dbo.ADDRESS A on (A.CONSTITUENTID = F.CONSTITUENTID) and (A.ID = I.REMITADDRESSID)
              where 
                I.REMITADDRESSID is not null
                and A.ID is null
              )
            begin
              raiserror('The remit to address must belong to the selected vendor.', 13, 1);
            end  


                end try

                begin catch
                    exec dbo.USP_RAISE_ERROR;
                end catch    
          end