USP_DATAFORMTEMPLATE_EDIT_CLOSING_REQUIREMENT

The save procedure used by the edit dataform template "Closing Requirement 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.
@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

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CLOSING_REQUIREMENT
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @DESCRIPTION nvarchar(60),
    @LEDGERACCOUNTID uniqueidentifier,
    @NETASSETCLASSIFICATIONCODE tinyint,
    @DATAELEMENTID uniqueidentifier,
    @DATAELEMENTQUERYID uniqueidentifier,
    @CLOSINGREQUIREMENTDETAIL xml
)
as

set nocount on;

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

begin try
  -- Validate include selection

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

  update dbo.CLOSINGREQUIREMENT set
    DESCRIPTION = @DESCRIPTION,
    LEDGERACCOUNTID = @LEDGERACCOUNTID,
    NETASSETCLASSIFICATIONCODE = @NETASSETCLASSIFICATIONCODE,
    DATAELEMENTID = @DATAELEMENTID,
    DATAELEMENTQUERYID = @DATAELEMENTQUERYID,
    CHANGEDBYID = @CHANGEAGENTID,
    DATECHANGED = getdate()
  where ID = @ID

  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;