USP_BILLINGITEMDATES_DELETE
Executes the "Delete vary by grade level/school billing item cost history record" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
Definition
Copy
CREATE procedure dbo.USP_BILLINGITEMDATES_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
--check deletion rules, if any
declare @BILLINGITEMID as uniqueidentifier
declare @ENTRYCOUNT as int
declare @CHARGEEXISTS tinyint
declare @CREDITEXISTS tinyint
declare @STARTDATE date
declare @ENDDATE date
SELECT @BILLINGITEMID = dbo.BILLINGITEMDATES.[BILLINGITEMID], @STARTDATE = dbo.BILLINGITEMDATES.[STARTDATE], @ENDDATE = dbo.BILLINGITEMDATES.[ENDDATE] FROM dbo.BILLINGITEMDATES WHERE dbo.BILLINGITEMDATES.[ID] = @ID
set @ENTRYCOUNT = (SELECT COUNT(dbo.BILLINGITEMDATES.[ID]) FROM dbo.BILLINGITEMDATES WHERE dbo.BILLINGITEMDATES.[BILLINGITEMID ] = @BILLINGITEMID)
if @ENTRYCOUNT <= 1 begin
raiserror('BBERR_BILLINGITEMDATES_ATLEASTONE', 13, 1)
end
set @CHARGEEXISTS=dbo.UFN_BILLINGITEM_CHARGEEXISTSFORBILLINGITEM(@BILLINGITEMID, @STARTDATE, @ENDDATE);
if @CHARGEEXISTS=1
raiserror('BBERR_BILLINGITEMPRICE_CHARGESEXIST', 13, 1)
set @CREDITEXISTS=dbo.UFN_BILLINGITEM_CREDITEXISTSFORBILLINGITEM(@BILLINGITEMID, @STARTDATE, @ENDDATE);
if @CREDITEXISTS=1
raiserror('BBERR_BILLINGITEMPRICE_CREDITSEXIST', 13, 1)
-- use the system generated delete routine to allow proper recording of the deleting agent
exec USP_BILLINGITEMDATES_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
return 0;
end