ALTER PROCEDURE [dbo].[CM_DEPARTMENT_Ins] @p_DEP_CODE varchar(15) = NULL, @p_DEP_NAME nvarchar(200) = NULL, @p_DAO_CODE varchar(40) = NULL, @p_DAO_NAME nvarchar(500) = NULL, @p_BRANCH_ID varchar(15) = NULL, @p_GROUP_ID varchar(15) = NULL, @p_TEL varchar(20) = NULL, @p_NOTES nvarchar(1000) = NULL, @p_RECORD_STATUS varchar(1) = NULL, @p_MAKER_ID varchar(12) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS varchar(50) = NULL, @p_CHECKER_ID varchar(12) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_FATHER_ID VARCHAR(15) = NULL, @p_KHOI_ID VARCHAR(20)=NULL AS --Validation is here /* DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE )) SET @ERRORSYS = '' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, '' CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END */ --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_CODE = @p_DEP_CODE AND BRANCH_ID=@p_BRANCH_ID)) SET @ERRORSYS = 'CMCD-00001' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, '' ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END BEGIN TRANSACTION DECLARE @l_DEP_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'CM_DEPARTMENT', @l_DEP_ID out IF @l_DEP_ID='' OR @l_DEP_ID IS NULL GOTO ABORT INSERT INTO CM_DEPARTMENT([DEP_ID],[DEP_CODE],[DEP_NAME],[DAO_CODE],[DAO_NAME],[BRANCH_ID],[GROUP_ID],[TEL],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT], FATHER_ID,[KHOI_ID]) VALUES(@l_DEP_ID ,@p_DEP_CODE ,@p_DEP_NAME ,@p_DAO_CODE ,@p_DAO_NAME ,@p_BRANCH_ID ,@p_GROUP_ID ,@p_TEL ,@p_NOTES ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103), @p_FATHER_ID,@p_KHOI_ID) IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @l_DEP_ID ID, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ID, '' ErrorDesc RETURN '-1' End