USP_DATAFORMTEMPLATE_ADD_FUNDINGPLAN

The save procedure used by the add dataform template "Funding Plan Add 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.
@NAME nvarchar(150) IN Name
@DESCRIPTION nvarchar(500) IN Description
@FUNDINGNEED money IN Funding need
@DATENEEDED datetime IN Date needed
@SITEID uniqueidentifier IN Site
@FUNDINGPLANDEPARTMENTCODEID uniqueidentifier IN Department
@FUNDINGPLANPROGRAMCODEID uniqueidentifier IN Program
@FUNDINGPLANMANAGERID uniqueidentifier IN Funding plan manager
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_FUNDINGPLAN
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(150) = null,
                        @DESCRIPTION nvarchar(500) = null,
                        @FUNDINGNEED money = null,
                        @DATENEEDED datetime = null,
                        @SITEID uniqueidentifier = null,
                        @FUNDINGPLANDEPARTMENTCODEID uniqueidentifier = null,
                        @FUNDINGPLANPROGRAMCODEID uniqueidentifier = null,
                        @FUNDINGPLANMANAGERID uniqueidentifier = null,
                        @CURRENTAPPUSERID uniqueidentifier = null

                    )
                    as
                        set nocount on;

                        declare @ORGANIZATIONCURRENCYID  uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
                        declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier = null;
                        declare @ORGANIZATIONFUNDINGNEED money = 0;
                        declare @BASECURRENCYID uniqueidentifier = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);                                         
                        declare @CURRENTDATE datetime;


                        set @CURRENTDATE = getdate();

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

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

                        if @ORGANIZATIONCURRENCYID = @BASECURRENCYID
                            begin             
                                set @ORGANIZATIONFUNDINGNEED = @FUNDINGNEED;
                            end
                        else
                            begin
                                set @ORGANIZATIONEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
                                set @ORGANIZATIONFUNDINGNEED = dbo.UFN_CURRENCY_CONVERT(@FUNDINGNEED, @ORGANIZATIONEXCHANGERATEID);
                            end

                    begin try
                        insert into dbo.FUNDINGPLAN
                        (
                            ID,
                            NAME,
                            DESCRIPTION,
                            FUNDINGNEED,
                            DATENEEDED,
                            SITEID,
                            FUNDINGPLANDEPARTMENTCODEID,
                            FUNDINGPLANPROGRAMCODEID,
                            FUNDINGPLANMANAGERID,
                            ADDEDBYID,
                            CHANGEDBYID,
                            DATEADDED,
                            DATECHANGED,
                            BASECURRENCYID,
                            ORGANIZATIONEXCHANGERATEID,
                            ORGANIZATIONFUNDINGNEED                
                        )
                        values
                        (
                            @ID,
                            @NAME,
                            @DESCRIPTION,
                            @FUNDINGNEED,
                            @DATENEEDED,
                            @SITEID,
                            @FUNDINGPLANDEPARTMENTCODEID,
                            @FUNDINGPLANPROGRAMCODEID,
                            @FUNDINGPLANMANAGERID,
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @CURRENTDATE,
                            @CURRENTDATE,
                            @BASECURRENCYID,
                            @ORGANIZATIONEXCHANGERATEID,
                            @ORGANIZATIONFUNDINGNEED 
                        );                        
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch

                    return 0;