USP_DATAFORMTEMPLATE_ADD_JOURNALENTRY

The save procedure used by the add dataform template "Financial Transaction Journal Entry Add Data 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.
@TRANSACTIONTYPECODE tinyint IN Transaction Type
@CLASSCODE tinyint IN Class
@JOURNALCODEID uniqueidentifier IN Journal
@SEQUENCE int IN Transaction number
@AMOUNT money IN Amount
@PERCENTAGE decimal(20, 4) IN Percent
@COMMENT nvarchar(60) IN Comment
@JOURNALENTRYELEMENTS xml IN Account elements
@CONTEXTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.

Definition

Copy


create procedure dbo.USP_DATAFORMTEMPLATE_ADD_JOURNALENTRY
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
      --@GLACCOUNTID uniqueidentifier = null,

      @TRANSACTIONTYPECODE tinyint = 1,
    @CLASSCODE tinyint = 1,
    @JOURNALCODEID uniqueidentifier = null,
    @SEQUENCE integer = 1,
    @AMOUNT money = null,
    @PERCENTAGE decimal(20,4) = 0,
    @COMMENT nvarchar(60) = '',
    @JOURNALENTRYELEMENTS xml=null,
        @CONTEXTID uniqueidentifier
)
as

set nocount on;

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

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

declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()

begin try
    begin transaction

    -- handle inserting the data

    insert into dbo.JOURNALENTRY(
        ID, 
        FINANCIALTRANSACTIONLINEITEMID, 
        TRANSACTIONTYPECODE, 
        CLASSCODE, 
        JOURNALCODEID, 
        SEQUENCE
        AMOUNT, 
        PERCENTAGE, 
        COMMENT,
        ADDEDBYID,
        CHANGEDBYID, 
        DATEADDED, 
        DATECHANGED)
    values(
        @ID
        @CONTEXTID
        @TRANSACTIONTYPECODE
        @CLASSCODE
        @JOURNALCODEID
        @SEQUENCE
        @AMOUNT
        @PERCENTAGE
        @COMMENT
        @CHANGEAGENTID
        @CHANGEAGENTID
        @CURRENTDATE
        @CURRENTDATE)

  insert into dbo.JOURNALENTRYELEMENT(
        JOURNALENTRYID, 
        GLACCOUNTSTRUCTUREID, 
        DATAELEMENTID,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED) 
    select
        @ID
        GLACCOUNTSTRUCTUREID, 
        DATAELEMENTID,
        @CHANGEAGENTID
        @CHANGEAGENTID
        @CURRENTDATE
        @CURRENTDATE
    from
        dbo.UFN_JOURNALENTRYELEMENTS_FROMITEMLISTXML(@JOURNALENTRYELEMENTS)

  commit transaction
end try

begin catch
    rollback transaction
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0