ALTER PROCEDURE [dbo].[Add_OutStore_Info]
@DOCUMENTCODE NVARCHAR(50),
@BUSSINESSCODE NVARCHAR(50),
@DODATE NVARCHAR(10),
@UNIT NVARCHAR(50),
@OPERATOR NVARCHAR(50),
@TYPE NVARCHAR(50),
@REMARK NVARCHAR(500),
@RESULT NVARCHAR(50) OUTPUT
AS
BEGIN
SET @RESULT='FAILED'
DECLARE @LASTCODE NVARCHAR(50),@TEMP INT
SELECT @LASTCODE=MAX(Code) FROM tblOutStore WHERE Code LIKE CONVERT(NVARCHAR(8),GETDATE(),112)+'%'
IF(LEN(@LASTCODE)=0 OR @LASTCODE IS NULL)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),GETDATE(),112)+'00001'
END
ELSE
BEGIN
SET @TEMP=CONVERT(INT,SUBSTRING(@LASTCODE,9,5))+1
IF(LEN(@TEMP)=4)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'0'+CONVERT(NVARCHAR(5),@TEMP)
END
ELSE IF(LEN(@TEMP)=3)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'00'+CONVERT(NVARCHAR(5),@TEMP)
END
ELSE IF(LEN(@TEMP)=2)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'000'+CONVERT(NVARCHAR(5),@TEMP)
END
ELSE IF(LEN(@TEMP)=1)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'0000'+CONVERT(NVARCHAR(5),@TEMP)
END
END
INSERT INTO tblOutStore VALUES(@LASTCODE,@DOCUMENTCODE,@BUSSINESSCODE,@DODATE,@UNIT,@OPERATOR,@TYPE,@REMARK)
SET @RESULT='SUCCESS&'+@LASTCODE
END