USP_DATAFORMTEMPLATE_ADD_DOCUMENTPRINTINGRULE

The save procedure used by the add dataform template "Document Printing Rule Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@DOCUMENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@DELIVERYMETHODID uniqueidentifier IN Delivery method
@DOCUMENTPRINTINGRULESALESMETHODS xml IN Sales method

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DOCUMENTPRINTINGRULE
                    (
                        @ID uniqueidentifier = null output,
                        @DOCUMENTID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @DELIVERYMETHODID uniqueidentifier = null,
                        @DOCUMENTPRINTINGRULESALESMETHODS xml = null
                    )
                    as

                    set nocount on;

                    if @ID is null
                        set @ID = newid()

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    begin try
                        -- handle inserting the data
                        insert into dbo.DOCUMENTPRINTINGRULE
                            (ID, DOCUMENTID, DELIVERYMETHODID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                        values
                            (@ID, @DOCUMENTID, @DELIVERYMETHODID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)                        

                        if @DOCUMENTPRINTINGRULESALESMETHODS is not null
                        begin
                            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)
                            where T.DOCUMENTPRINTINGRULESALESMETHODS.value('(ISAVAILABLE)[1]', 'bit') = 1
                        end                        

                    end try

                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                    return 0