Stored Procedures [dbo].[MssWebGroupQuoteLineItems]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@inOrderIdint4
@inQuoteIdint4
@inSelectedLineItemIdsIntListmax
@inIsHiddenbit1
@inGroupDescriptionvarchar(120)120
@inGroupSubtotalmoney8
Permissions
TypeActionOwning Principal
GrantExecuteMssExec
SQL Script
create procedure [dbo].[MssWebGroupQuoteLineItems]
(
    @inOrderId int,
    @inQuoteId int,
    @inSelectedLineItemIds IntList readonly,
    @inIsHidden bit,
    @inGroupDescription varchar(120),
    @inGroupSubtotal money
)
as
begin
    set nocount on;

    declare @newQuoteGroupId int;
    declare @maxSortOrder int;

    select @maxSortOrder = isnull(max(SortOrder), 0)
    from QuoteGroup
    where QuoteHeaderFID = @inQuoteId;

    insert into QuoteGroup
    (
        QuoteHeaderFID,
        Description,
        Charge,
        IsLocked,
        SortOrder
    )
    select
        @inQuoteId,
        @inGroupDescription,
        @inGroupSubtotal,
        0,
        @maxSortOrder + 1;

    set @newQuoteGroupId = scope_identity();

    insert into QuoteDetail
    (
        QuoteGroupFID,
        ItemCodeFID,
        RateTypeFID,
        Description,
        Rate,
        Quantity,
        Quantity2,
        Charge,
        QuoteServiceProviderTypeFID,
        VendorID,
        VendorQuotedCharge,
        VendorActualCharge,
        Hidden,
        SortOrder,
        PONumber,
        InvoiceNumber,
        ServiceDate,
        NoteText,
        LaborRatingTypeFID,
        QuoteServiceProviderBillToFID,
        RateSource,
        RateSourceRecord,
        ExternalVendorID,
        ExternalVendorName,
        IsLocked,
        AccountingVendorFid
    )
    select
        @newQuoteGroupId,
        QuoteGroup.ItemCodeFID,
        QuoteGroup.RateTypeFID,
        QuoteGroup.Description,
        QuoteGroup.Rate,
        QuoteGroup.Quantity,
        QuoteGroup.Quantity2,
        QuoteGroup.Charge,
        QuoteGroup.QuoteServiceProviderTypeFID,
        QuoteGroup.VendorID,
        QuoteGroup.VendorQuotedCharge,
        QuoteGroup.VendorActualCharge,
        @inIsHidden,
        ROW_NUMBER() over (order by QuoteGroup.SortOrder),
        QuoteGroup.PONumber,
        QuoteGroup.InvoiceNumber,
        QuoteGroup.ServiceDate,
        QuoteGroup.NoteText,
        QuoteGroup.LaborRatingTypeFID,
        QuoteGroup.QuoteServiceProviderBillToFID,
        QuoteGroup.RateSource,
        QuoteGroup.RateSourceRecord,
        QuoteGroup.ExternalVendorID,
        QuoteGroup.ExternalVendorName,
        QuoteGroup.IsLocked,
        QuoteGroup.AccountingVendorFid
    from QuoteGroup
    inner join @inSelectedLineItemIds SelectedItems
        on QuoteGroup.QuoteGroupID = SelectedItems.Item
    where QuoteGroup.QuoteHeaderFID = @inQuoteId;


    delete QuoteGroup
    from @inSelectedLineItemIds SelectedItems
    where QuoteGroup.QuoteGroupId = SelectedItems.Item and
          QuoteGroup.QuoteHeaderFID = @inQuoteId

    exec MssWebResequenceQuoteGroupSortOrder @inQuoteId

    select @newQuoteGroupId as NewGroupId;
end
GO
GRANT EXECUTE ON  [dbo].[MssWebGroupQuoteLineItems] TO [MssExec]
GO
Uses