USP_DATAFORMTEMPLATE_EDIT_RATESCALE_PROGRAMS

The save procedure used by the edit dataform template "Rate Scale Programs 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.
@INCLUDEALLPROGRAMS bit IN Include all programs
@PROGRAMS xml IN Programs

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RATESCALE_PROGRAMS 
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @INCLUDEALLPROGRAMS bit,
    @PROGRAMS xml
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    if exists (
        select    1
        from @PROGRAMS.nodes('/PROGRAMS/ITEM') T(c)
        where dbo.UFN_PROGRAM_ISPREREGISTERED(T.c.value('(PROGRAMID)[1]', 'uniqueidentifier')) = 1
        )
        raiserror('BBERR_INVALIDPROGRAM', 13, 1);                    

    begin try
        update dbo.RATESCALE set
            INCLUDEALLPROGRAMS = @INCLUDEALLPROGRAMS,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where ID = @ID

        exec dbo.USP_RATESCALE_GETRATESCALEPROGRAMS_UPDATEFROMXML @ID, @PROGRAMS, @CHANGEAGENTID, @CURRENTDATE;
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;