Advertisement
mhamdani049

AKI-REFILL-2

Jun 29th, 2020
1,066
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.54 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_SEARCH'
  8.     AND ROUTINE_TYPE = N'PROCEDURE'
  9. )
  10. DROP PROCEDURE spex.SP_AMANAH_RE_FILL_3_SEARCH
  11. GO
  12.  
  13. CREATE PROCEDURE spex.SP_AMANAH_RE_FILL_3_SEARCH
  14. (
  15.   @PART_NO VARCHAR(15),
  16.   @ZONE_CD VARCHAR(1)
  17. )
  18. AS
  19. BEGIN
  20.     DECLARE @MSG_TEXT VARCHAR(MAX) = ''
  21.         ,@PARAM1 VARCHAR(MAX) = ''
  22.  
  23.     DECLARE @PART_LABEL_CHECK_DIGIT VARCHAR(1)
  24.  
  25.     IF OBJECT_ID('tempdb..#TB_T_DATA') IS NOT NULL
  26.         DROP TABLE #TB_T_DATA
  27.  
  28.     SET NOCOUNT ON;
  29.     CREATE TABLE #TB_T_DATA (
  30.         RESULT VARCHAR(10)
  31.         ,Message VARCHAR(MAX)
  32.     )
  33.  
  34.     EXEC spex.usp_CutPartNo @PART_NO OUTPUT
  35.  
  36.     BEGIN TRY
  37.         BEGIN TRANSACTION
  38.  
  39.             IF EXISTS (
  40.                 SELECT
  41.                     a.[PART_NO]
  42.                     , a.[QTY] AS QTY
  43.                         FROM [SPEX_DB].[spex].[TB_R_REPORT_PROBLEM] a
  44.                         INNER JOIN [SPEX_DB].[spex].[TB_R_PART_STOCK_INFO] b ON a.[PART_NO] = b.[PART_NO]
  45.                         INNER JOIN [SPEX_DB].[spex].[TB_M_PART_STOCK] c ON a.[PART_NO] = c.[PART_NO]
  46.                             WHERE a.[TYPE_PROBLEM] = 2
  47.                                 AND a.[PART_NO] = @PART_NO
  48.                                 AND ISNULL(b.SOR, 0) < ISNULL(c.MAX_STOCK, 0)
  49.                                 AND (ISNULL(b.SONDR, 0) > 0)
  50.                                 AND LEFT(c.RACK_ADDRESS_CD, 1) = @ZONE_CD
  51.  
  52.             )
  53.                 BEGIN
  54.  
  55.                     SET @MSG_TEXT = '1'
  56.  
  57.                     INSERT INTO #TB_T_DATA
  58.                     VALUES (
  59.                         'Success'
  60.                         ,@MSG_TEXT
  61.                         )
  62.  
  63.                 END
  64.             ELSE
  65.                 BEGIN
  66.  
  67.                     IF EXISTS (
  68.                         SELECT R_PART.PART_NO
  69.                             FROM [SPEX_DB].[spex].[TB_R_PART_STOCK_INFO] AS R_PART
  70.                             INNER JOIN [SPEX_DB].[spex].[TB_M_PART_STOCK] AS M_PART ON R_PART.PART_NO = M_PART.PART_NO
  71.                             WHERE
  72.                                 ISNULL(R_PART.SOR, 0) < ISNULL(M_PART.MAX_STOCK, 0)
  73.                                     AND (ISNULL(R_PART.SONDR, 0) > 0)
  74.                                     AND R_PART.PART_NO = @PART_NO
  75.                                     AND LEFT(M_PART.RACK_ADDRESS_CD, 1) = @ZONE_CD
  76.                     )
  77.                         BEGIN
  78.                             SET @MSG_TEXT = '0'
  79.  
  80.                             INSERT INTO #TB_T_DATA
  81.                             VALUES (
  82.                                 'Success'
  83.                                 ,@MSG_TEXT
  84.                                 )
  85.                         END
  86.                     ELSE
  87.                         BEGIN
  88.                             SET @MSG_TEXT = 'P/N ' + @PART_NO + ' no not found'
  89.  
  90.                             INSERT INTO #TB_T_DATA
  91.                             VALUES (
  92.                                 'Failed'
  93.                                 ,@MSG_TEXT
  94.                                 )
  95.                         END
  96.  
  97.                 END
  98.  
  99.  
  100.         COMMIT TRANSACTION
  101.     END TRY
  102.  
  103.     BEGIN CATCH
  104.         ROLLBACK TRANSACTION
  105.  
  106.         SET @MSG_TEXT = 'Part no not found'
  107.  
  108.         INSERT INTO #TB_T_DATA
  109.         VALUES (
  110.             'Failed'
  111.             ,@MSG_TEXT
  112.             )
  113.     END CATCH
  114.  
  115.     SELECT RESULT
  116.         ,Message
  117.     FROM #TB_T_DATA
  118. END
  119. GO
  120.  
  121. EXECUTE spex.SP_AMANAH_RE_FILL_3_SEARCH '851100D120 F', 'Y';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement