84 lines
2.0 KiB
Transact-SQL
84 lines
2.0 KiB
Transact-SQL
USE [FabApprovalSystem]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[GetMRBsFromSPN] Script Date: 11/21/2024 11:29:04 AM ******/
|
|
SET
|
|
ANSI_NULLS ON
|
|
GO
|
|
SET
|
|
QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE PROCEDURE [dbo].[GetMRBsFromSPN] @LotNo VARCHAR(10) AS BEGIN DECLARE @ParentLotNo VARCHAR(10) DECLARE @sql NVARCHAR(MAX) DECLARE @wp_lot_from TABLE(WP_LOT_FROM VARCHAR(10)) DECLARE @results TABLE(MRBNumber INT) DECLARE @finalresults TABLE(MRBNumber INT, DispoType CHAR(1)) -- Get the parent Lot
|
|
SET
|
|
@sql = N 'SELECT WP_LOT_FROM FROM OPENQUERY(FAB2SPN, ''SELECT WP_LOT_FROM FROM WP_RECORD WHERE WP_DIRECT_KEY = ''''3002' + @LotNo + ''''' '')'
|
|
DELETE FROM
|
|
@wp_lot_from
|
|
INSERT INTO
|
|
@wp_lot_from EXEC sp_executesql @sql
|
|
SET
|
|
@ParentLotNo = (
|
|
SELECT
|
|
TOP 1 WP_LOT_FROM
|
|
FROM
|
|
@wp_lot_from
|
|
) DECLARE @MRB VARCHAR(10) = '%MRBINFO%'
|
|
SET
|
|
@sql = FORMATMESSAGE(
|
|
'SELECT DISTINCT LEFT(WT_COMMENT, 4) AS MRBNumber FROM OPENQUERY(FAB2SPNTESTMJ, ' + '''SELECT WT_COMMENT ' + 'FROM WT_RECORD ' + 'WHERE WT_WP_DIRECT_KEY = ''''3002%s '''' AND WT_VERB LIKE ''''%s'''' '') ',
|
|
@LotNo,
|
|
@MRB
|
|
)
|
|
DELETE FROM
|
|
@results
|
|
INSERT INTO
|
|
@results EXEC sp_executesql @sql DECLARE @MRBNumber INT DECLARE MRBList CURSOR FOR
|
|
SELECT
|
|
MRBNumber
|
|
FROM
|
|
@results OPEN MRBList FETCH NEXT
|
|
FROM
|
|
MRBList INTO @MRBNumber WHILE @ @FETCH_STATUS = 0 BEGIN -- Only process if the @LotNo & the MRB record is not present
|
|
IF (
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
MRBLot
|
|
WHERE
|
|
MRBNumber = @MRBNumber
|
|
AND LotNumber = @LotNo
|
|
) = 0 BEGIN -- Get the Dispo of the Parent Lot
|
|
IF (
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
MRBLot
|
|
WHERE
|
|
MRBNumber = @MRBNumber
|
|
AND LotNumber = LTRIM(RTRIM(@ParentLotNo))
|
|
) > 0 BEGIN
|
|
INSERT INTO
|
|
@finalresults
|
|
SELECT
|
|
MRBNumber,
|
|
DispoType
|
|
FROM
|
|
MRBLot
|
|
WHERE
|
|
MRBNumber = @MRBNumber
|
|
AND LotNumber = LTRIM(RTRIM(@ParentLotNo))
|
|
END
|
|
ELSE BEGIN
|
|
INSERT INTO
|
|
@finalresults
|
|
VALUES
|
|
(@MRBNumber, NULL)
|
|
END
|
|
END FETCH NEXT
|
|
FROM
|
|
MRBList INTO @MRBNumber
|
|
END CLOSE MRBList DEALLOCATE MRBList
|
|
SELECT
|
|
*
|
|
FROM
|
|
@finalresults
|
|
END
|
|
GO |