ALTER PROCEDURE [dbo].[PL_REQ_DOC_Ins_To_TR_REQ_DOC] @p_PL_REQ_ID VARCHAR(15) AS BEGIN TRANSACTION DECLARE @l_REQ_ID VARCHAR(15), @p_REQ_CODE VARCHAR(20), @PL_REQDT_ID varchar(15), @GOODS_ID varchar(15), @DESCRIPTION nvarchar(500), @QUANTITY DECIMAL(18,0), @PRICE DECIMAL(18,0), @TOTAL_AMT DECIMAL(18,0), @DVDM_ID VARCHAR(20), @CURRENCY VARCHAR(10), @TAXES DECIMAL(18,2), @EXCHANGE_RATE DECIMAL(18,2), @COST_ID VARCHAR(20), @MAKER_ID VARCHAR(20), @HH_ID VARCHAR(20), @SUP_ID VARCHAR(20), @l_REQDT_ID VARCHAR(15), @l_REQ_COST_ID VARCHAR(15), @NOTES_COST NVARCHAR(500), @TRADE_TYPE VARCHAR(15), @REASON_CDT NVARCHAR(MAX), @REQPL_DT_ID VARCHAR(20) IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID AND TRADE_TYPE='VCCB')) BEGIN --insert master EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC', @l_REQ_ID out IF @l_REQ_ID='' OR @l_REQ_ID IS NULL GOTO ABORT exec [TR_CODE_GenKey] 'TR_REQUEST_DOC', '','PUR', @p_REQ_CODE out IF @p_REQ_CODE='' OR @p_REQ_CODE IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_DOC ( REQ_ID, REQ_CODE, REQ_DT, REQ_REASON, PL_REQ_ID, NOTES, RECORD_STATUS, CREATE_DT, AUTH_STATUS, TOTAL_AMT, BRANCH_CREATE, DEP_CREATE, USER_REQUEST,MAKER_ID,PROCESS_ID ) SELECT @l_REQ_ID,@p_REQ_CODE,GETDATE(),REQ_REASON, REQ_ID,'','1',GETDATE(),'E',TOTAL_AMT,BRANCH_CREATE,DEP_CREATE,MAKER_ID,MAKER_ID,'NEW' FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID IF @@Error <> 0 GOTO ABORT --Insert into TABLE PL_REQUEST_DOC_DT DECLARE ListGoods CURSOR FOR SELECT REQDT_ID,GOODS_ID,[DESCRIPTION],QUANTITY,PRICE,TOTAL_AMT,HANGHOA_ID,DVDM_ID,CURRENCY,TAXES,EXCHANGE_RATE,SUP_ID,TRADE_TYPE,NAME FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID AND TRADE_TYPE='VCCB' OPEN ListGoods SET @MAKER_ID=(SELECT MAKER_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID) FETCH NEXT FROM ListGoods INTO @PL_REQDT_ID,@GOODS_ID,@DESCRIPTION,@QUANTITY,@PRICE,@TOTAL_AMT,@HH_ID,@DVDM_ID,@CURRENCY,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRADE_TYPE,@REASON_CDT WHILE @@FETCH_STATUS = 0 BEGIN EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_DT', @l_REQDT_ID out IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_PL_DT', @REQPL_DT_ID out IF @REQPL_DT_ID='' OR @REQPL_DT_ID IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_DOC_PL_DT ( REQPL_DT_ID, REQ_DOC_ID, PL_REQDT_ID, GD_ID, SUP_ID, HH_ID, TRAN_TYPE_ID, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, DES_GOOD, QUANTITY_PL, PRICE_PL, CURRENCY, EXCHANGE_RATE, TAXES, TOTAL_AMT_ETM, REASON_CDT, REQ_DT, NOTES, RECORD_STATUS ) VALUES ( @REQPL_DT_ID, -- REQPL_DT_ID - varchar(15) @l_REQ_ID, -- REQ_DOC_ID - varchar(15) @PL_REQDT_ID, -- PL_REQDT_ID - varchar(15) @GOODS_ID, -- GD_ID - varchar(15) @SUP_ID, -- SUP_ID - varchar(15) @HH_ID, -- HH_ID - varchar(15) @TRADE_TYPE, -- TRAN_TYPE_ID - varchar(15) @MAKER_ID, -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime '', -- AUTH_STATUS - varchar(50) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime @DESCRIPTION, -- DES_GOOD - nvarchar(500) @QUANTITY, -- QUANTITY_PL - decimal(18, 0) @PRICE, -- PRICE_PL - decimal(18, 2) @CURRENCY, -- CURRENCY - nvarchar(50) @EXCHANGE_RATE, -- EXCHANGE_RATE - decimal(18, 2) @TAXES, -- TAXES - decimal(18, 2) @TOTAL_AMT, -- TOTAL_AMT_ETM - decimal(18, 2) @REASON_CDT, -- REASON_CDT - nvarchar(500) GETDATE(), -- REQ_DT - datetime N'', -- NOTES - nvarchar(500) '1' -- RECORD_STATUS - varchar(1) ) print 'haha' INSERT INTO dbo.TR_REQUEST_DOC_DT ( REQDT_ID, REQ_DOC_ID, PL_REQDT_ID, GD_ID, DESCRIPTION, RECORD_STATUS, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, QUANTITY, PRICE, TOTAL_AMT, PRICE_ETM, TOTAL_AMT_ETM,CURRENCY,HANGHOA_ID,DVDM_ID,TAXES,EXCHANGE_RATE,SUP_ID,REQPL_DT_ID ) VALUES ( @l_REQDT_ID, -- REQDT_ID - varchar(15) @l_REQ_ID, -- REQ_ID - varchar(15) @PL_REQDT_ID, -- PLAN_ID - varchar(15) @GOODS_ID, -- GOODS_ID - varchar(15 -- NAME - nvarchar(200) @DESCRIPTION, -- DESCRIPTION - nvarchar(500) '1', -- RECORD_STATUS - varchar(1) '', -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime 'U', -- AUTH_STATUS - varchar(50) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime @QUANTITY, @PRICE, @TOTAL_AMT, @PRICE, @TOTAL_AMT, @CURRENCY,@HH_ID,@DVDM_ID,@TAXES,@EXCHANGE_RATE,@SUP_ID,@REQPL_DT_ID ) IF @@ERROR <> 0 GOTO ABORT1 -- next Group_Id FETCH NEXT FROM ListGoods INTO @PL_REQDT_ID,@GOODS_ID,@DESCRIPTION,@QUANTITY,@PRICE,@TOTAL_AMT,@HH_ID,@DVDM_ID,@CURRENCY,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRADE_TYPE,@REASON_CDT END UPDATE dbo.TR_REQUEST_DOC SET TOTAL_AMT = ( SELECT SUM(QUANTITY*PRICE) FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID = @l_REQ_ID ) WHERE REQ_ID = @l_REQ_ID CLOSE ListGoods DEALLOCATE ListGoods IF @@Error <> 0 GOTO ABORT --LUCTV: 10 06 2021 KHI PHÁT SINH PYCMS TỪ TỜ TRÌNH CHỦ TRƯƠNG, KHÔNG CẦN PHÁT SINH ĐƠN VỊ CHUYÊN MÔN --DECLARE lstCostCenter CURSOR FOR --SELECT COST_ID, NOTES FROM dbo.PL_REQUEST_COSTCENTER WHERE REQ_ID=@p_PL_REQ_ID --GROUP BY COST_ID,NOTES --OPEN lstCostCenter --FETCH NEXT FROM lstCostCenter INTO @COST_ID, @NOTES_COST --WHILE @@FETCH_STATUS=0 --BEGIN -- EXEC SYS_CodeMasters_Gen 'TR_REQUEST_COSTCENTER', @l_REQ_COST_ID out -- IF @l_REQ_COST_ID='' OR @l_REQ_COST_ID IS NULL GOTO ABORT -- INSERT INTO dbo.TR_REQUEST_COSTCENTER -- ( -- REQ_COST_ID, -- COST_ID, -- REQ_ID, -- NOTES, -- AUTH_STATUS, -- MAKER_ID, -- CREATE_DT, -- CHECKER_ID, -- APPROVE_DT -- ) -- VALUES -- ( @l_REQ_COST_ID, -- REQ_COST_ID - varchar(15) -- @COST_ID, -- COST_ID - varchar(15) -- @l_REQ_ID, -- REQ_ID - varchar(15) -- @NOTES_COST, -- NOTES - nvarchar(500) -- '', -- AUTH_STATUS - varchar(1) -- @MAKER_ID, -- MAKER_ID - varchar(15) -- NULL, -- CREATE_DT - datetime -- '', -- CHECKER_ID - varchar(15) -- NULL -- APPROVE_DT - datetime -- ) -- FETCH NEXT FROM lstCostCenter INTO @COST_ID,@NOTES_COST --END --CLOSE lstCostCenter --DEALLOCATE lstCostCenter INSERT INTO dbo.PL_REQUEST_PROCESS ( REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD ) VALUES ( @l_REQ_ID, -- REQ_ID - varchar(15) 'NEW', -- PROCESS_ID - varchar(10) 'C', -- STATUS - varchar(5) '', -- ROLE_USER - varchar(50) '', -- BRANCH_ID - varchar(15) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime '', -- PARENT_PROCESS_ID - varchar(10) 'N', -- IS_LEAF - varchar(1) '', -- COST_ID - varchar(15) '', -- DVDM_ID - varchar(15) N'Chờ gửi phê duyệt', -- NOTES - nvarchar(500) NULL -- IS_HAS_CHILD - bit ) IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@l_REQ_ID AND TOTAL_AMT <=10000000 AND NOT EXISTS (SELECT * FROM dbo.CM_BRANCH WHERE BRANCH_ID=BRANCH_CREATE AND BRANCH_TYPE='HS'))) BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P',NOTES =N'Tự động phát sinh & duyệt hoàn tất' WHERE REQ_ID=@l_REQ_ID AND PROCESS_ID='NEW' INSERT INTO dbo.PL_REQUEST_PROCESS ( REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD ) VALUES ( @l_REQ_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) 'C', -- STATUS - varchar(5) '', -- ROLE_USER - varchar(50) '', -- BRANCH_ID - varchar(15) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime 'NEW', -- PARENT_PROCESS_ID - varchar(10) 'N', -- IS_LEAF - varchar(1) '', -- COST_ID - varchar(15) '', -- DVDM_ID - varchar(15) N'Hoàn tất', -- NOTES - nvarchar(500) NULL -- IS_HAS_CHILD - bit ) UPDATE TR_REQUEST_DOC SET AUTH_STATUS='A',PROCESS_ID='APPROVE',USER_DVMS=MAKER_ID,BRANCH_DVMS=BRANCH_CREATE WHERE REQ_ID=@l_REQ_ID EXEC dbo.TR_REQ_DOC_Ins_To_PO @p_TR_REQ_ID = @l_REQ_ID -- varchar(15) END END IF(EXISTS(SELECT * FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID AND TRADE_TYPE='CDT')) BEGIN --insert master EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC', @l_REQ_ID out IF @l_REQ_ID='' OR @l_REQ_ID IS NULL GOTO ABORT exec [TR_CODE_GenKey] 'TR_REQUEST_DOC', '','PUR', @p_REQ_CODE out IF @p_REQ_CODE='' OR @p_REQ_CODE IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_DOC ( REQ_ID, REQ_CODE, REQ_DT, REQ_REASON, PL_REQ_ID, NOTES, RECORD_STATUS, CREATE_DT, AUTH_STATUS, TOTAL_AMT, BRANCH_CREATE, DEP_CREATE, USER_REQUEST,MAKER_ID,PROCESS_ID ) SELECT @l_REQ_ID,@p_REQ_CODE,GETDATE(),REQ_REASON, REQ_ID,'','1',GETDATE(),'E',TOTAL_AMT,BRANCH_CREATE,DEP_CREATE,MAKER_ID,MAKER_ID,'NEW' FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID IF @@Error <> 0 GOTO ABORT --Insert into TABLE PL_REQUEST_DOC_DT DECLARE ListGoods CURSOR FOR SELECT REQDT_ID,GOODS_ID,[DESCRIPTION],QUANTITY,PRICE,TOTAL_AMT,HANGHOA_ID,DVDM_ID,CURRENCY,TAXES,EXCHANGE_RATE,SUP_ID,TRADE_TYPE,NAME FROM dbo.PL_REQUEST_DOC_DT WHERE REQ_ID=@p_PL_REQ_ID AND TRADE_TYPE='CDT' OPEN ListGoods DECLARE @TRN_TYPE VARCHAR(20) SET @TRN_TYPE = (SELECT TRN_TYPE FROM dbo.CM_TRAN_TYPE WHERE NOTES='CDT') SET @MAKER_ID=(SELECT MAKER_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID) FETCH NEXT FROM ListGoods INTO @PL_REQDT_ID,@GOODS_ID,@DESCRIPTION,@QUANTITY,@PRICE,@TOTAL_AMT,@HH_ID,@DVDM_ID,@CURRENCY,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRADE_TYPE,@REASON_CDT WHILE @@FETCH_STATUS = 0 BEGIN EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_DT', @l_REQDT_ID out IF @l_REQDT_ID='' OR @l_REQDT_ID IS NULL GOTO ABORT EXEC SYS_CodeMasters_Gen 'TR_REQUEST_DOC_PL_DT', @REQPL_DT_ID out IF @REQPL_DT_ID='' OR @REQPL_DT_ID IS NULL GOTO ABORT INSERT INTO dbo.TR_REQUEST_DOC_PL_DT ( REQPL_DT_ID, REQ_DOC_ID, PL_REQDT_ID, GD_ID, SUP_ID, HH_ID, TRAN_TYPE_ID, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, DES_GOOD, QUANTITY_PL, PRICE_PL, CURRENCY, EXCHANGE_RATE, TAXES, TOTAL_AMT_ETM, REASON_CDT, REQ_DT, NOTES, RECORD_STATUS ) VALUES ( @REQPL_DT_ID, -- REQPL_DT_ID - varchar(15) @l_REQ_ID, -- REQ_DOC_ID - varchar(15) @PL_REQDT_ID, -- PL_REQDT_ID - varchar(15) @GOODS_ID, -- GD_ID - varchar(15) @SUP_ID, -- SUP_ID - varchar(15) @HH_ID, -- HH_ID - varchar(15) @TRADE_TYPE, -- TRAN_TYPE_ID - varchar(15) @MAKER_ID, -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime '', -- AUTH_STATUS - varchar(50) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime @DESCRIPTION, -- DES_GOOD - nvarchar(500) @QUANTITY, -- QUANTITY_PL - decimal(18, 0) @PRICE, -- PRICE_PL - decimal(18, 2) @CURRENCY, -- CURRENCY - nvarchar(50) @EXCHANGE_RATE, -- EXCHANGE_RATE - decimal(18, 2) @TAXES, -- TAXES - decimal(18, 2) @TOTAL_AMT, -- TOTAL_AMT_ETM - decimal(18, 2) @REASON_CDT, -- REASON_CDT - nvarchar(500) GETDATE(), -- REQ_DT - datetime N'', -- NOTES - nvarchar(500) '1' -- RECORD_STATUS - varchar(1) ) INSERT INTO dbo.TR_REQUEST_DOC_DT ( REQDT_ID, REQ_DOC_ID, PL_REQDT_ID, GD_ID, DESCRIPTION, RECORD_STATUS, MAKER_ID, CREATE_DT, AUTH_STATUS, CHECKER_ID, APPROVE_DT, QUANTITY, PRICE, TOTAL_AMT, PRICE_ETM, TOTAL_AMT_ETM,CURRENCY,HANGHOA_ID,DVDM_ID,TAXES,EXCHANGE_RATE,SUP_ID,TRAN_TYPE_ID,REQPL_DT_ID ) VALUES ( @l_REQDT_ID, -- REQDT_ID - varchar(15) @l_REQ_ID, -- REQ_ID - varchar(15) @PL_REQDT_ID, -- PLAN_ID - varchar(15) @GOODS_ID, -- GOODS_ID - varchar(15 -- NAME - nvarchar(200) @DESCRIPTION, -- DESCRIPTION - nvarchar(500) '1', -- RECORD_STATUS - varchar(1) '', -- MAKER_ID - varchar(15) GETDATE(), -- CREATE_DT - datetime 'U', -- AUTH_STATUS - varchar(50) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime @QUANTITY, @PRICE, @TOTAL_AMT, @PRICE, @TOTAL_AMT, @CURRENCY,@HH_ID,@DVDM_ID,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRN_TYPE,@REQPL_DT_ID ) IF @@ERROR <> 0 GOTO ABORT1 -- next Group_Id FETCH NEXT FROM ListGoods INTO @PL_REQDT_ID,@GOODS_ID,@DESCRIPTION,@QUANTITY,@PRICE,@TOTAL_AMT,@HH_ID,@DVDM_ID,@CURRENCY,@TAXES,@EXCHANGE_RATE,@SUP_ID,@TRADE_TYPE,@REASON_CDT END UPDATE dbo.TR_REQUEST_DOC SET TOTAL_AMT = ( SELECT SUM(QUANTITY*PRICE) FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID = @l_REQ_ID ) WHERE REQ_ID = @l_REQ_ID CLOSE ListGoods DEALLOCATE ListGoods IF @@Error <> 0 GOTO ABORT DECLARE lstCostCenter CURSOR FOR SELECT COST_ID,NOTES FROM dbo.PL_REQUEST_COSTCENTER WHERE REQ_ID=@p_PL_REQ_ID GROUP BY COST_ID,NOTES OPEN lstCostCenter FETCH NEXT FROM lstCostCenter INTO @COST_ID,@NOTES_COST WHILE @@FETCH_STATUS=0 BEGIN EXEC SYS_CodeMasters_Gen 'TR_REQUEST_COSTCENTER', @l_REQ_COST_ID out IF @l_REQ_COST_ID='' OR @l_REQ_COST_ID IS NULL GOTO ABORT --INSERT INTO dbo.TR_REQUEST_COSTCENTER -- LUCTV 12-07-2021 KHI PHAT SINH PUR TU TTCT THÌ KHÔNG KÈM THEO DVCM --( -- REQ_COST_ID, -- COST_ID, -- REQ_ID, -- NOTES, -- AUTH_STATUS, -- MAKER_ID, -- CREATE_DT, -- CHECKER_ID, -- APPROVE_DT --) --VALUES --( @l_REQ_COST_ID, -- REQ_COST_ID - varchar(15) -- @COST_ID, -- COST_ID - varchar(15) -- @l_REQ_ID, -- REQ_ID - varchar(15) -- @NOTES_COST, -- NOTES - nvarchar(500) -- '', -- AUTH_STATUS - varchar(1) -- @MAKER_ID, -- MAKER_ID - varchar(15) -- NULL, -- CREATE_DT - datetime -- '', -- CHECKER_ID - varchar(15) -- NULL -- APPROVE_DT - datetime -- ) FETCH NEXT FROM lstCostCenter INTO @COST_ID,@NOTES_COST END CLOSE lstCostCenter DEALLOCATE lstCostCenter INSERT INTO dbo.PL_REQUEST_PROCESS ( REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD ) VALUES ( @l_REQ_ID, -- REQ_ID - varchar(15) 'NEW', -- PROCESS_ID - varchar(10) 'C', -- STATUS - varchar(5) '', -- ROLE_USER - varchar(50) '', -- BRANCH_ID - varchar(15) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime '', -- PARENT_PROCESS_ID - varchar(10) 'N', -- IS_LEAF - varchar(1) '', -- COST_ID - varchar(15) '', -- DVDM_ID - varchar(15) N'Chờ gửi phê duyệt', -- NOTES - nvarchar(500) NULL -- IS_HAS_CHILD - bit ) IF(EXISTS(SELECT * FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@l_REQ_ID AND TOTAL_AMT <=10000000 AND NOT EXISTS (SELECT * FROM dbo.CM_BRANCH WHERE BRANCH_ID=BRANCH_CREATE AND BRANCH_TYPE='HS'))) BEGIN UPDATE dbo.PL_REQUEST_PROCESS SET STATUS='P', NOTES =N'Tự động phát sinh & duyệt hoàn tất' WHERE REQ_ID=@l_REQ_ID AND PROCESS_ID='NEW' INSERT INTO dbo.PL_REQUEST_PROCESS ( REQ_ID, PROCESS_ID, STATUS, ROLE_USER, BRANCH_ID, CHECKER_ID, APPROVE_DT, PARENT_PROCESS_ID, IS_LEAF, COST_ID, DVDM_ID, NOTES, IS_HAS_CHILD ) VALUES ( @l_REQ_ID, -- REQ_ID - varchar(15) 'APPROVE', -- PROCESS_ID - varchar(10) 'C', -- STATUS - varchar(5) '', -- ROLE_USER - varchar(50) '', -- BRANCH_ID - varchar(15) '', -- CHECKER_ID - varchar(15) NULL, -- APPROVE_DT - datetime 'NEW', -- PARENT_PROCESS_ID - varchar(10) 'N', -- IS_LEAF - varchar(1) '', -- COST_ID - varchar(15) '', -- DVDM_ID - varchar(15) N'Hoàn tất', -- NOTES - nvarchar(500) NULL -- IS_HAS_CHILD - bit ) UPDATE TR_REQUEST_DOC SET AUTH_STATUS='A',PROCESS_ID='APPROVE',USER_DVMS=MAKER_ID,BRANCH_DVMS=BRANCH_CREATE WHERE REQ_ID=@l_REQ_ID EXEC dbo.TR_REQ_DOC_Ins_To_PO @p_TR_REQ_ID = @l_REQ_ID -- varchar(15) END END COMMIT TRANSACTION RETURN 1 ABORT: BEGIN ROLLBACK TRANSACTION RETURN 1 End ABORT1: BEGIN CLOSE ListGoods DEALLOCATE ListGoods ROLLBACK TRANSACTION RETURN 1 End