USP_DATAFORMTEMPLATE_EDITLOAD_DOCUMENTPRINTINGRULE

The load 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 used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@DELIVERYMETHOD nvarchar(100) INOUT Delivery method
@DOCUMENTPRINTINGRULESALESMETHODS xml INOUT Sales method

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_DOCUMENTPRINTINGRULE(
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @TSLONG bigint = 0 output,
                        @DELIVERYMETHOD nvarchar(100) = null output,
                        @DOCUMENTPRINTINGRULESALESMETHODS xml = null output
                    )
                    as

                        set nocount on;

                        set @DATALOADED = 0
                        set @TSLONG = 0

                        select
                            @DATALOADED = 1,
                            @TSLONG = DOCUMENTPRINTINGRULE.TSLONG,
                            @DELIVERYMETHOD = DELIVERYMETHOD.NAME                            
                        from dbo.DOCUMENTPRINTINGRULE inner join dbo.DELIVERYMETHOD on
                            DOCUMENTPRINTINGRULE.DELIVERYMETHODID = DELIVERYMETHOD.ID
                        where DOCUMENTPRINTINGRULE.ID = @ID

                        set @DOCUMENTPRINTINGRULESALESMETHODS =
                        (
                            select
                                SALESMETHOD.ID as SALESMETHODID,
                                SALESMETHOD.TYPE as SALESMETHODTYPE,
                                case
                                    when T.SALESMETHODID is null then
                                        0
                                    else
                                        1
                                    end
                                as ISAVAILABLE
                            from dbo.SALESMETHOD left outer join 
                                    (select 
                                        DOCUMENTPRINTINGRULESALESMETHOD.SALESMETHODID 
                                    from dbo.DOCUMENTPRINTINGRULE inner join dbo.DOCUMENTPRINTINGRULESALESMETHOD on
                                        DOCUMENTPRINTINGRULE.ID = DOCUMENTPRINTINGRULESALESMETHOD.DOCUMENTPRINTINGRULEID
                                    where
                                        DOCUMENTPRINTINGRULE.ID = @ID) T on
                                SALESMETHOD.ID = T.SALESMETHODID
                            where
                                --Advanced, daily and online
                                SALESMETHOD.TYPECODE in (0,1,2)
                            order by SALESMETHOD.TYPECODE
                            for xml raw ('ITEM'), type, elements, root('DOCUMENTPRINTINGRULESALESMETHODS'), BINARY BASE64
                        )

                        return 0;