ALTER FUNCTION [dbo].[SET_BATCHCODE](@doctype NVARCHAR(50)) --@doctype为传入参数,获取单据类型代码
RETURNS NVARCHAR(50)
AS
BEGIN
DECLARE @shortname nvarchar(50),--获取单据类型缩写
@ymd NVARCHAR(50), --获取年月日'mmMMdd'
@number NVARCHAR(50) --定义3位长度的流水号
--获取单据类型缩写
SET @shortname =(
SELECT
[S.SHORTNAME]
FROM [document.type]
WHERE [s.code] =@doctype
)
--获取年月日'mmMMdd'
SET @ymd=(
Select CONVERT(NVARCHAR(50), GETDATE(), 12)
)
--获取3位长度的流水号
SET @NUMBER =(
SELECT
right('000'+CAST((ISNULL(COUNT(*),0)+1) AS NVARCHAR(50)),3)
FROM [entry.head]
WHERE [s.sourcedoctype] =@doctype
)
--把联合的结果返回
RETURN (SELECT @shortname +@ymd+@number)
END