You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1822 lines
40 KiB
1822 lines
40 KiB
-- Script: uddi.v2.func.sql
|
|
-- Author: [email protected]
|
|
-- Description: Creates scalar functions
|
|
-- Note: This file is best viewed and edited with a tab width of 2.
|
|
|
|
-- =============================================
|
|
-- Section: Configuration helper functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: configValue()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'configValue' AND type = 'FN')
|
|
DROP FUNCTION configValue
|
|
GO
|
|
|
|
CREATE FUNCTION configValue (
|
|
@configName nvarchar(450))
|
|
RETURNS varchar(8000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@configValue nvarchar(4000)
|
|
|
|
SELECT
|
|
@configValue = [configValue]
|
|
FROM
|
|
[UDO_config]
|
|
WHERE
|
|
([configName] = @configName)
|
|
|
|
RETURN @configValue
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: currentOperatorID
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'currentOperatorID' AND type='FN')
|
|
DROP FUNCTION currentOperatorID
|
|
GO
|
|
|
|
CREATE FUNCTION currentOperatorID ()
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
-- Return the operatorID for the current operator site
|
|
DECLARE
|
|
@operatorID bigint
|
|
|
|
SET @operatorID = CAST(dbo.configValue('OperatorID') AS bigint)
|
|
|
|
RETURN @operatorID
|
|
END -- currentOperatorID
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Dereferencing functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: bindingKey
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'bindingKey' AND type = 'FN')
|
|
DROP FUNCTION bindingKey
|
|
GO
|
|
|
|
CREATE FUNCTION bindingKey
|
|
(@bindingID bigint)
|
|
RETURNS uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE @bindingKey uniqueidentifier
|
|
|
|
SELECT @bindingKey = bindingKey FROM [UDC_bindingTemplates] WHERE bindingID = @bindingID
|
|
|
|
RETURN @bindingKey
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: bindingID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'bindingID' AND type = 'FN')
|
|
DROP FUNCTION bindingID
|
|
GO
|
|
|
|
CREATE FUNCTION bindingID(
|
|
@bindingKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@bindingID bigint
|
|
|
|
SELECT @bindingID = bindingID FROM [UDC_bindingTemplates] WHERE bindingKey = @bindingKey
|
|
|
|
RETURN @bindingID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: businessID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'businessID' AND type = 'FN')
|
|
DROP FUNCTION businessID
|
|
GO
|
|
|
|
CREATE FUNCTION businessID(
|
|
@businessKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@businessID bigint
|
|
|
|
SELECT @businessID = businessID FROM [UDC_businessEntities] WHERE businessKey = @businessKey
|
|
|
|
RETURN @businessID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: businessKey()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'businessKey' AND type = 'FN')
|
|
DROP FUNCTION businessKey
|
|
GO
|
|
|
|
CREATE FUNCTION businessKey(
|
|
@businessID bigint)
|
|
RETURNS uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@businessKey uniqueidentifier
|
|
|
|
SELECT @businessKey = [businessKey] FROM [UDC_businessEntities] WHERE businessID = @businessID
|
|
|
|
RETURN @businessKey
|
|
END -- businessKey
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: changeType()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'changeType' AND type = 'FN')
|
|
DROP FUNCTION changeType
|
|
GO
|
|
|
|
CREATE FUNCTION changeType(
|
|
@changeTypeID tinyint)
|
|
RETURNS nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@changeType nvarchar(4000)
|
|
|
|
SELECT
|
|
@changeType = [changeType]
|
|
FROM
|
|
[UDO_changeTypes]
|
|
WHERE
|
|
[changeTypeID] = @changeTypeID
|
|
|
|
RETURN @changeType
|
|
END -- changeType
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: changeTypeID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'changeTypeID' AND type = 'FN')
|
|
DROP FUNCTION changeTypeID
|
|
GO
|
|
|
|
CREATE FUNCTION changeTypeID(
|
|
@changeType nvarchar(4000))
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@changeTypeID tinyint
|
|
|
|
SELECT
|
|
@changeTypeID = [changeTypeID]
|
|
FROM
|
|
[UDO_changeTypes]
|
|
WHERE
|
|
([changeType] = @changeType)
|
|
|
|
RETURN @changeTypeID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: elementName()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'elementName' AND type = 'FN')
|
|
DROP FUNCTION elementName
|
|
GO
|
|
|
|
CREATE FUNCTION elementName(
|
|
@elementID tinyint)
|
|
RETURNS nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@elementName nvarchar(4000)
|
|
|
|
SELECT
|
|
@elementName = [elementName]
|
|
FROM
|
|
[UDO_elementNames]
|
|
WHERE
|
|
[elementID] = @elementID
|
|
|
|
RETURN @elementName
|
|
END -- elementName
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: elementID()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'elementID' AND type = 'FN')
|
|
DROP FUNCTION elementID
|
|
GO
|
|
|
|
CREATE FUNCTION elementID(
|
|
@elementName nvarchar(4000))
|
|
RETURNS tinyint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@elementID tinyint
|
|
|
|
SELECT
|
|
@elementID = [elementID]
|
|
FROM
|
|
[UDO_elementNames]
|
|
WHERE
|
|
([elementName] = @elementName)
|
|
|
|
RETURN @elementID
|
|
END -- elementID
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: entityType()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'entityType' AND type = 'FN')
|
|
DROP FUNCTION entityType
|
|
GO
|
|
|
|
CREATE FUNCTION entityType
|
|
(@entityTypeID tinyint)
|
|
RETURNS nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@entityType nvarchar(4000)
|
|
|
|
SELECT
|
|
@entityType = [entityType]
|
|
FROM
|
|
[UDO_entityTypes]
|
|
WHERE
|
|
([entityTypeID] = @entityTypeID)
|
|
|
|
RETURN @entityType
|
|
END -- entityType
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: entityTypeID()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'entityTypeID' AND type = 'FN')
|
|
DROP FUNCTION entityTypeID
|
|
GO
|
|
|
|
CREATE FUNCTION entityTypeID
|
|
(@entityType nvarchar(4000))
|
|
RETURNS tinyint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@entityTypeID tinyint
|
|
|
|
SELECT
|
|
@entityTypeID = [entityTypeID]
|
|
FROM
|
|
[UDO_entityTypes]
|
|
WHERE
|
|
([entityType] = @entityType)
|
|
|
|
RETURN @entityTypeID
|
|
END -- entityTypeID
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: operatorID
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'operatorID' AND type='FN')
|
|
DROP FUNCTION operatorID
|
|
GO
|
|
|
|
CREATE FUNCTION operatorID
|
|
(@operatorKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@operatorID bigint
|
|
|
|
SELECT
|
|
@operatorID = [operatorID]
|
|
FROM
|
|
[UDO_operators]
|
|
WHERE
|
|
([operatorKey] = @operatorKey)
|
|
|
|
RETURN @operatorID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: operatorStatus
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'operatorStatus' AND type='FN')
|
|
DROP FUNCTION operatorStatus
|
|
GO
|
|
|
|
CREATE FUNCTION operatorStatus
|
|
(@operatorStatusID tinyint)
|
|
RETURNS nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@operatorStatus nvarchar(4000)
|
|
|
|
SELECT
|
|
@operatorStatus = [operatorStatus]
|
|
FROM
|
|
[UDO_operatorStatus]
|
|
WHERE
|
|
([operatorStatusID] = @operatorStatusID)
|
|
|
|
RETURN @operatorStatus
|
|
END -- operatorStatus
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: operatorStatusID
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'operatorStatusID' AND type='FN')
|
|
DROP FUNCTION operatorStatusID
|
|
GO
|
|
|
|
CREATE FUNCTION operatorStatusID
|
|
(@operatorStatus nvarchar(4000))
|
|
RETURNS tinyint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@operatorStatusID tinyint
|
|
|
|
SELECT
|
|
@operatorStatusID = [operatorStatusID]
|
|
FROM
|
|
[UDO_operatorStatus]
|
|
WHERE
|
|
([operatorStatus] = @operatorStatus)
|
|
|
|
RETURN @operatorStatusID
|
|
END -- operatorStatusID
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Function: operatorKey
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'operatorKey' AND type = 'FN')
|
|
DROP FUNCTION operatorKey
|
|
GO
|
|
|
|
CREATE FUNCTION operatorKey (
|
|
@operatorID bigint)
|
|
RETURNS uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@operatorKey AS uniqueidentifier
|
|
|
|
SELECT
|
|
@operatorKey = [operatorKey]
|
|
FROM
|
|
[UDO_operators]
|
|
WHERE
|
|
([operatorID] = @operatorID)
|
|
|
|
RETURN @operatorKey
|
|
END -- operatorKey
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: operatorName
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'operatorName' AND type='FN')
|
|
DROP FUNCTION operatorName
|
|
GO
|
|
|
|
CREATE FUNCTION operatorName
|
|
(@operatorID bigint)
|
|
RETURNS nvarchar(450)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@name nvarchar(450)
|
|
|
|
SELECT @name=[name] FROM [UDO_operators] WHERE [operatorID] = @operatorID
|
|
|
|
RETURN @name
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: publisherID
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'publisherID' AND type='FN')
|
|
DROP FUNCTION publisherID
|
|
GO
|
|
|
|
CREATE FUNCTION publisherID
|
|
(@PUID nvarchar(450))
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@publisherID bigint
|
|
|
|
SELECT @publisherID=publisherID FROM [UDO_publishers] WHERE PUID=@PUID
|
|
|
|
RETURN @publisherID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: PUID()
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'PUID' AND type='FN')
|
|
DROP FUNCTION PUID
|
|
GO
|
|
|
|
CREATE FUNCTION PUID
|
|
(@publisherID bigint)
|
|
RETURNS nvarchar(450)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@PUID nvarchar(450)
|
|
|
|
SELECT @PUID = PUID FROM [UDO_publishers] WHERE publisherID = @publisherID
|
|
|
|
RETURN @PUID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: publisherName
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'publisherName' AND type = 'FN')
|
|
DROP FUNCTION publisherName
|
|
GO
|
|
|
|
CREATE FUNCTION publisherName(
|
|
@publisherID bigint)
|
|
RETURNS nvarchar(450)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@name nvarchar(450)
|
|
|
|
SELECT @name=[name] FROM [UDO_publishers] WHERE publisherID = @publisherID
|
|
|
|
RETURN @name
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- publisherNameUnique
|
|
-- =============================================
|
|
-- TODO: Temporarily removed for heartland
|
|
-- IF EXISTS (SELECT name FROM sysobjects WHERE name = 'publisherNameUnique' AND type = 'FN')
|
|
-- DROP FUNCTION publisherNameUnique
|
|
-- GO
|
|
--
|
|
-- CREATE FUNCTION publisherNameUnique(
|
|
-- @publisherID bigint)
|
|
-- RETURNS nvarchar(450)
|
|
-- AS
|
|
-- BEGIN
|
|
-- DECLARE
|
|
-- @publisherName nvarchar(4000),
|
|
-- @publisherIDString nvarchar(4000),
|
|
-- @publisherNameUnique nvarchar(450)
|
|
--
|
|
-- SELECT
|
|
-- @publisherName = [name]
|
|
-- FROM
|
|
-- [UDO_publishers]
|
|
-- WHERE
|
|
-- [publisherID] = @publisherID
|
|
--
|
|
-- IF @@ROWCOUNT = 0
|
|
-- RETURN NULL
|
|
--
|
|
-- SET @publisherIDString = ' : ' + CAST(@publisherID AS nvarchar(4000))
|
|
--
|
|
-- SET @publisherNameUnique = LEFT(ISNULL(@publisherName,''),450 - LEN(@publisherIDString)) + @publisherIDString
|
|
--
|
|
-- RETURN @publisherNameUnique
|
|
-- END -- publisherNameUnique
|
|
-- GO
|
|
|
|
-- =============================================
|
|
-- Name: publisherStatus
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'publisherStatus' AND type = 'FN')
|
|
DROP FUNCTION publisherStatus
|
|
GO
|
|
|
|
CREATE FUNCTION publisherStatus(
|
|
@publisherStatusID tinyint)
|
|
RETURNS nvarchar(256)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@publisherStatus nvarchar(256)
|
|
|
|
SELECT @publisherStatus = publisherStatus FROM [UDO_publisherStatus] WHERE publisherStatusID = @publisherStatusID
|
|
|
|
RETURN @publisherStatus
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: publisherStatusID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'publisherStatusID' AND type = 'FN')
|
|
DROP FUNCTION publisherStatusID
|
|
GO
|
|
|
|
CREATE FUNCTION publisherStatusID(
|
|
@publisherStatus nvarchar(256))
|
|
RETURNS tinyint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@publisherStatusID tinyint
|
|
|
|
SELECT @publisherStatusID = publisherStatusID FROM [UDO_publisherStatus] WHERE publisherStatus = @publisherStatus
|
|
|
|
RETURN @publisherStatusID
|
|
END -- puublisherStatusID
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: reportStatus
|
|
-- =============================================
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'reportStatus' AND type = 'FN')
|
|
DROP FUNCTION reportStatus
|
|
GO
|
|
|
|
CREATE FUNCTION reportStatus (
|
|
@reportStatusID tinyint)
|
|
RETURNS nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@reportStatus nvarchar(4000)
|
|
|
|
SELECT
|
|
@reportStatus = [reportStatus]
|
|
FROM
|
|
[UDO_reportStatus]
|
|
WHERE
|
|
([reportStatusID] = @reportStatusID)
|
|
|
|
RETURN @reportStatus
|
|
END -- reportStatus
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: reportStatusID
|
|
-- =============================================
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'reportStatusID' AND type = 'FN')
|
|
DROP FUNCTION reportStatusID
|
|
GO
|
|
|
|
CREATE FUNCTION reportStatusID (
|
|
@reportStatus nvarchar(4000))
|
|
RETURNS tinyint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@reportStatusID tinyint
|
|
|
|
SELECT
|
|
@reportStatusID = [reportStatusID]
|
|
FROM
|
|
[UDO_reportStatus]
|
|
WHERE
|
|
([reportStatus] = @reportStatus)
|
|
|
|
RETURN @reportStatusID
|
|
END -- reportStatusID
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: serviceKey
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'serviceKey' AND type = 'FN')
|
|
DROP FUNCTION serviceKey
|
|
GO
|
|
|
|
CREATE FUNCTION serviceKey
|
|
(@serviceID bigint)
|
|
RETURNS uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE @serviceKey uniqueidentifier
|
|
|
|
SELECT @serviceKey = serviceKey FROM [UDC_businessServices] WHERE serviceID = @serviceID
|
|
|
|
RETURN @serviceKey
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: serviceID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'serviceID' AND type = 'FN')
|
|
DROP FUNCTION serviceID
|
|
GO
|
|
|
|
CREATE FUNCTION serviceID(
|
|
@serviceKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@serviceID bigint
|
|
|
|
SELECT @serviceID = serviceID FROM [UDC_businessServices] WHERE serviceKey = @serviceKey
|
|
|
|
RETURN @serviceID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: taxonomyID()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'taxonomyID' AND type = 'FN')
|
|
DROP FUNCTION taxonomyID
|
|
GO
|
|
|
|
CREATE FUNCTION taxonomyID (
|
|
@tModelKey uniqueidentifier)
|
|
RETURNS int
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@taxonomyID int
|
|
|
|
SELECT @taxonomyID = [taxonomyID] FROM [UDT_taxonomies] WHERE [tModelKey] = @tModelKey
|
|
|
|
RETURN @taxonomyID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: tModelKey
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'tModelKey' AND type = 'FN')
|
|
DROP FUNCTION tModelKey
|
|
GO
|
|
|
|
CREATE FUNCTION tModelKey(
|
|
@tModelID bigint)
|
|
RETURNS uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@tModelKey uniqueidentifier
|
|
|
|
SELECT @tModelKey = tModelKey FROM [UDC_tModels] WHERE tModelID = @tModelID
|
|
|
|
RETURN @tModelKey
|
|
END
|
|
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: tModelID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'tModelID' AND type = 'FN')
|
|
DROP FUNCTION tModelID
|
|
GO
|
|
|
|
CREATE FUNCTION tModelID(
|
|
@tModelKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@tModelID bigint
|
|
|
|
SELECT @tModelID = tModelID FROM [UDC_tModels] WHERE tModelKey = @tModelKey
|
|
|
|
RETURN @tModelID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: URLTypeID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'URLTypeID' AND type = 'FN')
|
|
DROP FUNCTION URLTypeID
|
|
GO
|
|
|
|
CREATE FUNCTION URLTypeID(
|
|
@URLType nvarchar(450))
|
|
RETURNS tinyint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@URLTypeID tinyint
|
|
|
|
SELECT @URLTypeID = URLTypeID FROM [UDC_URLTypes] WHERE URLType = @URLType
|
|
|
|
RETURN @URLTypeID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: URLType
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'URLType' AND type = 'FN')
|
|
DROP FUNCTION URLType
|
|
GO
|
|
|
|
CREATE FUNCTION URLType(
|
|
@URLTypeID tinyint)
|
|
RETURNS nvarchar(450)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@URLType nvarchar(450)
|
|
|
|
SELECT @URLType = URLType FROM [UDC_URLTypes] WHERE URLTypeID = @URLTypeID
|
|
|
|
RETURN @URLType
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: URLType
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'URLType' AND type = 'FN')
|
|
DROP FUNCTION URLType
|
|
GO
|
|
|
|
CREATE FUNCTION URLType(
|
|
@URLTypeID tinyint)
|
|
RETURNS nvarchar(450)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@URLType nvarchar(450)
|
|
|
|
SELECT @URLType = URLType FROM [UDC_URLTypes] WHERE URLTypeID = @URLTypeID
|
|
|
|
RETURN @URLType
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Find helper functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: caseSensitiveMatch
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'caseSensitiveMatch' AND type = 'FN')
|
|
DROP FUNCTION caseSensitiveMatch
|
|
GO
|
|
|
|
CREATE FUNCTION caseSensitiveMatch(
|
|
@searchArgument nvarchar(4000),
|
|
@columnVal nvarchar(4000),
|
|
@exactNameMatch bit)
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@caseSensitiveMatch bit
|
|
|
|
SET @caseSensitiveMatch = 0
|
|
|
|
IF @exactNameMatch=1
|
|
BEGIN
|
|
-- exactNameMatch and caseSensitiveMatch were specified
|
|
IF (CONVERT(binary(8000), @columnVal) = CONVERT(binary(8000), @searchArgument))
|
|
SET @caseSensitiveMatch = 1
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- Only caseSensitiveMatch was specified, wildcards must be considered
|
|
IF (dbo.containsWildCard(@searchArgument) = 0)
|
|
SET @searchArgument = @searchArgument + N'%'
|
|
|
|
IF (@columnVal COLLATE Latin1_General_BIN LIKE @searchArgument COLLATE Latin1_General_BIN)
|
|
SET @caseSensitiveMatch = 1
|
|
END
|
|
|
|
RETURN @caseSensitiveMatch
|
|
END -- caseSensitiveMatch
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: contextRows
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'contextRows' AND type = 'FN')
|
|
DROP FUNCTION contextRows
|
|
GO
|
|
|
|
CREATE FUNCTION contextRows(
|
|
@contextID uniqueidentifier)
|
|
RETURNS int
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@contextRows int
|
|
|
|
SELECT
|
|
@contextRows = COUNT(*)
|
|
FROM
|
|
[UDS_findResults]
|
|
WHERE
|
|
([contextID] = @contextID)
|
|
|
|
RETURN @contextRows
|
|
END -- contextRows
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: containsWildcard
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'containsWildcard' AND type = 'FN')
|
|
DROP FUNCTION containsWildcard
|
|
GO
|
|
|
|
CREATE FUNCTION containsWildcard(
|
|
@string nvarchar(4000))
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@containsWildcard bit
|
|
|
|
SET @containsWildcard = 0
|
|
|
|
IF CHARINDEX(N'%', @string) <> 0
|
|
SET @containsWildcard = 1
|
|
|
|
RETURN @containsWildcard
|
|
END -- containsWildcard
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Function: ownerFlag
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'ownerFlag' AND type = 'FN')
|
|
DROP FUNCTION ownerFlag
|
|
GO
|
|
|
|
CREATE FUNCTION ownerFlag (
|
|
@publisherID bigint,
|
|
@fromKey uniqueidentifier,
|
|
@toKey uniqueidentifier)
|
|
RETURNS int
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@ownerFlag int
|
|
|
|
SET @ownerFlag = 0
|
|
|
|
IF EXISTS(SELECT * FROM [UDC_businessEntities] WHERE [businessKey] = @fromKey AND [publisherID] = @publisherID)
|
|
SET @ownerFlag = @ownerFlag | 0x2
|
|
|
|
IF EXISTS(SELECT * FROM [UDC_businessEntities] WHERE [businessKey] = @toKey AND [publisherID] = @publisherID)
|
|
SET @ownerFlag = @ownerFlag | 0x1
|
|
|
|
RETURN @ownerFlag
|
|
END -- ownerFlag
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Function: genKeywordsKey
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'genKeywordsKey' AND type = 'FN')
|
|
DROP FUNCTION genKeywordsKey
|
|
GO
|
|
|
|
CREATE FUNCTION genKeywordsKey ()
|
|
RETURNS uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@genKeywordsKeyStr varchar(8000),
|
|
@genKeywordsKey uniqueidentifier
|
|
|
|
SET @genKeywordsKeyStr = dbo.configValue('TModelKey.GeneralKeywords')
|
|
|
|
SET @genKeywordsKey = RIGHT(@genKeywordsKeyStr, LEN(@genKeywordsKeyStr) - 5)
|
|
|
|
RETURN @genKeywordsKey
|
|
END -- genKeywordsKey
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Function: operatorsKey()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'operatorsKey' AND type = 'FN')
|
|
DROP FUNCTION operatorsKey
|
|
GO
|
|
|
|
CREATE FUNCTION operatorsKey ()
|
|
RETURNS uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@operatorsKeyStr varchar(8000),
|
|
@operatorsKey uniqueidentifier
|
|
|
|
SET @operatorsKeyStr = dbo.configValue('TModelKey.Operators')
|
|
|
|
SET @operatorsKey = RIGHT(@operatorsKeyStr, LEN(@operatorsKeyStr) - 5)
|
|
|
|
RETURN @operatorsKey
|
|
END -- operatorsKey
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Lookup helper functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: getBindingPublisherID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'getBindingPublisherID' AND type = 'FN')
|
|
DROP FUNCTION getBindingPublisherID
|
|
GO
|
|
|
|
CREATE FUNCTION getBindingPublisherID(
|
|
@bindingKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@businessKey uniqueidentifier,
|
|
@publisherID bigint
|
|
|
|
SELECT
|
|
@businessKey = dbo.businessKey(BS.businessID)
|
|
FROM
|
|
[UDC_businessServices] BS
|
|
JOIN [UDC_bindingTemplates] BT
|
|
ON BS.serviceID = BT.serviceID
|
|
WHERE
|
|
BT.bindingKey = @bindingKey
|
|
|
|
SELECT @publisherID = dbo.getBusinessPublisherID(@businessKey)
|
|
|
|
RETURN @publisherID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: getBindingOperatorID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'getBindingOperatorID' AND type = 'FN')
|
|
DROP FUNCTION getBindingOperatorID
|
|
GO
|
|
|
|
CREATE FUNCTION getBindingOperatorID(
|
|
@bindingKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@businessKey uniqueidentifier,
|
|
@publisherID bigint,
|
|
@operatorID bigint
|
|
|
|
SELECT
|
|
@businessKey = dbo.businessKey(BS.businessID)
|
|
FROM
|
|
[UDC_businessServices] BS
|
|
JOIN [UDC_bindingTemplates] BT
|
|
ON BS.serviceID = BT.serviceID
|
|
WHERE
|
|
BT.bindingKey = @bindingKey
|
|
|
|
SELECT @publisherID = dbo.getBusinessPublisherID(@businessKey)
|
|
|
|
|
|
SELECT
|
|
@operatorID = [operatorID]
|
|
FROM
|
|
[UDO_operators]
|
|
WHERE
|
|
([publisherID] = @publisherID)
|
|
|
|
IF @operatorID IS NULL
|
|
SET @operatorID = dbo.currentOperatorID()
|
|
|
|
RETURN @operatorID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: getBindingServiceKey
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'getBindingServiceKey' AND type = 'FN')
|
|
DROP FUNCTION getBindingServiceKey
|
|
GO
|
|
|
|
CREATE FUNCTION getBindingServiceKey
|
|
(@bindingKey uniqueidentifier)
|
|
RETURNS uniqueidentifier
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@serviceID bigint
|
|
|
|
SELECT @serviceID = serviceID FROM [UDC_bindingTemplates] WHERE bindingKey = @bindingKey
|
|
|
|
RETURN dbo.serviceKey(@serviceID)
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: getBusinessPublisherID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'getBusinessPublisherID' AND type = 'FN')
|
|
DROP FUNCTION getBusinessPublisherID
|
|
GO
|
|
|
|
CREATE FUNCTION getBusinessPublisherID
|
|
(@businessKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE @publisherID bigint
|
|
|
|
SELECT @publisherID = publisherID FROM [UDC_businessEntities] WHERE businessKey = @businessKey
|
|
|
|
RETURN @publisherID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Function: getOperatorPublisherID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'getOperatorPublisherID' AND type = 'FN')
|
|
DROP FUNCTION getOperatorPublisherID
|
|
GO
|
|
|
|
CREATE FUNCTION getOperatorPublisherID (
|
|
@operatorID bigint)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@publisherID bigint
|
|
|
|
SELECT
|
|
@publisherID = [publisherID]
|
|
FROM
|
|
[UDO_operators]
|
|
WHERE
|
|
([operatorID] = @operatorID)
|
|
|
|
RETURN @publisherID
|
|
END -- getOperatorPublisherID
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Function: getPublisherOperatorID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'getPublisherOperatorID' AND type = 'FN')
|
|
DROP FUNCTION getPublisherOperatorID
|
|
GO
|
|
|
|
CREATE FUNCTION getPublisherOperatorID (
|
|
@publisherID bigint)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@operatorID bigint
|
|
|
|
SELECT
|
|
@operatorID = [operatorID]
|
|
FROM
|
|
[UDO_operators]
|
|
WHERE
|
|
([publisherID] = @publisherID)
|
|
|
|
IF @operatorID IS NULL
|
|
SET @operatorID = dbo.currentOperatorID()
|
|
|
|
RETURN @operatorID
|
|
END -- getPublisherOperatorID
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: getServicePublisherID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'getServicePublisherID' AND type = 'FN')
|
|
DROP FUNCTION getServicePublisherID
|
|
GO
|
|
|
|
CREATE FUNCTION getServicePublisherID(
|
|
@serviceKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@publisherID bigint,
|
|
@businessKey uniqueidentifier
|
|
|
|
SELECT
|
|
@businessKey = dbo.businessKey(businessID)
|
|
FROM
|
|
[UDC_businessServices]
|
|
WHERE
|
|
serviceKey = @serviceKey
|
|
|
|
SELECT @publisherID = dbo.getBusinessPublisherID(@businessKey)
|
|
|
|
RETURN @publisherID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: getTModelPublisherID
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'getTModelPublisherID' AND type = 'FN')
|
|
DROP FUNCTION getTModelPublisherID
|
|
GO
|
|
|
|
CREATE FUNCTION getTModelPublisherID(
|
|
@tModelKey uniqueidentifier)
|
|
RETURNS bigint
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@publisherID bigint
|
|
|
|
SELECT @publisherID = publisherID FROM [UDC_tModels] WHERE tModelKey = @tModelKey
|
|
|
|
RETURN @publisherID
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Publisher helper functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: defaultIsoLangCode
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'defaultIsoLangCode' AND type='FN')
|
|
DROP FUNCTION defaultIsoLangCode
|
|
GO
|
|
|
|
CREATE FUNCTION defaultIsoLangCode (
|
|
@PUID nvarchar(450) = NULL)
|
|
RETURNS varchar(17)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@isoLangCode varchar(17)
|
|
|
|
IF @PUID IS NULL
|
|
RETURN 'en'
|
|
|
|
-- Return the default isoLangCode for the current operator site
|
|
SELECT @isoLangCode = isoLangCode FROM [UDO_publishers] WHERE PUID = @PUID
|
|
|
|
IF @isoLangCode IS NULL
|
|
SET @isoLangCode = 'en'
|
|
|
|
RETURN @isoLangCode
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: getPublisherStatus
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'getPublisherStatus' AND type = 'FN')
|
|
DROP FUNCTION getPublisherStatus
|
|
GO
|
|
|
|
CREATE FUNCTION getPublisherStatus(
|
|
@PUID nvarchar(450))
|
|
RETURNS nvarchar(256)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@publisherStatus nvarchar(256)
|
|
|
|
SELECT @publisherStatus = dbo.publisherStatus(publisherStatusID) FROM [UDO_publishers] WHERE PUID = @PUID
|
|
|
|
RETURN @publisherStatus
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: publisherExists
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'publisherExists' AND type = 'FN')
|
|
DROP FUNCTION publisherExists
|
|
GO
|
|
|
|
CREATE FUNCTION publisherExists(
|
|
@PUID nvarchar(450))
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@RC bit
|
|
|
|
IF EXISTS(SELECT * FROM [UDO_publishers] WHERE PUID = @PUID)
|
|
SET @RC = 1
|
|
ELSE
|
|
SET @RC = 0
|
|
|
|
RETURN @RC
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Function: publisherOperatorName
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'publisherOperatorName' AND type = 'FN')
|
|
DROP FUNCTION publisherOperatorName
|
|
GO
|
|
|
|
CREATE FUNCTION publisherOperatorName (
|
|
@publisherID bigint)
|
|
RETURNS nvarchar(450)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@name nvarchar(450)
|
|
|
|
SELECT
|
|
@name = [name]
|
|
FROM
|
|
[UDO_operators]
|
|
WHERE
|
|
([publisherID] = @publisherID)
|
|
|
|
IF @name IS NULL
|
|
BEGIN
|
|
SELECT
|
|
@name = [name]
|
|
FROM
|
|
[UDO_operators]
|
|
WHERE
|
|
([operatorID] = dbo.configValue('OperatorID'))
|
|
END
|
|
|
|
RETURN @name
|
|
END -- publisherOperatorName
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Replication helper functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: entityExists()
|
|
-- =============================================
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'entityExists' AND type = 'FN')
|
|
DROP FUNCTION entityExists
|
|
GO
|
|
|
|
CREATE FUNCTION entityExists(
|
|
@entityKey uniqueidentifier,
|
|
@entityTypeID tinyint)
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@entityExists bit,
|
|
@rowCount int
|
|
|
|
IF dbo.entityType(@entityTypeID) NOT IN ('tModel', 'businessEntity', 'businessService', 'bindingTemplate')
|
|
RETURN 10500
|
|
|
|
SET @entityExists = 0
|
|
|
|
IF dbo.entityType(@entityTypeID) = 'tModel'
|
|
BEGIN
|
|
SELECT
|
|
@rowCount = COUNT(*)
|
|
FROM
|
|
[UDC_tModels]
|
|
WHERE
|
|
([tModelKey] = @entityKey) AND
|
|
([flag] = 0x0)
|
|
|
|
IF @rowCount = 0
|
|
RETURN 0
|
|
ELSE
|
|
RETURN 1
|
|
END
|
|
|
|
IF dbo.entityType(@entityTypeID) = 'businessEntity'
|
|
IF EXISTS(SELECT * FROM [UDC_businessEntities] WHERE [businessKey] = @entityKey)
|
|
RETURN 1
|
|
ELSE
|
|
RETURN 0
|
|
|
|
IF dbo.entityType(@entityTypeID) = 'businessService'
|
|
IF EXISTS(SELECT * FROM [UDC_businessServices] WHERE [serviceKey] = @entityKey)
|
|
RETURN 1
|
|
ELSE
|
|
RETURN 0
|
|
|
|
IF dbo.entityType(@entityTypeID) = 'bindingTemplate'
|
|
IF EXISTS(SELECT * FROM [UDC_bindingTemplates] WHERE [bindingKey] = @entityKey)
|
|
RETURN 1
|
|
ELSE
|
|
RETURN 0
|
|
|
|
RETURN @entityExists
|
|
END -- entityExists
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: entityKeyStr()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'entityKeyStr' AND type = 'FN')
|
|
DROP FUNCTION entityKeyStr
|
|
GO
|
|
|
|
CREATE FUNCTION entityKeyStr(
|
|
@entityKey uniqueidentifier,
|
|
@entityTypeID tinyint)
|
|
RETURNS nvarchar(4000)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@entityKeyStr nvarchar(4000)
|
|
|
|
IF dbo.entityType(@entityTypeID) = 'tModel'
|
|
SET @entityKeyStr = dbo.addURN(@entityKey)
|
|
ELSE
|
|
SET @entityKeyStr = dbo.UUIDSTR(@entityKey)
|
|
|
|
RETURN @entityKeyStr
|
|
END -- entityKeyStr
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: isReplPublisher()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'isReplPublisher' AND type = 'FN')
|
|
DROP FUNCTION isReplPublisher
|
|
GO
|
|
|
|
CREATE FUNCTION isReplPublisher (
|
|
@PUID nvarchar(4000))
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@isReplPublisher bit
|
|
|
|
SET @isReplPublisher = 0
|
|
|
|
IF EXISTS(SELECT * FROM [UDO_operators] WHERE [publisherID] = dbo.publisherID(@PUID))
|
|
BEGIN
|
|
SET @isReplPublisher = 1
|
|
END
|
|
|
|
RETURN @isReplPublisher
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: keyType()
|
|
-- =============================================
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'keyType' AND type = 'FN')
|
|
DROP FUNCTION keyType
|
|
GO
|
|
|
|
CREATE FUNCTION keyType(
|
|
@key uniqueidentifier
|
|
)
|
|
RETURNS nvarchar(256)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
-- Returns the key type of an arbitrary key, returns NULL if the key doesn't exist
|
|
DECLARE
|
|
@keyType nvarchar(256)
|
|
|
|
SET @keyType = NULL
|
|
|
|
IF EXISTS(SELECT [tModelKey] FROM [UDC_tModels] WHERE [tModelKey] = @key)
|
|
BEGIN
|
|
SET @keyType = 'tModelKey'
|
|
RETURN @keyType
|
|
END
|
|
|
|
IF EXISTS(SELECT [businessKey] FROM [UDC_businessEntities] WHERE [businessKey] = @key)
|
|
BEGIN
|
|
SET @keyType = 'businessKey'
|
|
RETURN @keyType
|
|
END
|
|
|
|
IF EXISTS(SELECT [serviceKey] FROM [UDC_businessServices] WHERE [serviceKey] = @key)
|
|
BEGIN
|
|
SET @keyType = 'serviceKey'
|
|
RETURN @keyType
|
|
END
|
|
|
|
IF EXISTS(SELECT [bindingKey] FROM [UDC_bindingTemplates] WHERE [bindingKey] = @key)
|
|
BEGIN
|
|
SET @keyType = 'bindingKey'
|
|
RETURN @keyType
|
|
END
|
|
|
|
RETURN @keyType
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: String and Conversion helper functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: addURN()
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'addURN' AND type='FN')
|
|
DROP FUNCTION addURN
|
|
GO
|
|
|
|
CREATE FUNCTION addURN
|
|
(@guid uniqueidentifier)
|
|
RETURNS varchar(256)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@guidStr varchar(256)
|
|
|
|
SET @guidStr='uuid:' + CAST(@guid AS varchar(256))
|
|
|
|
RETURN @guidStr
|
|
END -- addURN()
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: UUIDSTR
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'UUIDSTR' AND type = 'FN')
|
|
DROP FUNCTION UUIDSTR
|
|
GO
|
|
|
|
CREATE FUNCTION UUIDSTR(
|
|
@uuid uniqueidentifier)
|
|
RETURNS varchar(256)
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@uuidStr varchar(256)
|
|
|
|
SET @uuidStr = CAST(@uuid AS varchar(256))
|
|
|
|
RETURN @uuidStr
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Validation helper functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: validTaxonomyValue()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'validTaxonomyValue' AND type = 'FN')
|
|
DROP FUNCTION validTaxonomyValue
|
|
GO
|
|
|
|
CREATE FUNCTION validTaxonomyValue (
|
|
@tModelKey uniqueidentifier,
|
|
@keyValue nvarchar(225))
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@RC bit
|
|
|
|
IF (@tModelKey IS NOT NULL) AND (@keyValue IS NOT NULL)
|
|
IF EXISTS(SELECT * FROM [UDT_taxonomyValues] WHERE ([taxonomyID] = dbo.taxonomyID(@tModelKey)) AND ([keyValue] = @keyValue) AND ([valid]= 1))
|
|
SET @RC=1
|
|
ELSE
|
|
SET @RC=0
|
|
ELSE
|
|
SET @RC=0
|
|
|
|
RETURN @RC
|
|
END -- validTaxonomyValue()
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: checkedTaxonomy()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'checkedTaxonomy' AND type = 'FN')
|
|
DROP FUNCTION checkedTaxonomy
|
|
GO
|
|
|
|
CREATE FUNCTION checkedTaxonomy (
|
|
@tModelKey uniqueidentifier)
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@RC bit,
|
|
@flag int
|
|
|
|
SET @RC = 0
|
|
|
|
SELECT
|
|
@flag = [flag]
|
|
FROM
|
|
[UDT_taxonomies]
|
|
WHERE
|
|
[tModelKey] = @tModelKey
|
|
|
|
IF @flag IS NOT NULL
|
|
IF dbo.checkFlag(@flag,0x1) = 1
|
|
SET @RC = 1
|
|
|
|
RETURN @RC
|
|
END -- checkedTaxonomy()
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: ISGUID()
|
|
-- =============================================
|
|
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'ISGUID' AND type='FN')
|
|
DROP FUNCTION ISGUID
|
|
GO
|
|
|
|
CREATE FUNCTION ISGUID
|
|
(@guidText varchar(256))
|
|
RETURNS int
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@guidPattern1 varchar(256),
|
|
@guidPattern2 varchar(256),
|
|
@pos1 int,
|
|
@pos2 int,
|
|
@RC int
|
|
|
|
SET @RC = 0
|
|
|
|
IF @guidText IS NULL
|
|
RETURN 1
|
|
|
|
SET @guidPattern1 ='%[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-%'
|
|
SET @guidPattern2 ='%-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]%'
|
|
|
|
-- Check for standard GUID string with no curly braces
|
|
SELECT @pos1=PATINDEX(@guidPattern1, UPPER(@guidText))
|
|
SELECT @pos2=PATINDEX(@guidPattern2, UPPER(@guidText))
|
|
|
|
IF (@pos1 = 1) AND (@pos2 = 24)
|
|
SET @RC=1
|
|
ELSE
|
|
BEGIN
|
|
-- Check for standard GUID string with curly braces
|
|
SET @guidPattern1 ='%{[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]-%'
|
|
SET @guidPattern2 ='%-[0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F][0-9,A-F]}%'
|
|
|
|
SELECT @pos1=PATINDEX(@guidPattern1, UPPER(@guidText))
|
|
SELECT @pos2=PATINDEX(@guidPattern2, UPPER(@guidText))
|
|
|
|
IF (@pos1 = 1) AND (@pos2 = 25)
|
|
SET @RC=1
|
|
ELSE
|
|
SET @RC=0
|
|
END
|
|
|
|
RETURN @RC
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: isUuidUnique
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'isUuidUnique' AND type = 'FN')
|
|
DROP FUNCTION isUuidUnique
|
|
GO
|
|
|
|
CREATE FUNCTION isUuidUnique(
|
|
@uuid uniqueidentifier)
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
IF EXISTS(SELECT [tModelKey] FROM [UDC_tModels] WHERE [tModelKey] = @uuid)
|
|
RETURN 0
|
|
|
|
IF EXISTS(SELECT [businessKey] FROM [UDC_businessEntities] WHERE [businessKey] = @uuid)
|
|
RETURN 0
|
|
|
|
IF EXISTS(SELECT [serviceKey] FROM [UDC_businessServices] WHERE [serviceKey] = @uuid)
|
|
RETURN 0
|
|
|
|
IF EXISTS(SELECT [bindingKey] FROM [UDC_bindingTemplates] WHERE [bindingKey] = @uuid)
|
|
RETURN 0
|
|
|
|
RETURN 1
|
|
END -- isUuidUnique()
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Section: Miscellaneous functions
|
|
-- =============================================
|
|
|
|
-- =============================================
|
|
-- Name: checkFlag()
|
|
-- =============================================
|
|
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'checkFlag' AND type = 'FN')
|
|
DROP FUNCTION checkFlag
|
|
GO
|
|
|
|
CREATE FUNCTION checkFlag(
|
|
@flag int,
|
|
@bit int)
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@RC bit
|
|
|
|
IF @flag & @bit = @bit
|
|
SET @RC=1
|
|
ELSE
|
|
SET @RC=0
|
|
|
|
RETURN @RC
|
|
END
|
|
GO
|
|
|
|
-- =============================================
|
|
-- Name: isReportRunning
|
|
-- =============================================
|
|
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'isReportRunning' AND type = 'FN')
|
|
DROP FUNCTION isReportRunning
|
|
GO
|
|
|
|
CREATE FUNCTION isReportRunning (
|
|
@reportID sysname,
|
|
@now datetime)
|
|
RETURNS bit
|
|
WITH ENCRYPTION
|
|
AS
|
|
BEGIN
|
|
DECLARE
|
|
@isReportRunning bit,
|
|
@reportStatusID tinyint,
|
|
@lastChange datetime
|
|
|
|
SET @isReportRunning = 0
|
|
|
|
SELECT
|
|
@reportStatusID = [reportStatusID],
|
|
@lastChange = [lastChange]
|
|
FROM
|
|
[UDO_reports]
|
|
WHERE
|
|
([reportID] = @reportID)
|
|
|
|
--
|
|
-- Check to see if report is already running.
|
|
-- If report has been running for less than 5 minutes get out.
|
|
-- If report has been running for more than 5 assume failure and rerun.
|
|
--
|
|
|
|
IF (@reportStatusID = dbo.reportStatusID('Processing')) AND (DATEDIFF(mi, @lastChange, @now) < 5)
|
|
SET @isReportRunning = 1
|
|
|
|
RETURN @isReportRunning
|
|
END -- isReportRunning
|
|
GO
|
|
|