1
|
|
2
|
ALTER PROCEDURE [dbo].[CM_GOODS_Upd]
|
3
|
@p_GD_ID varchar(150) = null ,
|
4
|
@p_GD_CODE varchar(150) = NULL ,
|
5
|
@p_GD_NAME nvarchar(200) = NULL ,
|
6
|
@p_GD_TYPE_ID varchar(15) = NULL ,
|
7
|
@p_DESCRIPTION nvarchar(2000) = NULL ,
|
8
|
@p_SUP_ID varchar(15) = NULL ,
|
9
|
@p_PRICE decimal(17) = NULL ,
|
10
|
@p_UNIT_ID varchar(15) = NULL ,
|
11
|
@p_NOTES nvarchar(1000) = NULL ,
|
12
|
@p_RECORD_STATUS varchar(1) = NULL ,
|
13
|
@p_MAKER_ID varchar(12) = NULL ,
|
14
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
15
|
@p_AUTH_STATUS varchar(50) = NULL ,
|
16
|
@p_CHECKER_ID varchar(12) = NULL ,
|
17
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
18
|
@p_DVDM_ID VARCHAR(20) = NULL
|
19
|
AS
|
20
|
|
21
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
22
|
IF ( EXISTS ( SELECT * FROM CM_GOODS WHERE GD_CODE = @p_GD_CODE AND [GD_ID] != @p_GD_ID))
|
23
|
SET @ERRORSYS = 'CMCD-00001'
|
24
|
IF ( NOT EXISTS ( SELECT * FROM CM_GOODS WHERE [GD_ID] = @p_GD_ID))
|
25
|
SET @ERRORSYS = 'CMC-00001'
|
26
|
IF @ERRORSYS <> ''
|
27
|
BEGIN
|
28
|
SELECT ErrorCode Result, '' CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
29
|
RETURN '0'
|
30
|
END
|
31
|
|
32
|
BEGIN TRANSACTION
|
33
|
UPDATE CM_GOODS SET [GD_CODE] = @p_GD_CODE,[GD_NAME] = @p_GD_NAME,[GD_TYPE_ID] = @p_GD_TYPE_ID,[DESCRIPTION] = @p_DESCRIPTION,[SUP_ID] = @p_SUP_ID,[PRICE] = @p_PRICE,[UNIT_ID] = @p_UNIT_ID,[NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,[MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[AUTH_STATUS] = @p_AUTH_STATUS,[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103), [DVDM_ID] = @p_DVDM_ID
|
34
|
WHERE GD_ID= @p_GD_ID
|
35
|
IF @@Error <> 0 GOTO ABORT
|
36
|
COMMIT TRANSACTION
|
37
|
SELECT 0 as Result, @p_GD_ID GD_ID, '' ErrorDesc
|
38
|
RETURN 0
|
39
|
ABORT:
|
40
|
BEGIN
|
41
|
ROLLBACK TRANSACTION
|
42
|
SELECT -1 as Result, '' GD_ID, '' ErrorDesc
|
43
|
RETURN -1
|
44
|
End
|
45
|
|
46
|
|
47
|
|
48
|
|
49
|
|
50
|
|