USP_DATAFORMTEMPLATE_EDIT_NAMEFORMATFUNCTIONORDER

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

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAMEFORMATFUNCTIONS xml IN Functions

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_NAMEFORMATFUNCTIONORDER (
    @CHANGEAGENTID uniqueidentifier = null,
    @NAMEFORMATFUNCTIONS xml
)
as

    set nocount on;

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

    declare @CHANGEDATE datetime
    set @CHANGEDATE = getdate()

    begin try

        -- update the items that exist in the XML table and the db  

        update [NAMEFORMATFUNCTION]  
          set [NAMEFORMATFUNCTION].[SEQUENCE]=temp.[SEQUENCE],
          [NAMEFORMATFUNCTION].CHANGEDBYID = @CHANGEAGENTID,  
          [NAMEFORMATFUNCTION].DATECHANGED = @CHANGEDATE  
         from dbo.[NAMEFORMATFUNCTION] 
        inner join 
            (select [ID], [SEQUENCE] from dbo.UFN_NAMEFORMATFUNCTION_GETSEQUENCES_FROMITEMLISTXML(@NAMEFORMATFUNCTIONS))
                as [temp] on [NAMEFORMATFUNCTION].ID = [temp].ID  
         where (([NAMEFORMATFUNCTION].[SEQUENCE]<>temp.[SEQUENCE]) or   
                ([NAMEFORMATFUNCTION].[SEQUENCE] is null and temp.[SEQUENCE] is not null) or   
                ([NAMEFORMATFUNCTION].[SEQUENCE] is not null and temp.[SEQUENCE] is null)
                ) 

    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;