USP_DATAFORMTEMPLATE_EDIT_SALESORDERITEMGENERIC

The save procedure used by the edit dataform template "Sales Order Item Generic Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@SALESORDERID uniqueidentifier IN
@TYPECODE tinyint IN
@DESCRIPTION nvarchar(255) IN
@QUANTITY decimal(18, 0) IN
@AMOUNT money IN
@DATA xml IN
@OPTIONS xml IN
@CALLBACKURL nvarchar(255) IN
@SYSTEMTYPENAME nvarchar(255) IN
@ASSEMBLYNAME nvarchar(255) IN
@ATTRIBUTES xml IN
@CATEGORYNAME nvarchar(255) IN
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ACKNOWLEDGEMENT nvarchar(max) IN

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SALESORDERITEMGENERIC
                (
                    @ID uniqueidentifier,
                    @SALESORDERID uniqueidentifier,
                    @TYPECODE tinyint,
                    @DESCRIPTION nvarchar(255),        
                    @QUANTITY decimal,
                    @AMOUNT money,            
                    @DATA xml,
                    @OPTIONS xml,
                    @CALLBACKURL nvarchar(255),
                    @SYSTEMTYPENAME nvarchar(255),
                    @ASSEMBLYNAME nvarchar(255),
                    @ATTRIBUTES xml,
                    @CATEGORYNAME nvarchar(255),
                    @CHANGEAGENTID uniqueidentifier = null,
                    @ACKNOWLEDGEMENT nvarchar(max)
                )
                as

                set nocount on;

                if @CHANGEAGENTID is null  
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                declare @CURRENTDATE datetime
                set @CURRENTDATE = getdate()

                begin try
                    -- handle updating the data

                    merge dbo.[SALESORDERITEM] as [TARGET]
                    using (select @ID as ID) as [SOURCE]
                    on (TARGET.ID = SOURCE.ID)
                    when matched then
                        update 
                        set 
                            DESCRIPTION = @DESCRIPTION,
                            PRICE = @AMOUNT,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE,
                            DATA = @DATA,
                            OPTIONS = @OPTIONS,
                            CALLBACKURL = @CALLBACKURL,
                            SYSTEMTYPENAME = @SYSTEMTYPENAME,
                            ASSEMBLYNAME = @ASSEMBLYNAME,
                            ATTRIBUTES = @ATTRIBUTES,
                            CATEGORYNAME = @CATEGORYNAME,
                            ACKNOWLEDGEMENT = @ACKNOWLEDGEMENT,
                            SALESORDERID = @SALESORDERID,
                            TYPECODE = @TYPECODE
                    when not matched then
                        insert (
                            ID, 
                            SALESORDERID, 
                            TYPECODE, 
                            DESCRIPTION, 
                            QUANTITY, 
                            PRICE, 
                            ADDEDBYID, 
                            CHANGEDBYID, 
                            DATEADDED, 
                            DATECHANGED,
                            DATA,
                            OPTIONS,
                            CALLBACKURL,
                            SYSTEMTYPENAME,
                            ASSEMBLYNAME,
                            ATTRIBUTES,
                            CATEGORYNAME,
                            ACKNOWLEDGEMENT
                        )
                        values (
                            @ID
                            @SALESORDERID
                            @TYPECODE
                            @DESCRIPTION
                            @QUANTITY
                            @AMOUNT,
                            @CHANGEAGENTID
                            @CHANGEAGENTID
                            @CURRENTDATE
                            @CURRENTDATE,
                            @DATA,
                            @OPTIONS,
                            @CALLBACKURL,
                            @SYSTEMTYPENAME,
                            @ASSEMBLYNAME,
                            @ATTRIBUTES,
                            @CATEGORYNAME,
                            @ACKNOWLEDGEMENT
                        );
                end try
                begin catch
                    exec dbo.USP_RAISE_ERROR
                    return 1
                end catch

                return 0