USP_DATAFORMTEMPLATE_EDITLOAD_ORGANIZATIONHIERARCHY

The load procedure used by the edit dataform template "Organization Hierarchy Add Form"

Parameters

Parameter Parameter Type Mode Description
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@ORGANIZATIONNAME nvarchar(100) INOUT Name
@ORGANIZATIONHIERARCHY xml INOUT Hierarchy
@SITEREQUIRED bit INOUT Site Required
@DEFAULTSITEID uniqueidentifier INOUT Site

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ORGANIZATIONHIERARCHY
(
  @DATALOADED bit = 0 output,
  @CURRENTAPPUSERID uniqueidentifier,
  @ORGANIZATIONNAME nvarchar(100) = null output,
  @ORGANIZATIONHIERARCHY xml = null output,
  @SITEREQUIRED bit = null output,
  @DEFAULTSITEID uniqueidentifier = null output
)
as
begin
  set nocount on;

  set @DATALOADED = 1;
  set @ORGANIZATIONNAME = dbo.UFN_INSTALLATIONINFO_GETINSTALLATIONNAME();
  declare @CURRENTDATE datetime = getdate();    

  set @ORGANIZATIONHIERARCHY =
  (
    select
      ORGANIZATIONHIERARCHY.[ID],
      ORGANIZATIONHIERARCHY.PARENTID,
      ORGANIZATIONHIERARCHY.[SEQUENCE],
      ORGANIZATIONPOSITION.NAME,
      ORGANIZATIONPOSITION.SITEID,
      ORGANIZATIONPOSITION.BUSINESSUNITCODEID,
      (
        select
          ORGANIZATIONPOSITIONHOLDER.ID,
          ORGANIZATIONPOSITIONHOLDER.CONSTITUENTID,
          ORGANIZATIONPOSITIONHOLDER.DATEFROM,
          ORGANIZATIONPOSITIONHOLDER.DATETO,
          case 
            when 
                ORGANIZATIONPOSITIONHOLDER.DATETO is null or 
                (
                    (ORGANIZATIONPOSITIONHOLDER.DATEFROM is null or ORGANIZATIONPOSITIONHOLDER.DATEFROM < @CURRENTDATE) and
                    (@CURRENTDATE <= ORGANIZATIONPOSITIONHOLDER.DATETO)
                )
            then cast(1 as bit
            else cast(0 as bit)
          end ISACTIVE
        from
          dbo.ORGANIZATIONPOSITIONHOLDER
        where
          ORGANIZATIONPOSITIONHOLDER.POSITIONID = ORGANIZATIONPOSITION.ID
        for xml raw('ITEM'), type, elements, root('POSITIONHOLDERS'), BINARY BASE64
      ),
      dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, ORGANIZATIONPOSITION.SITEID) as USERHASSITEACCESS
    from
      dbo.ORGANIZATIONHIERARCHY
    left outer join
      dbo.ORGANIZATIONPOSITION on ORGANIZATIONPOSITION.ID = ORGANIZATIONHIERARCHY.ID
    for xml raw('ITEM'), type, elements, root('ORGANIZATIONHIERARCHY'), BINARY BASE64
  );

  set @SITEREQUIRED = dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID);
  set @DEFAULTSITEID = dbo.UFN_APPUSER_DEFAULTSITEFORUSER(@CURRENTAPPUSERID);

  return 0;

end