USP_BILLINGITEMPRICE_DELETE

Executes the "Delete flat rate 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_BILLINGITEMPRICE_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.BILLINGITEMPRICE.[BILLINGITEMID], @STARTDATE = dbo.BILLINGITEMPRICE.[STARTDATE], @ENDDATE = dbo.BILLINGITEMPRICE.[ENDDATE] FROM dbo.BILLINGITEMPRICE WHERE dbo.BILLINGITEMPRICE.[ID] = @ID
                            set @ENTRYCOUNT = (SELECT COUNT(dbo.BILLINGITEMPRICE.[ID]) FROM dbo.BILLINGITEMPRICE WHERE dbo.BILLINGITEMPRICE.[BILLINGITEMID ] = @BILLINGITEMID

                            if @ENTRYCOUNT <= 1 
                                raiserror('BBERR_BILLINGITEMPRICE_ATLEASTONE', 13, 1)

                            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_BILLINGITEMPRICE_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
                            return 0;

                        end