Stored Procedures [dbo].[MssWebUngroupQuoteLineItems]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@inOrderIdint4
@inQuoteIdint4
@inQuoteGroupIdint4
Permissions
TypeActionOwning Principal
GrantExecuteMssExec
SQL Script
create procedure [dbo].[MssWebUngroupQuoteLineItems]
    @inOrderId int,
    @inQuoteId int,
    @inQuoteGroupId int
as
begin
    set nocount on;

    declare @maxSortOrder int;

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

    insert into QuoteGroup
    (
        QuoteHeaderFID,
        ItemCodeFID,
        RateTypeFID,
        [Description],
        Rate,
        Quantity,
        Quantity2,
        Charge,
        QuoteServiceProviderTypeFID,
        VendorID,
        VendorQuotedCharge,
        VendorActualCharge,
        SortOrder,
        PONumber,
        InvoiceNumber,
        ServiceDate,
        NoteText,
        LaborRatingTypeFID,
        QuoteServiceProviderBillToFID,
        RateSource,
        RateSourceRecord,
        ExternalVendorID,
        ExternalVendorName,
        AccountingVendorFid
    )
    select
        @inQuoteId,
        QuoteDetail.ItemCodeFID,
        QuoteDetail.RateTypeFID,
        QuoteDetail.[Description],
        QuoteDetail.Rate,
        QuoteDetail.Quantity,
        QuoteDetail.Quantity2,
        QuoteDetail.Charge,
        QuoteDetail.QuoteServiceProviderTypeFID,
        QuoteDetail.VendorID,
        QuoteDetail.VendorQuotedCharge,
        QuoteDetail.VendorActualCharge,
        QuoteDetail.SortOrder + @maxSortOrder,
        QuoteDetail.PONumber,
        QuoteDetail.InvoiceNumber,
        QuoteDetail.ServiceDate,
        QuoteDetail.NoteText,
        QuoteDetail.LaborRatingTypeFID,
        QuoteDetail.QuoteServiceProviderBillToFID,
        QuoteDetail.RateSource,
        QuoteDetail.RateSourceRecord,
        QuoteDetail.ExternalVendorID,
        QuoteDetail.ExternalVendorName,
        QuoteDetail.AccountingVendorFid
    from QuoteDetail
        inner join QuoteGroup
            on QuoteGroup.QuoteGroupID = QuoteDetail.QuoteGroupFID
        inner join QuoteHeader
            on QuoteHeader.QuoteHeaderID = QuoteGroup.QuoteHeaderFID
            and QuoteHeader.OrdersFID = @inOrderId
            and QuoteHeader.QuoteHeaderID = @inQuoteId
    where QuoteDetail.QuoteGroupFID = @inQuoteGroupId;

    delete QuoteDetail
    from QuoteDetail
        inner join QuoteGroup
            on QuoteGroup.QuoteGroupID = QuoteDetail.QuoteGroupFID
        inner join QuoteHeader
            on QuoteHeader.QuoteHeaderID = QuoteGroup.QuoteHeaderFID
            and QuoteHeader.OrdersFID = @inOrderId
            and QuoteHeader.QuoteHeaderID = @inQuoteId
    where QuoteDetail.QuoteGroupFID = @inQuoteGroupId;

    delete QuoteGroup
    from QuoteGroup
        inner join QuoteHeader
            on QuoteHeader.QuoteHeaderID = QuoteGroup.QuoteHeaderFID
            and QuoteHeader.OrdersFID = @inOrderId
            and QuoteHeader.QuoteHeaderID = @inQuoteId
    where QuoteGroup.QuoteGroupID = @inQuoteGroupId;

    exec MssWebResequenceQuoteGroupSortOrder @inQuoteId

end
GO
GRANT EXECUTE ON  [dbo].[MssWebUngroupQuoteLineItems] TO [MssExec]
GO
Uses