USP_DATAFORMTEMPLATE_VIEW_MKTSEGMENTATIONSEGMENTLISTCOSTS
The load procedure used by the view dataform template "Marketing Effort List Segment Cost View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(73) | IN | The input ID parameter used to load the fields defined on the form. |
@OVERRIDELISTCOSTS | bit | INOUT | Override list costs |
@RENTALCOST | money | INOUT | Rental cost |
@RENTALCOSTBASISCODE | tinyint | INOUT | Rental cost basis code |
@EXCHANGECOST | money | INOUT | Exchange cost |
@EXCHANGECOSTBASISCODE | tinyint | INOUT | Exchange cost basis code |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_VIEW_MKTSEGMENTATIONSEGMENTLISTCOSTS]
(
@ID nvarchar(73),
@OVERRIDELISTCOSTS bit = null output,
@RENTALCOST money = null output,
@RENTALCOSTBASISCODE tinyint = null output,
@EXCHANGECOST money = null output,
@EXCHANGECOSTBASISCODE tinyint = null output,
@DATALOADED bit = 0 output
)
as
begin
set nocount on;
declare @SEGMENTATIONID uniqueidentifier;
declare @SEGMENTID uniqueidentifier;
declare @LISTID uniqueidentifier;
set @SEGMENTATIONID = convert(uniqueidentifier, upper(substring(@ID, 1, charindex('|', @ID) - 1)));
set @SEGMENTID = convert(uniqueidentifier, substring(@ID, charindex('|', @ID) + 1, len(@ID)));
set @DATALOADED = 0;
select
@LISTID = [MKTSEGMENTLIST].[LISTID]
from dbo.[MKTSEGMENT]
inner join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
where [MKTSEGMENT].[ID] = @SEGMENTID;
select top 1
@OVERRIDELISTCOSTS = [MKTSEGMENTATIONSEGMENTLIST].[OVERRIDELISTCOSTS]
from dbo.[MKTSEGMENTATIONSEGMENTLIST]
inner join dbo.[MKTSEGMENTATIONSEGMENT] on [MKTSEGMENTATIONSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENTLIST].[ID]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
inner join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = @SEGMENTATIONID
and [MKTSEGMENTLIST].[LISTID] = @LISTID;
set @OVERRIDELISTCOSTS = isnull(@OVERRIDELISTCOSTS, 0);
if @OVERRIDELISTCOSTS = 1
select top 1
@RENTALCOST = [MKTSEGMENTATIONSEGMENTLIST].[BASERENTALCOST],
@RENTALCOSTBASISCODE = [MKTSEGMENTATIONSEGMENTLIST].[BASERENTALCOSTBASISCODE],
@EXCHANGECOST = [MKTSEGMENTATIONSEGMENTLIST].[BASEEXCHANGECOST],
@EXCHANGECOSTBASISCODE = [MKTSEGMENTATIONSEGMENTLIST].[BASEEXCHANGECOSTBASISCODE],
@DATALOADED = 1
from dbo.[MKTSEGMENTATIONSEGMENTLIST]
inner join dbo.[MKTSEGMENTATIONSEGMENT] on [MKTSEGMENTATIONSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENTLIST].[ID]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
inner join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = @SEGMENTATIONID
and [MKTSEGMENTLIST].[LISTID] = @LISTID;
else
select
@RENTALCOST = [MKTLIST].[BASERENTALCOST],
@RENTALCOSTBASISCODE = [MKTLIST].[BASERENTALCOSTBASISCODE],
@EXCHANGECOST = [MKTLIST].[BASEEXCHANGECOST],
@EXCHANGECOSTBASISCODE = [MKTLIST].[BASEEXCHANGECOSTBASISCODE],
@DATALOADED = 1
from dbo.[MKTSEGMENT]
inner join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
inner join dbo.[MKTLIST] on [MKTLIST].[ID] = [MKTSEGMENTLIST].[LISTID]
where [MKTSEGMENT].[ID] = @SEGMENTID;
return 0;
end