USP_DATAFORMTEMPLATE_EDIT_DAILYSALES_SALESORDERITEMFEE_DELETE
The save procedure used by the edit dataform template "Daily Sales Order Item Fee Delete Edit Data 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. |
@FEEID | uniqueidentifier | IN | Fee ID |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DAILYSALES_SALESORDERITEMFEE_DELETE (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@FEEID uniqueidentifier
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
exec dbo.USP_SALESORDER_ISCOMPLETE_RAISERROR @ID, @EXCLUDEGROUPSALES = 1;
declare @SALESORDERITEMFEEIDS table(ID uniqueidentifier)
insert into @SALESORDERITEMFEEIDS
select SOI.ID
from dbo.SALESORDERITEM SOI
inner join dbo.SALESORDER SO on SOI.SALESORDERID = SO.ID
inner join dbo.SALESORDERITEMFEE SOIF on SOI.ID = SOIF.ID
where SO.ID = @ID
and SOIF.FEEID = @FEEID
insert into dbo.SALESORDERFEEDELETED
( ID, SALESORDERID, FEEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED )
values
( newid(), @ID, @FEEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE )
declare @SALESORDERITEMID uniqueidentifier
declare SALESORDERITEMSTODELETE_CURSOR cursor local fast_forward for
select ID
from @SALESORDERITEMFEEIDS
open SALESORDERITEMSTODELETE_CURSOR
fetch next from SALESORDERITEMSTODELETE_CURSOR into @SALESORDERITEMID
while @@fetch_status = 0
begin
-- use the system generated delete routine to allow proper recording of the deleting agent
exec USP_SALESORDERITEM_DELETEBYID_WITHCHANGEAGENTID @SALESORDERITEMID, @CHANGEAGENTID;
fetch next from SALESORDERITEMSTODELETE_CURSOR into @SALESORDERITEMID
end
close SALESORDERITEMSTODELETE_CURSOR
deallocate SALESORDERITEMSTODELETE_CURSOR
exec dbo.USP_SALESORDER_CALCULATETAXES @ID, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;