﻿






CREATE FUNCTION [dbo].[fis_fn_id] (
	@table varchar(50)
)
RETURNS varchar(50)
AS
BEGIN
  DECLARE @NewAccount varchar(10) = null;
  SET @table = ISNULL(@table, '');

  IF @table = 'fis_usergroups'
	BEGIN	
		  SELECT @NewAccount = [dbo].[ocms_fn_generatePassword] (5,0,1,0);
		  WHILE EXISTS( SELECT 0 FROM [dbo].[fis_usergroups] WITH (SERIALIZABLE) WHERE [usergroup_id] = @NewAccount)
			BEGIN
				SET @NewAccount = [dbo].[ocms_fn_generatePassword] (5,0,1,0);
			END
	END
  ELSE IF @table = 'tmp__fds__invoice_servicerequests'
	BEGIN	
		SELECT @NewAccount = [dbo].[ocms_fn_generatePassword] (7,0,1,0);
		  WHILE EXISTS( SELECT 0 FROM [dbo].[tmp__fds__invoice_servicerequests] WITH (SERIALIZABLE) WHERE [InvRqId] = @NewAccount)
			BEGIN
				SET @NewAccount = [dbo].[ocms_fn_generatePassword] (7,0,1,0);
			END
	END
  ELSE IF @table = 'tmp__fds__bankingtransactions'
	BEGIN	
		SELECT @NewAccount = [dbo].[ocms_fn_generatePassword] (7,0,1,0);
		  WHILE EXISTS( SELECT 0 FROM [dbo].[tmp__fds__bankingtransactions] WITH (SERIALIZABLE) WHERE [taID] = @NewAccount)
			BEGIN
				SET @NewAccount = [dbo].[ocms_fn_generatePassword] (7,0,1,0);
			END
	END

  RETURN ISNULL(@NewAccount, [dbo].[ocms_fn_generatePassword] (10,0,1,0));
END;