USP_DATALIST_DESIGNATIONNAVIGATIONTREE
Returns the navigation tree for the Designation Page
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DESIGNATIONLEVEL1ID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_DESIGNATIONNAVIGATIONTREE (@DESIGNATIONLEVEL1ID uniqueidentifier)
as
set nocount on;
declare @DESIGNATIONPAGEID nvarchar(36) = '158571a0-52d3-4a27-9d30-0dbbfa9f1386';
declare @PURPOSEPAGEID nvarchar(36) = 'f5f8f158-73ab-40ec-b15f-50aa0030290c';
select DL1.[NAME] as CAPTION
,case
when D1.SYSTEMGENERATED = 1
then @PURPOSEPAGEID
else @DESIGNATIONPAGEID
end as PAGEID
,case
when D1.SYSTEMGENERATED = 1
then DL1.ID
else D1.ID
end CONTEXTID
,(
select DL2.[NAME] as CAPTION
,case
when D2.SYSTEMGENERATED = 1
then @PURPOSEPAGEID
else @DESIGNATIONPAGEID
end as PAGEID
,case
when D2.SYSTEMGENERATED = 1
then DL2.ID
else D2.ID
end CONTEXTID
,(
select DL3.[NAME] as CAPTION
,case
when D3.SYSTEMGENERATED = 1
then @PURPOSEPAGEID
else @DESIGNATIONPAGEID
end as PAGEID
,case
when D3.SYSTEMGENERATED = 1
then DL3.ID
else D3.ID
end CONTEXTID
,(
select DL4.[NAME] as CAPTION
,case
when D4.SYSTEMGENERATED = 1
then @PURPOSEPAGEID
else @DESIGNATIONPAGEID
end as PAGEID
,case
when D4.SYSTEMGENERATED = 1
then DL4.ID
else D4.ID
end CONTEXTID
,(
select DL5.[NAME] as CAPTION
,case
when D5.SYSTEMGENERATED = 1
then @PURPOSEPAGEID
else @DESIGNATIONPAGEID
end as PAGEID
,case
when D5.SYSTEMGENERATED = 1
then DL5.ID
else D5.ID
end CONTEXTID
from dbo.DESIGNATION as D5
inner join dbo.DESIGNATIONLEVEL as DL5 on D5.DESIGNATIONLEVEL5ID = DL5.ID
where (D5.DESIGNATIONLEVEL1ID = D1.DESIGNATIONLEVEL1ID)
and (D5.DESIGNATIONLEVEL2ID = D2.DESIGNATIONLEVEL2ID)
and (D5.DESIGNATIONLEVEL3ID = D3.DESIGNATIONLEVEL3ID)
and (D5.DESIGNATIONLEVEL4ID = D4.DESIGNATIONLEVEL4ID)
order by DL5.[NAME]
for xml raw('NODE')
,root('NODES')
,elements
,type
)
from dbo.DESIGNATION as D4
inner join dbo.DESIGNATIONLEVEL as DL4 on D4.DESIGNATIONLEVEL4ID = DL4.ID
where (D4.DESIGNATIONLEVEL1ID = D1.DESIGNATIONLEVEL1ID)
and (D4.DESIGNATIONLEVEL2ID = D2.DESIGNATIONLEVEL2ID)
and (D4.DESIGNATIONLEVEL3ID = D3.DESIGNATIONLEVEL3ID)
and (D4.DESIGNATIONLEVEL5ID is null)
order by DL4.[NAME]
for xml raw('NODE')
,root('NODES')
,elements
,type
)
from dbo.DESIGNATION as D3
inner join dbo.DESIGNATIONLEVEL as DL3 on D3.DESIGNATIONLEVEL3ID = DL3.ID
where (D3.DESIGNATIONLEVEL1ID = D1.DESIGNATIONLEVEL1ID)
and (D3.DESIGNATIONLEVEL2ID = D2.DESIGNATIONLEVEL2ID)
and (D3.DESIGNATIONLEVEL4ID is null)
order by DL3.[NAME]
for xml raw('NODE')
,root('NODES')
,elements
,type
)
from dbo.DESIGNATION as D2
inner join dbo.DESIGNATIONLEVEL as DL2 on D2.DESIGNATIONLEVEL2ID = DL2.ID
where (D2.DESIGNATIONLEVEL1ID = D1.DESIGNATIONLEVEL1ID)
and (D2.DESIGNATIONLEVEL3ID is null)
order by DL2.[NAME]
for xml raw('NODE')
,root('NODES')
,elements
,type
) as NODES
from dbo.DESIGNATION as D1
inner join dbo.DESIGNATIONLEVEL as DL1 on D1.DESIGNATIONLEVEL1ID = DL1.ID
where (D1.DESIGNATIONLEVEL1ID = @DESIGNATIONLEVEL1ID)
and (D1.DESIGNATIONLEVEL2ID is null)