USP_DATAFORMTEMPLATE_EDIT_NAMEFORMATFUNCTION_2

The save procedure used by the edit dataform template "Name Format Function Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@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_EDIT_NAMEFORMATFUNCTION_2 (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @NAMEFORMATFUNCTIONDETAILS xml,
    @NAMEEXAMPLE nvarchar(700),
    @ISJOINTFUNCTION bit
)
with execute as owner
as

    set nocount on;

    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;

        -- handle updating the data

        update dbo.NAMEFORMATFUNCTION set
            EXAMPLE = @NAMEEXAMPLE,
            ISJOINTFUNCTION= @ISJOINTFUNCTION,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where ID = @ID;

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

        -- Update Generated Function

        declare @FORCERELOAD bit = 1
        declare @SPEC xml = dbo.UFN_GETNAMEFORMATFUNCTIONSPEC(@ID)
        exec dbo.USP_LOADSPEC @SPEC, @CHANGEAGENTID, 'USP_DATAFORMTEMPLATE_EDIT_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;