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