ALTER PROCEDURE [dbo].[CM_BRANCH_Upd] @p_BRANCH_ID varchar(15) = null , @p_FATHER_ID varchar(15) = NULL , @p_BRANCH_CODE varchar(10) = NULL , @p_BRANCH_NAME nvarchar(200) = NULL , @p_REGION_ID varchar(15) = NULL , @p_BRANCH_TYPE varchar(5) = NULL , @p_ADDR nvarchar(200) = NULL , @p_TEL varchar(20) = NULL , @p_NOTES nvarchar(1000) = NULL , @p_IS_POTENTIAL varchar(1) = NULL, @p_RECORD_STATUS varchar(1) = NULL , @p_MAKER_ID varchar(15) = NULL , @p_CREATE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS varchar(50) = NULL , @p_CHECKER_ID varchar(15) = NULL , @p_TAX_NO varchar(50) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_DAO_CODE varchar(40) = NULL, @p_DAO_NAME nvarchar(500) = NULL AS --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF( EXISTS (SELECT * FROM CM_BRANCH WHERE @p_TAX_NO IS NOT NULL AND @p_TAX_NO != '' AND TAX_NO = @p_TAX_NO AND BRANCH_ID <> @p_BRANCH_ID)) SET @ERRORSYS = 'BRN-001' --IF ( EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_CODE = @p_BRANCH_CODE AND BRANCH_ID != @p_BRANCH_ID)) -- SET @ERRORSYS = 'CMCD-00001' IF ( NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID)) SET @ERRORSYS = 'CMC-00001' IF ( @p_FATHER_ID <> NULL OR @p_FATHER_ID <> '') IF( NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID = @p_FATHER_ID ) ) SET @ERRORSYS = 'CMC-00002' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, '' ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END BEGIN TRANSACTION UPDATE CM_BRANCH SET [FATHER_ID] = @p_FATHER_ID, [BRANCH_CODE] = @p_BRANCH_CODE, [BRANCH_NAME] = @p_BRANCH_NAME, [REGION_ID] = @p_REGION_ID, [BRANCH_TYPE] = @p_BRANCH_TYPE, [ADDR] = @p_ADDR, [TEL] = @p_TEL, [NOTES] = @p_NOTES, [RECORD_STATUS] = @p_RECORD_STATUS, [TAX_NO] = @p_TAX_NO, [IS_POTENTIAL] = @p_IS_POTENTIAL, [AUTH_STATUS] = @p_AUTH_STATUS, [DAO_CODE]=@p_DAO_CODE, [DAO_NAME]=@p_DAO_NAME WHERE BRANCH_ID= @p_BRANCH_ID IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @p_BRANCH_ID ID, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ID, '' ErrorDesc RETURN '-1' End