USP_DATAFORMTEMPLATE_EDITLOAD_MOVEDESIGNATION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@TSLONG | bigint | INOUT | |
@PARENTDESIGNATIONID | uniqueidentifier | INOUT | |
@PURPOSELOCATION | tinyint | INOUT | |
@MAXIMUMLEVEL | int | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_MOVEDESIGNATION (
@ID uniqueidentifier
,@DATALOADED bit = 0 output
,@TSLONG bigint = 0 output
,@PARENTDESIGNATIONID uniqueidentifier = null output
,@PURPOSELOCATION tinyint = null output
,@MAXIMUMLEVEL int = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
set @PURPOSELOCATION = 0;
declare @OLDLEVEL int;
declare @OLDPATH nvarchar(200);
set @MAXIMUMLEVEL = 0;
select @DATALOADED = 1
,@TSLONG = TSLONG
,@PARENTDESIGNATIONID = P.ID
,@OLDPATH = C.PATHID
,@OLDLEVEL = C.level
from dbo.DESIGNATION D
inner join dbo.UFN_DESIGNATION_BUILDNAME_BULK() C on D.ID = C.ID
left join dbo.UFN_DESIGNATION_BUILDNAME_BULK() P on C.PARENTPATHID = P.PATHID
where D.ID = @ID;
if @DATALOADED = 1
begin
select @MAXIMUMLEVEL = 4 - (COALESCE(MAX([LEVEL]), @OLDLEVEL) - @OLDLEVEL)
from dbo.UFN_DESIGNATION_BUILDNAME_BULK()
where PATHID like @OLDPATH + '%'
end
if @PARENTDESIGNATIONID is not null
set @PURPOSELOCATION = 1;
return 0;