Über die Procedure "UserVorfallNr" kann die VorfallNr für die Erfassung eines Geschäftsvorfalls bei Bedarf sehr komplex und individuell ermittelt werden.
Code:
CREATE PROCEDURE [dbo].[UserVorfallNr]
@VorfallKuerzel as Varchar(10),
@VorfallNr as Varchar(8),
@Datum as Varchar(8),
@FilialNr as smallint
AS
SET NOCOUNT ON
DECLARE @VNr VARCHAR(20)
BEGIN
IF @VorfallKuerzel IN ('WE','LB')
BEGIN
SET @VNr = COALESCE((SELECT MAX(VorfallNr) FROM Geschäftsvorfall WHERE
VorfallKürzel = @VorfallKuerzel AND LEFT(VorfallNr,4) = RIGHT('00'+CONVERT(VARCHAR,@FilialNr),2)
+ SUBSTRING(@Datum,3,2) AND Arbeitsplatz = '00'),'0000')
SELECT RIGHT('00'+CONVERT(VARCHAR,@FilialNr),2) + SUBSTRING(@Datum,3,2)
+ RIGHT('0000'+CONVERT(VARCHAR,CONVERT(INT,RIGHT(@VNr,4))+1),4)
END
IF @VorfallKuerzel = 'ER' AND @FilialNr IN (101,102,103,104)
BEGIN
SET @VNr = COALESCE((SELECT MAX(VorfallNr) FROM Geschäftsvorfall WHERE
VorfallKürzel = 'ER' AND LEFT(VorfallNr,3) = '82' + SUBSTRING(@Datum,4,1)
AND Arbeitsplatz = '00'),'0000')
SELECT '82' + SUBSTRING(@Datum ,4,1) + RIGHT('0000'+CONVERT(VARCHAR,CONVERT(INT,RIGHT(@VNr,4))+1),4)
END
ELSE SELECT ''
END