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