USP_DATAFORMTEMPLATE_ADD_NAMEFORMATFUNCTION

The save procedure used by the add dataform template "Name Format Function Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAMEFORMATFUNCTIONDETAILS xml IN Details
@NAMEEXAMPLE nvarchar(700) IN Example
@ISJOINTFUNCTION bit IN Joint name format

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_NAMEFORMATFUNCTION
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @NAMEFORMATFUNCTIONDETAILS xml = null,
    @NAMEEXAMPLE nvarchar(700) = '',
    @ISJOINTFUNCTION bit = 0
)
with execute as owner
as

set nocount on;

if @ID is null
    set @ID = newid()

if @CHANGEAGENTID is null  
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()

begin try

    -- Validate Allow Initial for Function fields
    execute dbo.USP_NAMEFORMATFUNCTIONDETAILS_VALIDATEINITIAL @NAMEFORMATFUNCTIONDETAILS;

    declare @FUNCTIONNAME as nvarchar(60)
    set @FUNCTIONNAME  = dbo.UFN_NAMEFORMAT_MAKEFUNCTIONNAME(@ID)

    -- handle inserting the data
    insert into dbo.NAMEFORMATFUNCTION
        (ID, FORMATSQLFUNCTION, SEQUENCE, EXAMPLE, ISJOINTFUNCTION, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values
        (@ID, @FUNCTIONNAME, (select max(SEQUENCE) from dbo.NAMEFORMATFUNCTION) + 1, @NAMEEXAMPLE, @ISJOINTFUNCTION, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

    exec dbo.USP_NAMEFORMATFUNCTION_GETDETAILS_ADDFROMXML @ID, @NAMEFORMATFUNCTIONDETAILS, @CHANGEAGENTID, @CURRENTDATE;

    insert into dbo.NAMEFORMATFUNCTION_USERDEFINED(ID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values (@ID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

    --GenerateFunction
    declare @FORCERELOAD bit = 1
    declare @SPEC xml = dbo.UFN_GETNAMEFORMATFUNCTIONSPEC(@ID)
    exec dbo.USP_LOADSPEC @SPEC, @CHANGEAGENTID, 'USP_DATAFORMTEMPLATE_ADD_NAMEFORMATFUNCTION', '', 0 , @FORCERELOAD

    --Generate ITVF for bulk interaction
    exec dbo.USP_CREATEORUPDATE_BUILDNAMEFORMATTVF @ID, @CHANGEAGENTID
end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0