USP_DATAFORMTEMPLATE_EDIT_REVENUE_RECOGNITION

The save procedure used by the edit dataform template "Revenue Recognition Credit Edit 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.
@RECOGNITIONS xml IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REVENUE_RECOGNITION
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @RECOGNITIONS xml
                    )
                    as 
                        set nocount on

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

                            declare @BASETOORGANIZATIONEXCHANGERATEID uniqueidentifier;                 
                            declare @BASECURRENCYID uniqueidentifier;
                            declare @BASEEXCHANGERATEID uniqueidentifier;
                            declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
                            declare @TRANSACTIONCURRENCYID uniqueidentifier;
                            declare @DATE datetime;

                            select 
                                @BASECURRENCYID = CURRENCYSET.BASECURRENCYID,
                                @ORGANIZATIONEXCHANGERATEID = FINANCIALTRANSACTION.ORGEXCHANGERATEID,
                                @DATE = FINANCIALTRANSACTIONLINEITEM.DATECHANGED,                                
                                @BASEEXCHANGERATEID = FINANCIALTRANSACTION.BASEEXCHANGERATEID,            
                                @TRANSACTIONCURRENCYID = FINANCIALTRANSACTION.TRANSACTIONCURRENCYID                                
                            from 
                                dbo.FINANCIALTRANSACTIONLINEITEM
                            inner join
                                dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
                            inner join 
                                dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
                            inner join 
                                dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
                            inner join 
                                dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
                            where 
                                FINANCIALTRANSACTIONLINEITEM.ID = @ID
                                and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
                                and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1;                            

                            exec dbo.USP_CURRENCY_GETCURRENCYVALUES
                                  @AMOUNT=null,
                                  @DATE=@DATE,
                                  @BASECURRENCYID=@BASECURRENCYID,
                                  @BASEEXCHANGERATEID=@BASEEXCHANGERATEID,
                                  @TRANSACTIONCURRENCYID=@TRANSACTIONCURRENCYID,
                                  @BASEAMOUNT=null,
                                  @ORGANIZATIONCURRENCYID=null,
                                  @ORGANIZATIONEXCHANGERATEID=@ORGANIZATIONEXCHANGERATEID,
                                  @LOOKUPORGANIZATIONEXCHANGERATE=0,
                                  @BASETOORGANIZATIONEXCHANGERATEID=@BASETOORGANIZATIONEXCHANGERATEID output;

                            -- Process the recognitions xml to calculate organization amounts.

                            set @RECOGNITIONS = dbo.UFN_REVENUERECOGNITION_CONVERTAMOUNTSINXML(@RECOGNITIONS, @BASECURRENCYID, @BASETOORGANIZATIONEXCHANGERATEID);

                            exec dbo.USP_REVENUE_GETRECOGNITIONS_2_UPDATEFROMXML @ID, @RECOGNITIONS, @CHANGEAGENTID;        
                        end try

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

                        return 0;