Advertisement
mhamdani049

Inquery

Jul 1st, 2020
1,147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.10 KB | None | 0 0
  1. USE SPEX_DB;
  2.  
  3. IF EXISTS (
  4. SELECT *
  5.     FROM INFORMATION_SCHEMA.ROUTINES
  6. WHERE SPECIFIC_SCHEMA = N'spex'
  7.     AND SPECIFIC_NAME = N'SP_AMANAH_RE_FILL_ROLLBACK'
  8.     AND ROUTINE_TYPE = N'PROCEDURE'
  9. )
  10. DROP PROCEDURE spex.SP_AMANAH_RE_FILL_ROLLBACK
  11. GO
  12.  
  13. CREATE PROCEDURE spex.SP_AMANAH_RE_FILL_ROLLBACK
  14. (
  15.     @zoneCd VARCHAR(MAX),
  16.     @partNo VARCHAR(MAX),
  17.     @btNo VARCHAR(MAX),
  18.     @reserveLoc VARCHAR(MAX),
  19.     @username VARCHAR(MAX)
  20. )
  21. AS
  22.     DECLARE @qty INT
  23.     DECLARE @transferNo VARCHAR(MAX)
  24. BEGIN
  25.  
  26.     SET @qty = 0;
  27.  
  28.     -- Execute TB_R_REFILL
  29.     SELECT @qty = QTY FROM dbo.TB_R_REFILL WHERE PART_NO=@partNo AND BT_NO=@btNo AND (CREATED_BY=@username OR CHANGED_BY=@username) AND RACK_ADDRESS=@reserveLoc;
  30.     DELETE FROM dbo.TB_R_REFILL WHERE PART_NO=@partNo AND BT_NO=@btNo AND (CREATED_BY=@username OR CHANGED_BY=@username) AND RACK_ADDRESS=@reserveLoc;
  31.     PRINT '@qty:' + CONVERT(VARCHAR(MAX), @qty);
  32.  
  33.     -- Execute TB_R_PART_STOCK_INFO
  34.     -- SELECT * FROM spex.TB_R_PART_STOCK_INFO WHERE PART_NO=@partNo
  35.     UPDATE spex.TB_R_PART_STOCK_INFO SET SONDR = SONDR + @qty WHERE PART_NO=@partNo
  36.     UPDATE spex.TB_R_PART_STOCK_INFO SET SOH = SOH + @qty WHERE PART_NO=@partNo
  37.  
  38.     -- Execute TB_R_BINNING
  39.     -- SELECT * FROM spex.TB_R_BINNING WHERE PART_NO=@partNo AND RACK_ADDRESS=@reserveLoc AND LEFT([RACK_ADDRESS], 1)=@zoneCd
  40.     UPDATE spex.TB_R_BINNING SET QTY = QTY + @qty WHERE PART_NO=@partNo AND RACK_ADDRESS=@reserveLoc AND LEFT([RACK_ADDRESS], 1)=@zoneCd
  41.  
  42.     -- Execute TB_T_BUCKET_TRANSFER
  43.     -- SELECT * FROM spex.TB_T_BUCKET_TRANSFER WHERE BT_NO=@btNo
  44.     DELETE FROM spex.TB_T_BUCKET_TRANSFER WHERE BT_NO=@btNo
  45.  
  46.     -- Execute TB_R_REPORT_PROBLEM
  47.     -- SELECT * FROM spex.TB_R_REPORT_PROBLEM WHERE PART_NO=@partNo AND TYPE_PROBLEM=2
  48.     UPDATE spex.TB_R_REPORT_PROBLEM SET REFILL_QTY = NULL WHERE PART_NO=@partNo AND TYPE_PROBLEM=2
  49.  
  50.     -- Execute TB_R_BUCKET_TRANSFER_H
  51.     SELECT @transferNo=TRANSFER_NO FROM spex.TB_R_BUCKET_TRANSFER_H WHERE BT_NO=@btNo AND OPEN_BY=@username
  52.     DELETE FROM spex.TB_R_BUCKET_TRANSFER_H WHERE BT_NO=@btNo AND OPEN_BY=@username
  53.     PRINT '@transferNo:' + CONVERT(VARCHAR(MAX), @transferNo);
  54.  
  55.     -- Execute TB_R_BUCKET_TRANSFER_D
  56.     -- SELECT * FROM spex.TB_R_BUCKET_TRANSFER_D WHERE TRANSFER_NO=@transferNo AND PART_NO=@partNo
  57.     DELETE FROM spex.TB_R_BUCKET_TRANSFER_D WHERE TRANSFER_NO=@transferNo AND PART_NO=@partNo
  58.  
  59.     -- Execute TB_R_BUCKET_TRANSFER_D
  60.     -- SELECT * FROM spex.TB_R_STOCK_CARD WHERE PART_NO=@partNo AND FLAG='0'
  61.     UPDATE A SET A.QTY = A.QTY - @qty, END_STOCK = B.SOH - @qty
  62.     FROM spex.TB_R_STOCK_CARD A
  63.     JOIN spex.TB_R_PART_STOCK_INFO B ON A.PART_NO = B.PART_NO
  64.     WHERE A.PART_NO=@partNo
  65.     AND CONVERT ( DATE, [DATE] ) = CONVERT ( DATE, CURRENT_TIMESTAMP )
  66.     AND A.FLAG='0'
  67.  
  68.     SELECT  1
  69.  
  70.     END
  71. GO
  72.  
  73. -- EXECUTE spex.SP_AMANAH_RE_FILL_ROLLBACK 'M','16572BZ270', 'REBI-M-0106200001', 'M-UTAN-001', 'AMANAH.Yusup'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement