我需要帮助为我当前的程序创建新参数这里是我需要在我的程序中添加的内容的描述,之后我将其添加到我的SSRS报告中。
我们需要对“标签通用序列号”报告进行一些修改:
此报告应生成长度为44个字符的序列号,并使用条形码接收在正确的位置扫描材料代码,净重和批次。
以下是我目前适用于我的报告的程序:
ALTER PROCEDURE [dbo].[NewLabelGeneratorGeneric]
(
@quantity int = 1,
@length int = 44,
@prefix varchar(6),
@material int = 5,
@lotDate int = 6,
@netWeight int = 4
)
AS
DECLARE @projectId int = NULL,
@order varchar(max) = NULL,
@lineNumber int = NULL
DECLARE @suffix varchar(4)
DECLARE @labels TABLE (id int, label varchar(max), number varchar(max))
DECLARE @labelId int,
@label varchar(max),
@counter int
DELETE FROM @labels
IF @length > 80
SET @length = 80
SET @counter = 1
WHILE @counter <= @quantity
BEGIN
RETRYLABEL:
EXEC datex_footprint.Identities_GetNextId 'Label', @labelId OUTPUT
SELECT @label = ISNULL(@prefix,'')
+ RIGHT('00000000000000000000000000000000000000000000000000000000000000000000000000000000'
+ RIGHT(11, @material + 19, @lotDate + 29, @netWeight)
+ CONVERT(varchar(max),@labelId),ISNULL(@length,LEN(@labelId)))
+ ISNULL(@suffix,'')
IF EXISTS ( SELECT 1 FROM datex_footprint.LicensePlates LP WITH (NOLOCK)
WHERE LP.archived = 0
AND LP.lookupCode = @label)
BEGIN
GOTO RETRYLABEL
END
INSERT INTO @labels (id, label, number)
SELECT @counter AS id,
@label AS label,
CONVERT(varchar(max),@counter) + ' of ' + CONVERT(varchar(max),@quantity) AS number
SET @counter = @counter + 1
END
SELECT L.id as Id,
L.label as Label,
L.number as Squence
FROM @labels L