UFN_MKTASKLADDER_VALUEITEM
Returns an ask ladder value for a given sequence (1 - 5), based on an entry amount and an ask ladder ID.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEQUENCE | int | IN | |
@ASKLADDERID | uniqueidentifier | IN | |
@ENTRYAMOUNT | money | IN |
Definition
Copy
CREATE function dbo.[UFN_MKTASKLADDER_VALUEITEM]
(
@SEQUENCE int,
@ASKLADDERID uniqueidentifier,
@ENTRYAMOUNT money
)
returns money
as
begin
declare @ASK money;
if @ASKLADDERID is null
set @ASK = null
else
begin
set @ASK = 0;
set @ENTRYAMOUNT = dbo.[UFN_MKTASKLADDER_FIXENTRYAMOUNT](@ASKLADDERID, @ENTRYAMOUNT);
if @ENTRYAMOUNT is null
set @ASK = null
else
begin
if @SEQUENCE = 1
select @ASK = dbo.[UFN_MKTASKLADDER_CALCVALUE]([TYPECODE], @ENTRYAMOUNT, [ITEMVALUE1], [ROUNDTOAMOUNT], [MINIMUMENTRYAMOUNT]) from dbo.[MKTASKLADDERITEM] where [ASKLADDERID] = @ASKLADDERID and @ENTRYAMOUNT between [MINIMUMENTRYAMOUNT] and ([NEXTMINIMUMENTRYAMOUNT] - .0001);
else if @SEQUENCE = 2
select @ASK = dbo.[UFN_MKTASKLADDER_CALCVALUE]([TYPECODE], @ENTRYAMOUNT, [ITEMVALUE2], [ROUNDTOAMOUNT], [MINIMUMENTRYAMOUNT]) from dbo.[MKTASKLADDERITEM] where [ASKLADDERID] = @ASKLADDERID and @ENTRYAMOUNT between [MINIMUMENTRYAMOUNT] and ([NEXTMINIMUMENTRYAMOUNT] - .0001);
else if @SEQUENCE = 3
select @ASK = dbo.[UFN_MKTASKLADDER_CALCVALUE]([TYPECODE], @ENTRYAMOUNT, [ITEMVALUE3], [ROUNDTOAMOUNT], [MINIMUMENTRYAMOUNT]) from dbo.[MKTASKLADDERITEM] where [ASKLADDERID] = @ASKLADDERID and @ENTRYAMOUNT between [MINIMUMENTRYAMOUNT] and ([NEXTMINIMUMENTRYAMOUNT] - .0001);
else if @SEQUENCE = 4
select @ASK = dbo.[UFN_MKTASKLADDER_CALCVALUE]([TYPECODE], @ENTRYAMOUNT, [ITEMVALUE4], [ROUNDTOAMOUNT], [MINIMUMENTRYAMOUNT]) from dbo.[MKTASKLADDERITEM] where [ASKLADDERID] = @ASKLADDERID and @ENTRYAMOUNT between [MINIMUMENTRYAMOUNT] and ([NEXTMINIMUMENTRYAMOUNT] - .0001);
else if @SEQUENCE = 5
select @ASK = dbo.[UFN_MKTASKLADDER_CALCVALUE]([TYPECODE], @ENTRYAMOUNT, [ITEMVALUE5], [ROUNDTOAMOUNT], [MINIMUMENTRYAMOUNT]) from dbo.[MKTASKLADDERITEM] where [ASKLADDERID] = @ASKLADDERID and @ENTRYAMOUNT between [MINIMUMENTRYAMOUNT] and ([NEXTMINIMUMENTRYAMOUNT] - .0001);
end
end
return @ASK
end