USP_DATALIST_MKTVENDORMATERIALEXPENSE
Displays a list of all materials and expenses for a vendor.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@VENDORID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@MATERIALTYPECODEID | uniqueidentifier | IN | Material type |
@EXPENSETYPECODEID | uniqueidentifier | IN | Expense type |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN | Sites selected |
@SECURITYFEATUREID | uniqueidentifier | IN | Input parameter indicating the ID of the feature to use for site security checking. |
@SECURITYFEATURETYPE | tinyint | IN | Input parameter indicating the type of the feature to use for site security checking. |
@CURRENCYCODE | tinyint | IN | Currency |
Definition
Copy
CREATE procedure dbo.[USP_DATALIST_MKTVENDORMATERIALEXPENSE]
(
@VENDORID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier = null,
@MATERIALTYPECODEID uniqueidentifier = null,
@EXPENSETYPECODEID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@CURRENCYCODE tinyint = 0
)
as
set nocount on;
declare @MATERIALEXPENSE table (
[ID] uniqueidentifier not null,
[MATERIALOREXPENSECODE] tinyint not null,
[NAME] nvarchar(100) not null,
[SITEID] uniqueidentifier null,
[SITE] nvarchar(1024) null,
[TYPE] nvarchar(100) null,
[COST] money not null,
[COSTDISTRIBUTIONMETHOD] nvarchar(100) not null,
[DESCRIPTION] nvarchar(255) null,
[CURRENCYID] uniqueidentifier null)
insert into @MATERIALEXPENSE
select
[MKTMATERIAL].[ID],
1 as [MATERIALOREXPENSECODE],
[MKTMATERIAL].[NAME],
[MKTMATERIAL].[SITEID],
dbo.[UFN_TRANSLATIONFUNCTION_SITE_GETNAME]([MKTMATERIAL].[SITEID]) as [SITE],
[MKTMATERIALTYPECODE].[DESCRIPTION] as [TYPE],
case @CURRENCYCODE when 1 then [MKTMATERIAL].[ORGANIZATIONCOST] else [MKTMATERIAL].[COST] end [COST],
[MKTMATERIAL].[COSTDISTRIBUTIONMETHOD],
[MKTMATERIAL].[DESCRIPTION],
case @CURRENCYCODE when 1 then dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]()
else [MKTMATERIAL].[BASECURRENCYID] end [CURRENCYID]
from dbo.[MKTMATERIAL]
left outer join dbo.[MKTMATERIALTYPECODE] on [MKTMATERIALTYPECODE].[ID] = [MKTMATERIAL].[MATERIALTYPECODEID]
where (@MATERIALTYPECODEID is null or [MKTMATERIAL].[MATERIALTYPECODEID] = @MATERIALTYPECODEID)
and [MKTMATERIAL].[VENDORID] = @VENDORID
union all
select
[MKTEXPENSE].[ID],
2 as [MATERIALOREXPENSECODE],
[MKTEXPENSE].[NAME],
[MKTEXPENSE].[SITEID],
dbo.[UFN_TRANSLATIONFUNCTION_SITE_GETNAME]([MKTEXPENSE].[SITEID]) as [SITE],
[MKTEXPENSETYPECODE].[DESCRIPTION] as [TYPE],
case @CURRENCYCODE when 1 then [MKTEXPENSE].[ORGANIZATIONCOST] else [MKTEXPENSE].[COST] end [COST],
[MKTEXPENSE].[COSTDISTRIBUTIONMETHOD],
[MKTEXPENSE].[DESCRIPTION],
case @CURRENCYCODE when 1 then dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]()
else [MKTEXPENSE].[BASECURRENCYID] end [CURRENCYID]
from dbo.[MKTEXPENSE]
left outer join dbo.[MKTEXPENSETYPECODE] on [MKTEXPENSETYPECODE].[ID] = [MKTEXPENSE].[EXPENSETYPECODEID]
where (@EXPENSETYPECODEID is null or [MKTEXPENSE].[EXPENSETYPECODEID] = @EXPENSETYPECODEID)
and [MKTEXPENSE].[VENDORID] = @VENDORID
select
[ID],
[MATERIALOREXPENSECODE],
[NAME],
[SITE],
[TYPE],
[COST],
[COSTDISTRIBUTIONMETHOD],
[DESCRIPTION],
[CURRENCYID]
from @MATERIALEXPENSE as [MATERIALEXPENSE]
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[MATERIALEXPENSE].[SITEID] or (SITEID is null and [MATERIALEXPENSE].[SITEID] is null)))
and (@SITEFILTERMODE = 0 or [MATERIALEXPENSE].[SITEID] in (select [SITEID] from dbo.[UFN_SITE_BUILDDATALISTSITEFILTER](@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED)))
order by [MATERIALEXPENSE].[NAME];
return 0;