USP_DATALIST_RELATIONSHIPMAPINSTANCE

Returns a list of relationship map instances for a given record.

Parameters

Parameter Parameter Type Mode Description
@ID nvarchar(100) IN Input parameter indicating the context ID for the data list.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


CREATE procedure dbo.USP_DATALIST_RELATIONSHIPMAPINSTANCE(@ID nvarchar(100), @CURRENTAPPUSERID uniqueidentifier = null)
as
    set nocount on;

    declare @RELATIONSHIPMAPID uniqueidentifier;
    declare @CONTEXTRECORDID nvarchar(100);
    declare @ISSYSADMIN bit;

    set @RELATIONSHIPMAPID = substring(@ID, 1, 36);
    set @CONTEXTRECORDID = substring(@ID, 38, len(@ID) - 37);

    if not @CURRENTAPPUSERID is null
    begin
        select @ISSYSADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
    end;

    select RELATIONSHIPMAPINSTANCE.ID,
        RELATIONSHIPMAPINSTANCE.RELATIONSHIPMAPID,
        RELATIONSHIPMAPINSTANCE.NAME,
        RELATIONSHIPMAPINSTANCE.DESCRIPTION,
        cast(
            (case when OTHERSCANMODIFY = 1 or @ISSYSADMIN = 1 or @CURRENTAPPUSERID = OWNERID then 1 
            else 0
            end)
        as bit) CURRENTUSERCANMODIFY,
    case when APPUSER.DISPLAYNAME = ''
      then APPUSER.USERNAME
      else APPUSER.DISPLAYNAME
    end [OWNER],
    OTHERSCANMODIFY
    from dbo.RELATIONSHIPMAPINSTANCE
    inner join dbo.RELATIONSHIPMAPCATALOG on RELATIONSHIPMAPINSTANCE.RELATIONSHIPMAPID = RELATIONSHIPMAPCATALOG.ID
  left join dbo.APPUSER on RELATIONSHIPMAPINSTANCE.OWNERID = APPUSER.ID 
    where RELATIONSHIPMAPINSTANCE.CONTEXTRECORDID = @CONTEXTRECORDID
        and RELATIONSHIPMAPCATALOG.ID = @RELATIONSHIPMAPID;