USP_DATAFORMTEMPLATE_EDIT_CURRENCYSET

The save procedure used by the edit dataform template "Currency Set 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.
@NAME nvarchar(100) IN Name
@BASECURRENCYID uniqueidentifier IN Base currency
@TRANSACTIONCURRENCIES xml IN Transaction currencies

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CURRENCYSET
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(100),
                        @BASECURRENCYID uniqueidentifier,
                        @TRANSACTIONCURRENCIES xml
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

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

                        set @CURRENTDATE = getdate();

                        begin try

                            exec dbo.USP_CURRENCYSET_VALIDATETRANSACTIONCURRENCIES @BASECURRENCYID, @TRANSACTIONCURRENCIES;

                            --We no longer allow the base currency to be changed on currency sets.

                            update dbo.CURRENCYSET set
                                NAME = @NAME,
                                --BASECURRENCYID = @BASECURRENCYID,

                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where
                                ID = @ID;

                            exec dbo.USP_CURRENCYSET_GETTRANSACTIONCURRENCIES_UPDATEFROMXML @ID, @TRANSACTIONCURRENCIES, @CHANGEAGENTID;

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

                        return 0;