mhamdani049

AKI-REFILL-0

Jun 29th, 2020
1,081
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.18 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_3_ZONE'
  8.     AND ROUTINE_TYPE = N'PROCEDURE'
  9. )
  10. DROP PROCEDURE spex.SP_AMANAH_RE_FILL_3_ZONE
  11. GO
  12.  
  13. CREATE PROCEDURE spex.SP_AMANAH_RE_FILL_3_ZONE
  14. AS
  15. BEGIN
  16.  
  17.     SELECT x.* FROM (
  18.         SELECT a.ZONE_CD AS ZONE, 0 AS STATUS FROM [SPEX_DB].[spex].[TB_M_ZONE] a WHERE a.ZONE_CD NOT IN (
  19.             SELECT DISTINCT a.ZONE_CD AS ZONE FROM [SPEX_DB].[spex].[TB_M_ZONE] a
  20.             LEFT JOIN [SPEX_DB].[spex].[TB_M_PART_STOCK] b ON a.ZONE_CD = LEFT(b.RACK_ADDRESS_CD, 1)
  21.             LEFT JOIN [SPEX_DB].[spex].[TB_R_PART_STOCK_INFO] c ON b.PART_NO = c.PART_NO
  22.             WHERE ISNULL(c.SOR, 0) < ISNULL(b.MAX_STOCK, 0)
  23.             AND (ISNULL(c.SONDR, 0) > 0)
  24.         )
  25.         UNION
  26.         SELECT DISTINCT a.ZONE_CD AS ZONE, 1 AS STATUS FROM [SPEX_DB].[spex].[TB_M_ZONE] a
  27.         LEFT JOIN [SPEX_DB].[spex].[TB_M_PART_STOCK] b ON a.ZONE_CD = LEFT(b.RACK_ADDRESS_CD, 1)
  28.         LEFT JOIN [SPEX_DB].[spex].[TB_R_PART_STOCK_INFO] c ON b.PART_NO = c.PART_NO
  29.         WHERE ISNULL(c.SOR, 0) < ISNULL(b.MAX_STOCK, 0)
  30.         AND (ISNULL(c.SONDR, 0) > 0)
  31.     ) x ORDER BY x.ZONE ASC
  32.  
  33. END
  34. GO
  35.  
  36. EXECUTE spex.SP_AMANAH_RE_FILL_3_ZONE
Advertisement
Add Comment
Please, Sign In to add comment