Advertisement
mhamdani049

AKI-REFILL-5

Jun 29th, 2020
1,231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.64 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_4_RESERVE_DETAIL'
  8.     AND ROUTINE_TYPE = N'PROCEDURE'
  9. )
  10. DROP PROCEDURE spex.SP_AMANAH_RE_FILL_4_RESERVE_DETAIL
  11. GO
  12.  
  13. CREATE PROCEDURE spex.SP_AMANAH_RE_FILL_4_RESERVE_DETAIL
  14. (
  15.     @PART_NO NVARCHAR(15),
  16.     @ZONE_CD VARCHAR(1)
  17. )
  18. AS
  19. BEGIN
  20.  
  21.     SELECT TOP 1 * FROM (
  22.         SELECT
  23.         a.TRANSFER_NO
  24.         , a.BT_NO
  25.         , a.PART_NO
  26.         , ISNULL(a.[QTY], 0) AS QTY
  27.         , a.SOURCE
  28.         , a.CREATED_BY
  29.         , a.CREATED_DT
  30.         , a.ID
  31.         , a.START_DATE
  32.         , a.END_DATE
  33.         , a.RACK_ADDRESS
  34.         , CASE
  35.             WHEN ISNULL(a.[QTY], 0) > ISNULL(d.[REFILL_RESERVE_LOCATION_SET_MIN_QTY], 0)
  36.                 THEN 1
  37.                 ELSE 0
  38.         END AS IS_ENABLE_INPUT_QTY
  39.             FROM
  40.                 [spex].[TB_R_BINNING] a
  41.                 INNER JOIN  [SPEX_DB].[spex].[TB_R_PART_STOCK_INFO] b ON a.PART_NO = b.PART_NO
  42.                 LEFT JOIN [spex].[TB_R_BUCKET_TRANSFER_H] c ON a.TRANSFER_NO = c.TRANSFER_NO AND a.BT_NO = c.BT_NO
  43.                 CROSS APPLY (SELECT TOP 1 ISNULL([SYSTEM_VALUE], 0) AS REFILL_RESERVE_LOCATION_SET_MIN_QTY FROM [SPEX_DB].[dbo].[TB_M_SYSTEM] WHERE [SYSTEM_TYPE] = 'DEVICE' AND [SYSTEM_CD] = 'REFILL_RESERVE_LOCATION_SET_MIN_QTY') d
  44.                     WHERE
  45.                         a.[PART_NO] = @PART_NO
  46.                         AND (a.[SOURCE] = 'NON-DIRECT')
  47.                         AND ISNULL(b.SONDR, 0) > 0
  48.                         AND (c.[CLOSE_BY] IS NOT NULL OR c.[CLOSE_DT] IS NOT NULL)
  49.                         AND LEFT(a.[RACK_ADDRESS], 1) = @ZONE_CD
  50.     ) x WHERE x.QTY > 0 ORDER BY x.SOURCE ASC, x.START_DATE ASC
  51.  
  52. END
  53. GO
  54.  
  55. EXECUTE spex.SP_AMANAH_RE_FILL_4_RESERVE_DETAIL '851100D120', 'M';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement