VorfallNummer für neuen Vorfall individuell ermitteln

  • fni
  • Autor
  • Besucher
  • Besucher
9 Jahre 2 Monate her - 9 Jahre 2 Monate her #1297 von fni
Über die Procedure "UserVorfallNr" kann die VorfallNr für die Erfassung eines Geschäftsvorfalls bei Bedarf sehr komplex und individuell ermittelt werden.

Beispiel:
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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.