48 lines
1.3 KiB
Transact-SQL
48 lines
1.3 KiB
Transact-SQL
-- dbo.BP_Gatema_SDDecodeBarCode
|
|
CREATE PROCEDURE dbo.BP_Gatema_SDDecodeBarCode
|
|
@TypBC NVARCHAR(50), -- '', 'CODABAR', 'EAN 13', 'EAN 128', 'CODE 128', 'CODE 39', 'DATAMATRIX', 'QRCODE', 'I2OF5', 'EAN 8', 'PDF417'
|
|
@BarCode NVARCHAR(2000),
|
|
@Pozadavek INT, -- -1=umístìní, 0=SSCC, 1=BC zboží, 10=šarže, 15=dat.exp., 30=množství, 90=ID pøíkaz
|
|
@IDOrg INT=NULL
|
|
AS
|
|
BEGIN
|
|
|
|
-- Volá se pøi pokusu získat z èárového kódu konkrétní informaci. Pokud procedura nechce provádìt dekódování, tak se jen ukonèí,
|
|
-- v opaèném pøípadì vrací jeden záznam s jedním požadovaným údajem (typ text/datum/èíslo)
|
|
-- Pokud vrátí záznam (text/èíslo/datum), tak standardní dekódování se již nebude provádìt
|
|
|
|
-- IF (@Pozadavek=1) AND (@TypBC=N'PDF417')
|
|
-- SELECT LEFT(@BarCode,4)
|
|
|
|
DECLARE
|
|
@fncCode INT,
|
|
@typ NVARCHAR(50)=N'???',
|
|
@vraceno NVARCHAR(50)=N'',
|
|
@l SMALLINT
|
|
|
|
|
|
|
|
IF (@Pozadavek=-1)
|
|
SET @typ=N'umístìní'
|
|
IF (@Pozadavek=1)
|
|
SET @typ=N'barcode'
|
|
IF (@Pozadavek=10)
|
|
SET @typ=N'šarže'
|
|
IF (@Pozadavek=15)
|
|
SET @typ=N'dat.exp.'
|
|
IF (@Pozadavek=30)
|
|
SET @typ=N'množství'
|
|
IF (@Pozadavek=90)
|
|
SET @typ=N'ID pøíkaz'
|
|
IF (@typ=N'???')
|
|
SET @typ=CONVERT(nvarchar, @Pozadavek)
|
|
|
|
|
|
SET @l = LEN(@BarCode)
|
|
|
|
|
|
INSERT dbo._hdc_ph_Log (LogText) SELECT @typ + N' >> ' + @Barcode
|
|
|
|
|
|
END
|