UFN_TRANSLATIONFUNCTION_SALESORDERITEM_WITHTOTAL
Return
Return Type |
---|
nvarchar(100) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_TRANSLATIONFUNCTION_SALESORDERITEM_WITHTOTAL(
@ID uniqueidentifier
) returns nvarchar(100)
as
begin
declare @DESCRIPTION nvarchar(100);
declare @ITEMTYPECODE tinyint;
declare @LOCALEID int;
select @ITEMTYPECODE = [TYPECODE] from dbo.[SALESORDERITEM] where [ID] = @ID;
select top 1 @LOCALEID = [LOCALE].[LOCALEID]
from dbo.[LOCALE]
inner join dbo.[CURRENCY]
on [LOCALE].[ID] = [CURRENCY].[LOCALEID]
where [ISORGANIZATIONCURRENCY] = 1;
if @ITEMTYPECODE = 0
select @DESCRIPTION = case
when [SALESORDERITEMTICKETCOMBINATION].[ID] is not null then
[PRICETYPECODE].[DESCRIPTION] + ' - ' + [COMBINATION].[NAME] + ': ' + coalesce([EVENT].[NAME],[PROGRAM].[NAME]) + coalesce(' (' + convert(nvarchar(10), [EVENT].[STARTDATE], 101) + ' - ' + dbo.UFN_HOURMINUTE_DISPLAYTIME([EVENT].[STARTTIME]) + ')','') +
--Item total out of combination total
' (' + dbo.UFN_FORMAT_CURRENCY([SALESORDERITEM].[TOTAL],@LOCALEID) + '/' + dbo.UFN_FORMAT_CURRENCY([TICKETCOMBINATIONGROUP].[TOTAL],@LOCALEID) + ')'
else [SALESORDERITEM].[DESCRIPTION] + coalesce(' (' + convert(nvarchar(10), [EVENT].[STARTDATE], 101) + ' - ' + dbo.UFN_HOURMINUTE_DISPLAYTIME([EVENT].[STARTTIME]) + ')','') + ' (' + dbo.UFN_FORMAT_CURRENCY([SALESORDERITEM].[TOTAL],@LOCALEID) + ')'
end
from dbo.[SALESORDERITEM]
inner join dbo.[SALESORDER]
on [SALESORDERITEM].[SALESORDERID] = [SALESORDER].[ID]
inner join dbo.[SALESORDERITEMTICKET]
on [SALESORDERITEM].[ID] = [SALESORDERITEMTICKET].[ID]
left join dbo.[EVENT]
on [SALESORDERITEMTICKET].[EVENTID] = [EVENT].[ID]
left join dbo.[PROGRAM]
on [SALESORDERITEMTICKET].[PROGRAMID] = [PROGRAM].[ID]
inner join dbo.[PRICETYPECODE]
on [SALESORDERITEMTICKET].[PRICETYPECODEID] = [PRICETYPECODE].[ID]
left join dbo.[SALESORDERITEMTICKETCOMBINATION]
on [SALESORDERITEMTICKET].[ID] = [SALESORDERITEMTICKETCOMBINATION].[ID]
left join dbo.[COMBINATION]
on [SALESORDERITEMTICKETCOMBINATION].[COMBINATIONID] = [COMBINATION].[ID]
outer apply (
select sum([SOI].[TOTAL]) as [TOTAL]
from dbo.[SALESORDERITEM] as [SOI]
inner join dbo.[SALESORDERITEMTICKETCOMBINATION] as [SOITC]
on [SOI].[ID] = [SOITC].[ID]
where [SOITC].[TICKETCOMBINATIONID] = [SALESORDERITEMTICKETCOMBINATION].[TICKETCOMBINATIONID]
) as [TICKETCOMBINATIONGROUP]
where [SALESORDERITEM].[ID] = @ID
else if @ITEMTYPECODE = 6
select @DESCRIPTION =
dbo.UFN_CONSTITUENT_BUILDNAME([REGISTRANT].[CONSTITUENTID]) + ' - ' +
[SALESORDERITEM].[DESCRIPTION] + ' (' + dbo.UFN_FORMAT_CURRENCY([SALESORDERITEM].[TOTAL],@LOCALEID) + ')'
from dbo.[SALESORDERITEM]
inner join dbo.[SALESORDERITEMEVENTREGISTRATION]
on [SALESORDERITEM].[ID] = [SALESORDERITEMEVENTREGISTRATION].[ID]
inner join dbo.[REGISTRANT]
on [SALESORDERITEMEVENTREGISTRATION].[REGISTRANTID] = [REGISTRANT].[ID]
where [SALESORDERITEM].[ID] = @ID
else
select @DESCRIPTION = [SALESORDERITEM].[DESCRIPTION]+ ' (' + dbo.UFN_FORMAT_CURRENCY([SALESORDERITEM].[TOTAL],@LOCALEID) + ')'
from dbo.[SALESORDERITEM]
where [ID] = @ID
return @DESCRIPTION;
end