USP_DATAFORMTEMPLATE_ADD_CLOSING_REQUIREMENT

The save procedure used by the add dataform template "Closing Requirement 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.
@DESCRIPTION nvarchar(60) IN Description
@LEDGERACCOUNTID uniqueidentifier IN Closing account
@NETASSETCLASSIFICATIONCODE tinyint IN Net asset classification
@DATAELEMENTID uniqueidentifier IN Specific element
@DATAELEMENTQUERYID uniqueidentifier IN Selection
@CLOSINGREQUIREMENTDETAIL xml IN Closing Requirement Details
@PDACCOUNTSYSTEMID uniqueidentifier IN Input parameter indicating the context ID for the record being added.

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CLOSING_REQUIREMENT
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,
  @DESCRIPTION nvarchar(60),
  @LEDGERACCOUNTID uniqueidentifier = null
  @NETASSETCLASSIFICATIONCODE tinyint = 0,
  @DATAELEMENTID uniqueidentifier = null,
  @DATAELEMENTQUERYID uniqueidentifier = null,
  @CLOSINGREQUIREMENTDETAIL xml = null 
  ,@PDACCOUNTSYSTEMID 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()

if @PDACCOUNTSYSTEMID is null
  set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B'

begin try
    -- Validation

  exec dbo.USP_CLOSINGREQUIREMENT_VALIDATEINCLUDE @ID, @DATAELEMENTID, @DATAELEMENTQUERYID,@LEDGERACCOUNTID

  insert into dbo.CLOSINGREQUIREMENT
    (ID, DESCRIPTION, LEDGERACCOUNTID, NETASSETCLASSIFICATIONCODE, DATAELEMENTID, DATAELEMENTQUERYID, PDACCOUNTSYSTEMID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
  values
    (@ID, @DESCRIPTION, @LEDGERACCOUNTID, @NETASSETCLASSIFICATIONCODE, @DATAELEMENTID, @DATAELEMENTQUERYID, @PDACCOUNTSYSTEMID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

  if (select count(1) from dbo.UFN_CLOSINGREQUIREMENTDETAILS_FROMITEMLISTXML(@CLOSINGREQUIREMENTDETAIL) where PRESERVEDETAILSDURINGCLOSING = 1) > 8
  begin
    raiserror('ERR_PRESERVEDETAILS_MAXECEEDED',13,1);
    return 1;
  end
  if (select count(1) from dbo.UFN_CLOSINGREQUIREMENTDETAILS_FROMITEMLISTXML(@CLOSINGREQUIREMENTDETAIL) where REQUIRETOBALANCE = 1) > 8
  begin
    raiserror('ERR_REQUIRETOBALANCE_MAXEXCEEDED',13,1);
    return 1;
  end

  exec dbo.USP_CLOSINGREQUIREMENTDETAIL_UPDATEFROMXML @ID,@CLOSINGREQUIREMENTDETAIL, @CHANGEAGENTID;

end try

begin catch
  exec dbo.USP_RAISE_ERROR
  return 1;
end catch

return 0;