USP_DAILYSALEITEM_ADDDAILYSALEITEMRECORD
Populates a daily sale item record
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@ISACTIVE | bit | IN | |
@DESCRIPTIONFIELD1 | nvarchar(20) | IN | |
@DESCRIPTIONFIELD2 | nvarchar(20) | IN | |
@DESCRIPTIONFIELD3 | nvarchar(20) | IN | |
@DESCRIPTIONFIELD1TYPECODE | tinyint | IN | |
@DESCRIPTIONFIELD2TYPECODE | tinyint | IN | |
@DESCRIPTIONFIELD3TYPECODE | tinyint | IN | |
@TYPECODE | tinyint | IN |
Definition
Copy
CREATE procedure dbo.USP_DAILYSALEITEM_ADDDAILYSALEITEMRECORD
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ISACTIVE bit = 1,
@DESCRIPTIONFIELD1 nvarchar(20) = null,
@DESCRIPTIONFIELD2 nvarchar(20) = null,
@DESCRIPTIONFIELD3 nvarchar(20) = null,
@DESCRIPTIONFIELD1TYPECODE tinyint = null,
@DESCRIPTIONFIELD2TYPECODE tinyint = 0,
@DESCRIPTIONFIELD3TYPECODE tinyint = 0,
@TYPECODE tinyint
)
as
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
if @DESCRIPTIONFIELD2TYPECODE is null set @DESCRIPTIONFIELD2TYPECODE = 0
if @DESCRIPTIONFIELD3TYPECODE is null set @DESCRIPTIONFIELD3TYPECODE = 0
declare @DESCRIPTION1 nvarchar(20)
set @DESCRIPTION1 = ''
if @DESCRIPTIONFIELD1TYPECODE = 1
begin
if @DESCRIPTIONFIELD1 = '' or @DESCRIPTIONFIELD1 is null
raiserror('ERR_INVALID_DESCRIPTIONROW1', 13, 1)
else
set @DESCRIPTION1 = @DESCRIPTIONFIELD1
end
declare @DESCRIPTION2 nvarchar(20)
set @DESCRIPTION2 = ''
if @DESCRIPTIONFIELD2TYPECODE = 1 set @DESCRIPTION2 = @DESCRIPTIONFIELD2
declare @DESCRIPTION3 nvarchar(20)
set @DESCRIPTION3 = ''
if @DESCRIPTIONFIELD3TYPECODE = 1 set @DESCRIPTION3 = @DESCRIPTIONFIELD3
-- Set button position if item is marked active
declare @BUTTONORDER int = 0
if @ISACTIVE = 1
begin
declare @MAX1 int
declare @MAX2 int
select @MAX1 = coalesce(max(BUTTONORDER), 0) from dbo.DAILYSALESGENERICACTION
select @MAX2 = coalesce(max(BUTTONORDER), 0) from dbo.DAILYSALEITEM
if @MAX1 > @MAX2
set @BUTTONORDER = @MAX1 + 1
else
set @BUTTONORDER = @MAX2 + 1
end
-- Populate daily sale item record
insert into dbo.[DAILYSALEITEM]
(ID, DESCRIPTIONFIELD1, DESCRIPTIONFIELD2, DESCRIPTIONFIELD3, TYPECODE, ISACTIVE, DESCRIPTIONFIELD1TYPECODE,
DESCRIPTIONFIELD2TYPECODE, DESCRIPTIONFIELD3TYPECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, BUTTONORDER)
values
(@ID, @DESCRIPTION1, @DESCRIPTION2, @DESCRIPTION3, @TYPECODE, @ISACTIVE, @DESCRIPTIONFIELD1TYPECODE,
@DESCRIPTIONFIELD2TYPECODE, @DESCRIPTIONFIELD3TYPECODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @BUTTONORDER)
end