USP_DATAFORMTEMPLATE_EDIT_DOCUMENTSALESCONDITION
The save procedure used by the edit dataform template "Document Printing Rule 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. |
@DOCUMENTPRINTINGRULESALESMETHODS | xml | IN | Sales method |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DOCUMENTSALESCONDITION (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@DOCUMENTPRINTINGRULESALESMETHODS xml
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
if @DOCUMENTPRINTINGRULESALESMETHODS is not null
begin
delete from dbo.DOCUMENTPRINTINGRULESALESMETHOD
from @DOCUMENTPRINTINGRULESALESMETHODS.nodes('/DOCUMENTPRINTINGRULESALESMETHODS/ITEM') T(DOCUMENTPRINTINGRULESALESMETHODS) inner join dbo.DOCUMENTPRINTINGRULESALESMETHOD
on T.DOCUMENTPRINTINGRULESALESMETHODS.value('(SALESMETHODID)[1]', 'uniqueidentifier') = DOCUMENTPRINTINGRULESALESMETHOD.SALESMETHODID
where
DOCUMENTPRINTINGRULESALESMETHOD.DOCUMENTPRINTINGRULEID = @ID and
T.DOCUMENTPRINTINGRULESALESMETHODS.value('(ISAVAILABLE)[1]', 'bit') = 0
insert into dbo.DOCUMENTPRINTINGRULESALESMETHOD
(
ID,
DOCUMENTPRINTINGRULEID,
SALESMETHODID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
newid(),
@ID,
T.DOCUMENTPRINTINGRULESALESMETHODS.value('(SALESMETHODID)[1]', 'uniqueidentifier') SALESMETHODID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from @DOCUMENTPRINTINGRULESALESMETHODS.nodes('/DOCUMENTPRINTINGRULESALESMETHODS/ITEM') T(DOCUMENTPRINTINGRULESALESMETHODS) left outer join
(select
DOCUMENTPRINTINGRULESALESMETHOD.SALESMETHODID
from dbo.DOCUMENTPRINTINGRULE inner join dbo.DOCUMENTPRINTINGRULESALESMETHOD on
DOCUMENTPRINTINGRULE.ID = DOCUMENTPRINTINGRULESALESMETHOD.DOCUMENTPRINTINGRULEID
where
DOCUMENTPRINTINGRULE.ID = @ID) S
on T.DOCUMENTPRINTINGRULESALESMETHODS.value('(SALESMETHODID)[1]', 'uniqueidentifier') = S.SALESMETHODID
where
S.SALESMETHODID is null and
T.DOCUMENTPRINTINGRULESALESMETHODS.value('(ISAVAILABLE)[1]', 'bit') = 1
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;