UFN_MKTASKLADDER_CALCVALUE

Converts a given entry amount into an ask ladder item value.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@TYPECODE tinyint IN
@ENTRYAMOUNT money IN
@FACTORAMOUNT money IN
@ROUNDTOAMOUNT money IN
@MINIMUMENTRYAMOUNT money IN

Definition

Copy


CREATE function dbo.[UFN_MKTASKLADDER_CALCVALUE]
(
  @TYPECODE tinyint,
  @ENTRYAMOUNT money,
  @FACTORAMOUNT money,
  @ROUNDTOAMOUNT money,
  @MINIMUMENTRYAMOUNT money
)
returns money
as 
  begin
    declare @VALUE money;

    if @FACTORAMOUNT = 0 or @TYPECODE is null
      set @VALUE = null
    else 
      begin
        if @ENTRYAMOUNT < @MINIMUMENTRYAMOUNT
          set @ENTRYAMOUNT = @MINIMUMENTRYAMOUNT;

        if @TYPECODE = 0      -- add

          set @ENTRYAMOUNT = @ENTRYAMOUNT + @FACTORAMOUNT
        else if @TYPECODE = 1 -- multiply

          set @ENTRYAMOUNT = @ENTRYAMOUNT * @FACTORAMOUNT
        else if @TYPECODE = 2 -- fixed

          set @ENTRYAMOUNT = @FACTORAMOUNT;

        if @ROUNDTOAMOUNT > 0
          if (@ENTRYAMOUNT % @ROUNDTOAMOUNT) > 0 
            set @VALUE = @ENTRYAMOUNT + (@ROUNDTOAMOUNT - (@ENTRYAMOUNT % @ROUNDTOAMOUNT))
          else
            set @VALUE = @ENTRYAMOUNT
        else
          set @VALUE = @ENTRYAMOUNT
      end

    return @VALUE
  end