-- =============================================
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'dd_RT010130OPS_RESEQUENCE'
AND type = 'P')
DROP PROCEDURE dd_RT010130OPS_RESEQUENCE
GO
CREATE PROCEDURE dd_RT010130OPS_RESEQUENCE
-- dd_RT010130OPS_RESEQUENCE 'DEFAULT','10','**DA2292-01-219**obsolete**','30', 'UP'
@ROUTINGNAME_I char(31),
@RTSEQNUM_I char(11),
@ITEMNMBR char(31),
@LINEITEMSEQ INT,
@DIRECTION VARCHAR(4) --UP/DOWN
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
DECLARE @ORIG AS INT
SELECT @ORIG = @LINEITEMSEQ
DECLARE @NEW AS INT
DECLARE @INTCOUNT AS INT
SELECT @INTCOUNT = COUNT(*)
FROM RT010130OPS RTO1
WHERE RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND RTO1.ITEMNMBR = @ITEMNMBR
IF @INTCOUNT IS NULL BEGIN
RETURN
END
IF @DIRECTION = 'DOWN' BEGIN
SELECT @NEW = MIN(RTO1.LINEITEMSEQ)
FROM RT010130OPS RTO1
WHERE RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND RTO1.ITEMNMBR = @ITEMNMBR
AND RTO1.LINEITEMSEQ > @ORIG
IF @NEW IS NULL BEGIN
RETURN
END
--dd_RT010130OPS_RESEQUENCE 'DEFAULT','10','**DA2292-01-219**obsolete**','30', 'DOWN'
UPDATE RT010130OPS
SET LINEITEMSEQ = 0
FROM RT010130OPS RTO1
WHERE
RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND
RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND
RTO1.ITEMNMBR = @ITEMNMBR
AND
RTO1.LINEITEMSEQ = @LINEITEMSEQ
UPDATE RT010130OPS
SET LINEITEMSEQ = @ORIG
FROM RT010130OPS RTO1
WHERE
RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND
RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND
RTO1.ITEMNMBR = @ITEMNMBR
AND
RTO1.LINEITEMSEQ = @NEW
UPDATE RT010130OPS
SET LINEITEMSEQ = @NEW
FROM RT010130OPS RTO1
WHERE
RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND
RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND
RTO1.ITEMNMBR = @ITEMNMBR
AND
RTO1.LINEITEMSEQ = 0
END
IF @DIRECTION = 'UP' BEGIN
SELECT @NEW = MAX(RTO1.LINEITEMSEQ)
FROM RT010130OPS RTO1
WHERE RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND RTO1.ITEMNMBR = @ITEMNMBR
AND RTO1.LINEITEMSEQ < @ORIG
IF @NEW IS NULL BEGIN
RETURN
END
--dd_RT010130OPS_RESEQUENCE 'DEFAULT','10','**DA2292-01-219**obsolete**','40', 'UP'
UPDATE RT010130OPS
SET LINEITEMSEQ = 0
FROM RT010130OPS RTO1
WHERE
RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND
RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND
RTO1.ITEMNMBR = @ITEMNMBR
AND
RTO1.LINEITEMSEQ = @LINEITEMSEQ
UPDATE RT010130OPS
SET LINEITEMSEQ = @ORIG
FROM RT010130OPS RTO1
WHERE
RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND
RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND
RTO1.ITEMNMBR = @ITEMNMBR
AND
RTO1.LINEITEMSEQ = @NEW
UPDATE RT010130OPS
SET LINEITEMSEQ = @NEW
FROM RT010130OPS RTO1
WHERE
RTO1.ROUTINGNAME_I = @ROUTINGNAME_I
AND
RTO1.RTSEQNUM_I = @RTSEQNUM_I
AND
RTO1.ITEMNMBR = @ITEMNMBR
AND
RTO1.LINEITEMSEQ = 0
END
GO
grant exec on dd_RT010130OPS_RESEQUENCE to public
--SP_SPS