USP_FENXT_ADDACCOUNTPROJECTREQUIREMENT

Parameters

Parameter Parameter Type Mode Description
@PDACCOUNTSYSTEMID uniqueidentifier IN

Definition

Copy


            create procedure dbo.USP_FENXT_ADDACCOUNTPROJECTREQUIREMENT
                (
                @PDACCOUNTSYSTEMID uniqueidentifier
                )
                as
                    declare @FUNDSTART tinyint;
                    declare @FUNDLENGTH tinyint;

                    declare @CHANGEAGENTID uniqueidentifier;
                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                    declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                    select @FUNDSTART = SEGMENTSTART, @FUNDLENGTH = SEGMENTLENGTH
                    from dbo.FENXTACCOUNTSTRUCTURE
                    where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID
                    and SEGMENTTYPE = 'Fund';

                    if @FUNDSTART is not null
                        begin
                            update dbo.FENXTACCOUNT
                            set PROJECTREQUIRED =
                                case FENXTACCOUNTFUNDREQUIREMENT.PROJECT_REQUIREONACCOUNTSSPECIFIED when 'Do not require' then 1 when 'All accounts' then 2 when 'Income Statement Accounts' then
                                    case FENXTACCOUNT.CATEGORY
                                        when 'Gain' then 2
                                        when 'Transfer' then 2
                                        when 'Loss' then 2
                                        when 'Expense' then 2
                                        when 'Gift' then 2
                                        when 'Revenue' then 2
                                        else 1
                                    end
                                end,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            from dbo.FENXTACCOUNT
                                inner join dbo.FENXTACCOUNTFUNDREQUIREMENT on substring(FENXTACCOUNT.ACCOUNTNUMBER,@FUNDSTART, @FUNDLENGTH) = FENXTACCOUNTFUNDREQUIREMENT.FUNDVALUE
                            where FENXTACCOUNT.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID
                                and FENXTACCOUNT.PROJECTREQUIRED = 0;
                        end