USP_SALESORDER_ISCOMPLETE_RAISERROR

Raises a custom exception if the order is complete.

Parameters

Parameter Parameter Type Mode Description
@SALESORDERID uniqueidentifier IN
@EXCLUDEDAILYSALES bit IN
@EXCLUDEADVANCESALES bit IN
@EXCLUDEONLINESALES bit IN
@EXCLUDEGROUPSALES bit IN
@ORDERSTATUSCODE tinyint IN
@SALESMETHODTYPECODE tinyint IN

Definition

Copy


            CREATE procedure dbo.USP_SALESORDER_ISCOMPLETE_RAISERROR(
                @SALESORDERID uniqueidentifier,
                @EXCLUDEDAILYSALES bit = 0,
                @EXCLUDEADVANCESALES bit = 0,
                @EXCLUDEONLINESALES bit = 0,
                @EXCLUDEGROUPSALES bit = 0,
                @ORDERSTATUSCODE tinyint = null,
                @SALESMETHODTYPECODE tinyint = null
            )
            as
            begin
                set nocount on;

                if @ORDERSTATUSCODE is null or @SALESMETHODTYPECODE is null begin
                    select 
                        @ORDERSTATUSCODE = [SALESORDER].[STATUSCODE],
                        @SALESMETHODTYPECODE = [SALESORDER].[SALESMETHODTYPECODE]
                    from dbo.[SALESORDER] with (nolock)
                    where [ID] = @SALESORDERID
                end

                if @ORDERSTATUSCODE = 1
                begin
                    if (@SALESMETHODTYPECODE = 0 and @EXCLUDEDAILYSALES = 0)
                        raiserror('BBERR_ORDERISCOMPLETE_DAILYSALES',16,1);
                    else if (@SALESMETHODTYPECODE = 1 and @EXCLUDEADVANCESALES = 0)
                        raiserror('BBERR_ORDERISCOMPLETE_ADVANCESALES',16,1);
                    else if ((@SALESMETHODTYPECODE = 2 and @EXCLUDEONLINESALES = 0) or
                            (@SALESMETHODTYPECODE = 3 and @EXCLUDEGROUPSALES = 0))
                        raiserror('BBERR_ORDERISCOMPLETE_GENERAL',16,1);
                end

                return 0;
            end