USP_RELATIONSHIPMAPCATALOG_CREATEORUPDATE

Creates or updates a relationship map definition.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@CONTEXTRECORDTYPE nvarchar(255) IN
@RELATIONSHIPMAPSPECXML xml IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_RELATIONSHIPMAPCATALOG_CREATEORUPDATE(
        @ID uniqueidentifier,
        @NAME nvarchar(100),
        @DESCRIPTION nvarchar(255),
        @CONTEXTRECORDTYPE nvarchar(255),
        @RELATIONSHIPMAPSPECXML xml,                
        @CHANGEAGENTID uniqueidentifier = null
    ) 
as
begin
    if @CHANGEAGENTID is null  
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    declare @CONTEXTRECORDTYPEID uniqueidentifier;

    if len(@CONTEXTRECORDTYPE) > 0
    begin
        exec dbo.USP_RECORDTYPE_GETID_OR_CREATE_FROMNAME @NAME = @CONTEXTRECORDTYPE, @CHANGEAGENTID = @CHANGEAGENTID, @RECORDTYPEID = @CONTEXTRECORDTYPEID output;
    end;

    if @ID is null or @ID = '00000000-0000-0000-0000-000000000000'
    begin
        set @ID = newid();
    end;

    if exists(select ID from dbo.RELATIONSHIPMAPCATALOG where ID = @ID
    begin
        update dbo.RELATIONSHIPMAPCATALOG set
            ID = @ID,
            NAME = @NAME,
            DESCRIPTION = @DESCRIPTION,
            CONTEXTRECORDTYPEID = @CONTEXTRECORDTYPEID,
            RELATIONSHIPMAPSPECXML = @RELATIONSHIPMAPSPECXML,
            CHANGEDBYID = @CHANGEAGENTID
        where dbo.RELATIONSHIPMAPCATALOG.ID = @ID;
    end
    else
    begin
        insert into dbo.RELATIONSHIPMAPCATALOG
        (
            ID,
            NAME,
            DESCRIPTION,
            CONTEXTRECORDTYPEID,
            RELATIONSHIPMAPSPECXML,
            ADDEDBYID,
            CHANGEDBYID
        )
        values
        (
            @ID,
            @NAME,
            @DESCRIPTION,
            @CONTEXTRECORDTYPEID,
            @RELATIONSHIPMAPSPECXML,
            @CHANGEAGENTID,
            @CHANGEAGENTID
        )
    end;

end;