USP_DATAFORMTEMPLATE_EDITLOAD_SYSTEMROLEAPPUSER

The load procedure used by the edit dataform template "System Role User Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@APPUSERID uniqueidentifier INOUT Application user
@SECURITYMODECODE tinyint INOUT Record access
@SITEHIERARCHY xml INOUT Hierarchy
@SITES xml INOUT Sites
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@BRANCHSITEID uniqueidentifier INOUT Branch
@APPUSERSITE nvarchar(1024) INOUT
@CONSTITUENTSECURITYMODECODE tinyint INOUT Record access
@CONSTITUENTSECURITYGROUPS xml INOUT Constituent security groups

Definition

Copy


          CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_SYSTEMROLEAPPUSER
          (
            @ID uniqueidentifier,
            @DATALOADED bit = 0 output,
            @APPUSERID uniqueidentifier = null output,
            @SECURITYMODECODE tinyint = null output,
            @SITEHIERARCHY xml = null output,
            @SITES xml = null output,
            @TSLONG bigint = 0 output,
            @BRANCHSITEID uniqueidentifier = null output,
            @APPUSERSITE nvarchar(1024) = null output,
            @CONSTITUENTSECURITYMODECODE tinyint = null output,
            @CONSTITUENTSECURITYGROUPS xml = null output
          )
          as
          begin
            set nocount on;

            select
              @SITEHIERARCHY = (
                select 
                  SITE.ID as SITEID, 
                  (select 
                    PARENTSITE.ID 
                  from 
                    dbo.SITE AS PARENTSITE 
                  where 
                    SITE.HIERARCHYPATH.GetAncestor(1) = PARENTSITE.HIERARCHYPATH
                  ) as PARENTSITEID, 
                  SITE.NAME, 
                  row_number() over (partition by SITE.HIERARCHYPATH.GetAncestor(1) order by HIERARCHYPATH) as SEQUENCE,
                  isnull(
                    (select 
                      SYSTEMROLEAPPUSERSITE.ID 
                    from 
                      dbo.SYSTEMROLEAPPUSERSITE 
                    where 
                      SYSTEMROLEAPPUSERSITE.SITEID = SITE.ID and 
                      SYSTEMROLEAPPUSERSITE.SYSTEMROLEAPPUSERID = @ID
                    ), 
                    newid()
                  ) as SYSTEMROLEAPPUSERSITEID
                from 
                  dbo.SITE 
                order by 
                  HIERARCHYPATH
                for
                  xml raw('ITEM'),type,elements,root('SITEHIERARCHY'),BINARY BASE64
              );

            select
              @DATALOADED = 1,
              @TSLONG = SYSTEMROLEAPPUSER.TSLONG,
              @APPUSERID = SYSTEMROLEAPPUSER.APPUSERID,
              @SECURITYMODECODE = SYSTEMROLEAPPUSER.SECURITYMODECODE,
              @SITES = dbo.UFN_SYSTEMROLEAPPUSER_GETSITES_TOITEMLISTXML(SYSTEMROLEAPPUSER.ID),
              @BRANCHSITEID = BRANCHSITEID,
              @APPUSERSITE = isnull(SITE.NAME, ''),
              @CONSTITUENTSECURITYMODECODE = CONSTITUENTSECURITYMODECODE,
              @CONSTITUENTSECURITYGROUPS = dbo.UFN_SYSTEMROLEAPPUSER_GETSECURITYGROUPS_TOITEMLISTXML(SYSTEMROLEAPPUSER.ID)
            from
              dbo.SYSTEMROLEAPPUSER
              inner join dbo.APPUSER on APPUSER.ID = SYSTEMROLEAPPUSER.APPUSERID
              left outer join dbo.SITE on SITE.ID = APPUSER.SITEID
            where
              SYSTEMROLEAPPUSER.ID = @ID;
          end