USP_DATAFORMTEMPLATE_EDITLOAD_SALESORDERTAXEXEMPT

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@TSLONG bigint INOUT
@ISTAXEXEMPT bit INOUT
@SALESORDERTAXEXEMPTREASONCODEID uniqueidentifier INOUT
@COMMENTS nvarchar(255) INOUT
@ORDERSTATUSCODE tinyint INOUT

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_SALESORDERTAXEXEMPT
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @ISTAXEXEMPT bit = null output,
    @SALESORDERTAXEXEMPTREASONCODEID uniqueidentifier = null output,
    @COMMENTS nvarchar(255) = null output,
    @ORDERSTATUSCODE tinyint = null output
)
as
    set nocount on;

    set @DATALOADED = 0;
    set @TSLONG = 0;

    -- These may not be loaded so provide default values
    set @ISTAXEXEMPT = 0;
    set @COMMENTS = N'';

    declare @ORDERTSLONG bigint = 0;
    declare @TAXEXEMPTTSLONG bigint = 0;
    declare @ORDERITEMSTSLONG bigint = 0;

    select
        @DATALOADED = 1,
        @ORDERTSLONG = TSLONG,
        @ORDERSTATUSCODE = STATUSCODE
    from
        dbo.SALESORDER
    where
        ID = @ID;

    select
        @ISTAXEXEMPT = 1,
        @SALESORDERTAXEXEMPTREASONCODEID = SALESORDERTAXEXEMPTREASONCODEID,
        @COMMENTS = COMMENTS,
        @TAXEXEMPTTSLONG = TSLONG
    from
        dbo.SALESORDERTAXEXEMPTINFO
    where
        ID = @ID;

    select @ORDERITEMSTSLONG = max(TSLONG)
    from dbo.SALESORDERITEM
    where SALESORDERID = @ID;

    select
        @TSLONG = max(TSLONG)
    from (
        select @ORDERTSLONG as TSLONG
        union all
        select @TAXEXEMPTTSLONG as TSLONG
        union all
        select @ORDERITEMSTSLONG as TSLONG
    ) as TSLONGS;

    return 0;