UFN_PRICELIST_ISEQUALTOPRICES
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PRICELISTID | uniqueidentifier | IN | |
@PRICES | xml | IN | |
@INCLUDEINACTIVEPRICETYPES | bit | IN |
Definition
Copy
create function dbo.UFN_PRICELIST_ISEQUALTOPRICES(@PRICELISTID uniqueidentifier, @PRICES xml, @INCLUDEINACTIVEPRICETYPES bit)
returns bit
as begin
if @PRICELISTID is null or @PRICES is null begin
return 0;
end
declare @AREEQUAL bit = 1;
if exists (
select
*
from (
select
PRICE.PRICETYPECODEID,
PRICE.FACEPRICE,
PRICE.SEQUENCE
from
dbo.PRICE
inner join
dbo.PRICETYPECODE on PRICETYPECODE.ID = PRICE.PRICETYPECODEID
where
PRICE.PRICELISTID = @PRICELISTID
and (@INCLUDEINACTIVEPRICETYPES = 1 or PRICETYPECODE.ACTIVE = 1)
) as PRICELISTPRICES
full outer join (
select
prices.value('(PRICETYPECODEID)[1]','uniqueidentifier') as PRICETYPECODEID,
prices.value('(FACEPRICE)[1]','money') as FACEPRICE,
prices.value('(SEQUENCE)[1]','int') as SEQUENCE
from
@PRICES.nodes('/PRICES/ITEM') T(prices)
) as PRICESCOLLECTION
on PRICESCOLLECTION.PRICETYPECODEID = PRICELISTPRICES.PRICETYPECODEID
and PRICESCOLLECTION.FACEPRICE = PRICELISTPRICES.FACEPRICE
and PRICESCOLLECTION.SEQUENCE = PRICELISTPRICES.SEQUENCE
where
(PRICELISTPRICES.PRICETYPECODEID is null or PRICESCOLLECTION.PRICETYPECODEID is null)
) begin
set @AREEQUAL = 0;
end
return @AREEQUAL;
end