USP_DATAFORMTEMPLATE_VIEW_HIERARCHYPOSITION_SMARTQUERY_HELPER
The load procedure used by the view dataform template "Organization Hierarchy Positions Smart Query Helper"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | xml | IN | The input ID parameter used to load the fields defined on the form. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@ORGANIZATIONNAME | nvarchar(100) | INOUT | Name |
@ORGANIZATIONHIERARCHY | xml | INOUT | Hierarchy |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_HIERARCHYPOSITION_SMARTQUERY_HELPER
(
@ID xml,
@CURRENTAPPUSERID uniqueidentifier,
@DATALOADED bit = 0 output,
@ORGANIZATIONNAME nvarchar(100) = null output,
@ORGANIZATIONHIERARCHY xml = null output
)
as
begin
set nocount on;
set @DATALOADED = 1;
-- build a temporary table containing the values from the XML
declare @TempTbl table (
[ID] uniqueidentifier
)
insert into @TempTbl (ID)
SELECT ID
FROM dbo.UFN_ORGANIZATIONHIERARCHY_SELECTEDNODES(@ID, @CURRENTAPPUSERID);
set @ORGANIZATIONNAME = dbo.UFN_INSTALLATIONINFO_GETINSTALLATIONNAME();
set @ORGANIZATIONHIERARCHY =
(select
ORGANIZATIONHIERARCHY.[ID],
ORGANIZATIONHIERARCHY.PARENTID,
ORGANIZATIONHIERARCHY.[SEQUENCE],
ORGANIZATIONPOSITION.NAME,
ORGANIZATIONPOSITION.SITEID,
POSITIONS.ID SELECTEDID,
case when POSITIONS.ID is null then 0 else 1 end SELECTED,
(select
ORGANIZATIONPOSITIONHOLDER.ID,
ORGANIZATIONPOSITIONHOLDER.CONSTITUENTID,
ORGANIZATIONPOSITIONHOLDER.DATEFROM,
ORGANIZATIONPOSITIONHOLDER.DATETO
from
dbo.ORGANIZATIONPOSITIONHOLDER
where
ORGANIZATIONPOSITIONHOLDER.POSITIONID = ORGANIZATIONPOSITION.ID
order by
(case when ORGANIZATIONPOSITIONHOLDER.DATETO is null then 1 else 0 end) desc, ORGANIZATIONPOSITIONHOLDER.DATETO desc
for xml raw('ITEM'),type,elements,root('POSITIONHOLDERS'),BINARY BASE64)
from
dbo.ORGANIZATIONHIERARCHY
inner join dbo.ORGANIZATIONPOSITION on ORGANIZATIONPOSITION.ID = ORGANIZATIONHIERARCHY.ID
left outer join @TempTbl POSITIONS on ORGANIZATIONPOSITION.ID = POSITIONS.ID
for xml raw('ITEM'),type,elements,root('ORGANIZATIONHIERARCHY'),BINARY BASE64)
return 0;
end