USP_ITINERARY_REMOVEFACILITIES
Removes sales order item facilities attached to itinerary item locations after location is removed.
Parameters
| Parameter | Parameter Type | Mode | Description | 
|---|---|---|---|
| @ID | uniqueidentifier | IN | 
Definition
 Copy 
                                    
        create procedure dbo.USP_ITINERARY_REMOVEFACILITIES
        (
            @ID uniqueidentifier
        )
        as
        begin
            declare @SALESORDERITEMS table
            (
                ID uniqueidentifier
            )
            insert into @SALESORDERITEMS
            select
                ITINERARYITEMLOCATION.SALESORDERITEMID
            from dbo.ITINERARYITEMLOCATION
            inner join dbo.ITINERARYITEM on
                ITINERARYITEM.ID = ITINERARYITEMLOCATION.ID
            where
                ITINERARYITEM.ITINERARYID = @ID
            declare @e int;
            declare @contextCache varbinary(128);
            set @contextCache = CONTEXT_INFO();
            with LOCATIONDEL_CTE as
            (
                select
                    ITINERARYITEMLOCATION.ID
                from dbo.ITINERARYITEM
                inner join dbo.ITINERARYITEMLOCATION on
                    ITINERARYITEM.ID = ITINERARYITEMLOCATION.ID
                where
                    ITINERARYITEM.ITINERARYID = @ID
            )
            delete from dbo.ITINERARYITEMLOCATION
            from LOCATIONDEL_CTE
            where
                LOCATIONDEL_CTE.ID = ITINERARYITEMLOCATION.ID
            delete from dbo.SALESORDERITEM
            where
                ID in (select ID from @SALESORDERITEMS)
            if not @contextCache is null
                set CONTEXT_INFO @contextCache
            select @e=@@error;
            if @e<>0 return -456; --always return non-zero sp result if an error occurs    
        end