USP_CREDITMEMO_VALIDATE

Validates saving a credit memo

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@REMITADDRESSID uniqueidentifier IN
@BANKACCOUNTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_CREDITMEMO_VALIDATE(
  @ID uniqueidentifier
  ,@REMITADDRESSID uniqueidentifier
  ,@BANKACCOUNTID uniqueidentifier
)
as
begin
  declare @PAID bit = 0;

  if exists (
    select  I.ID
      from dbo.CREDITMEMO I
      join dbo.FINANCIALTRANSACTION FT on FT.ID = I.ID
      join dbo.FINANCIALTRANSACTIONAPPLICATION FTA on FTA.FINANCIALTRANSACTIONSCHEDULEID = FT.ID
      where FTA.STATUSCODE <> 2 and FT.ID = I.ID) 
    set @PAID = 1;

  if @PAID = 1 
    begin 

     IF EXISTS (
          SELECT I.ID
          FROM dbo.CREDITMEMO I
          WHERE I.ID = @ID and I.REMITADDRESSID  <> @REMITADDRESSID 
            )
      BEGIN
          RAISERROR ('ERR_INVOICE_LOCKEDREMITADDRESSID', 16, 1)
      END

     IF EXISTS (
            SELECT I.ID
            FROM dbo.CREDITMEMO I
            WHERE I.ID = @ID and I.BANKACCOUNTID  <> @BANKACCOUNTID 
        )
      BEGIN
          RAISERROR ('ERR_INVOICE_LOCKEDBANKACCOUNTID', 16, 1)
      END

   end
end