USP_DATAFORMTEMPLATE_EDIT_DISBURSEMENTPROCESSSIGNATURES

The save procedure used by the edit dataform template "Disbursement Process Signatures 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.
@SIGNATURE1OPTIONCODE tinyint IN Auto-signature 1 options
@SIGNATURE2OPTIONCODE tinyint IN Auto-signature 2 options
@SIGNATURE1ID uniqueidentifier IN Signature name
@SIGNATURE2ID uniqueidentifier IN Signature name
@SIGNATURES1XML xml IN Signature based on amount
@SIGNATURES2XML xml IN Signature based on amount

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DISBURSEMENTPROCESSSIGNATURES 
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @SIGNATURE1OPTIONCODE tinyint,
                        @SIGNATURE2OPTIONCODE tinyint,
                        @SIGNATURE1ID uniqueidentifier,
                        @SIGNATURE2ID uniqueidentifier,
                        @SIGNATURES1XML xml,
                        @SIGNATURES2XML xml
                    )
                    as

                    set nocount on;

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    begin try
                        -- handle updating the data

                        update dbo.DISBURSEMENTPROCESS set
                            SIGNATURE1OPTIONCODE = @SIGNATURE1OPTIONCODE,
                            SIGNATURE2OPTIONCODE = @SIGNATURE2OPTIONCODE,
                            SIGNATURE1ID = CASE WHEN @SIGNATURE1OPTIONCODE = 0 THEN @SIGNATURE1ID ELSE NULL END,
                            SIGNATURE2ID = CASE WHEN @SIGNATURE2OPTIONCODE = 0 THEN @SIGNATURE2ID ELSE NULL END,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where ID = @ID;

                        SET @SIGNATURES1XML = CASE WHEN @SIGNATURE1OPTIONCODE = 2 THEN @SIGNATURES1XML ELSE NULL END
                        exec dbo.USP_DISBURSEMENTPROCESS_SIGNATURE_UPDATEFROMXML @ID, @SIGNATURES1XML, 0, @CHANGEAGENTID, @CURRENTDATE;
                        SET @SIGNATURES2XML = CASE WHEN @SIGNATURE2OPTIONCODE = 2 THEN @SIGNATURES2XML ELSE NULL END
                        exec dbo.USP_DISBURSEMENTPROCESS_SIGNATURE_UPDATEFROMXML @ID, @SIGNATURES2XML, 1, @CHANGEAGENTID, @CURRENTDATE;

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

                    return 0;