CREATE PROCEDURE [dbo].[CHECK_BUSINESS_METADATA]
AS
BEGIN
DECLARE
@var_err_code int,
@var_err_table_name nvarchar(100),
@var_pk1_field_value nvarchar(100),
@var_pk2_field_value nvarchar(100),
@var_err_field_name nvarchar(100),
@var_err_field_value nvarchar(255),
@var_err_message nvarchar(255),
@var_err_resolution nvarchar(255)
SET @var_err_code = 500
SET @var_err_message = 'table_name does not exist in arg_table_def'
SET @var_err_resolution = 'correct field value or add table record'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'table_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT cd.CLASS_NAME, cd.TABLE_NAME
FROM
dbo.ARG_CLASS_DEF AS cd
FULL OUTER JOIN dbo.ARG_TABLE_DEF AS td
ON td.TABLE_NAME = cd.TABLE_NAME
WHERE cd.TABLE_NAME IS NOT NULL AND td.TABLE_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 501
SET @var_err_message = 'class_template does not exist in arg_class_def'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'class_template'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT cd1.CLASS_NAME, cd1.CLASS_TEMPLATE
FROM
dbo.ARG_CLASS_DEF AS cd1
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd2
ON cd2.CLASS_NAME = cd1.CLASS_TEMPLATE
WHERE cd1.CLASS_TEMPLATE IS NOT NULL AND cd2.CLASS_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 502
SET @var_err_message = 'class_template does not exist in SWCM arg_class_def records'
SET @var_err_resolution = 'correct field value or add class record or check app filter values'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'class_template'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT cd1.CLASS_NAME, cd1.CLASS_TEMPLATE
FROM
dbo.ARG_CLASS_DEF AS cd1
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd2
ON cd2.CLASS_NAME = cd1.CLASS_TEMPLATE AND cd2.APP_FILTER IN ( 1, 3 )
WHERE
cd1.CLASS_TEMPLATE IS NOT NULL AND
cd2.CLASS_NAME IS NULL AND
cd1.APP_FILTER IN ( 1, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 503
SET @var_err_message = 'class_template does not exist in APM arg_class_def records'
SET @var_err_resolution = 'correct field value or add class record or check app filter values'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'class_template'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT cd1.CLASS_NAME, cd1.CLASS_TEMPLATE
FROM
dbo.ARG_CLASS_DEF AS cd1
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd2
ON cd2.CLASS_NAME = cd1.CLASS_TEMPLATE AND cd2.APP_FILTER IN ( 2, 3 )
WHERE
cd1.CLASS_TEMPLATE IS NOT NULL AND
cd2.CLASS_NAME IS NULL AND
cd1.APP_FILTER IN ( 2, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 504
SET @var_err_message = 'Warning: class does not have any attributes defined'
SET @var_err_resolution = 'add attribute records for class'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'class_def'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT cd.CLASS_NAME
FROM
dbo.ARG_CLASS_DEF AS cd
FULL OUTER JOIN dbo.ARG_ATTRIBUTE_DEF AS ad
ON ad.CLASS_NAME = cd.CLASS_NAME
WHERE
cd.CLASS_NAME IS NOT NULL AND
ad.CLASS_NAME IS NULL AND
cd.CLASS_TEMPLATE IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_WARNINGS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 505
SET @var_err_message = 'Warning: class does not have any SWCM attributes defined'
SET @var_err_resolution = 'add attribute records for class or check app_filter'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'class_def'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT cd.CLASS_NAME
FROM
dbo.ARG_CLASS_DEF AS cd
FULL OUTER JOIN dbo.ARG_ATTRIBUTE_DEF AS ad
ON ad.CLASS_NAME = cd.CLASS_NAME AND ad.APP_FILTER IN ( 1, 3 )
WHERE
cd.CLASS_NAME IS NOT NULL AND
ad.CLASS_NAME IS NULL AND
cd.CLASS_TEMPLATE IS NULL AND
cd.APP_FILTER IN ( 1, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_WARNINGS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 506
SET @var_err_message = 'Warning: class does not have any APM attributes defined'
SET @var_err_resolution = 'add attribute records for class or check app_filter'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'class_def'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT cd.CLASS_NAME
FROM
dbo.ARG_CLASS_DEF AS cd
FULL OUTER JOIN dbo.ARG_ATTRIBUTE_DEF AS ad
ON ad.CLASS_NAME = cd.CLASS_NAME AND ad.APP_FILTER IN ( 2, 3 )
WHERE
cd.CLASS_NAME IS NOT NULL AND
ad.CLASS_NAME IS NULL AND
cd.CLASS_TEMPLATE IS NULL AND
cd.APP_FILTER IN ( 2, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_WARNINGS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 507
SET @var_err_message = 'Warning: class alias is duplicate'
SET @var_err_resolution = 'change class alias to remove duplicate'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'class_alias'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
SET @var_err_code = 508
SET @var_err_message = 'table_name (class) or class_template (subclass) must be specified'
SET @var_err_resolution = 'add table_name (class) or class_template (subclass)'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'table_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_CLASS_DEF.CLASS_NAME, ARG_CLASS_DEF.TABLE_NAME
FROM dbo.ARG_CLASS_DEF
WHERE ARG_CLASS_DEF.TABLE_NAME IS NULL AND ARG_CLASS_DEF.CLASS_TEMPLATE IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 509
SET @var_err_message = 'table_name (class) and class_template (subclass) cannot both be specified'
SET @var_err_resolution = 'remove table_name (class) or class_template (subclass)'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'class_template'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_CLASS_DEF.CLASS_NAME, ARG_CLASS_DEF.CLASS_TEMPLATE
FROM dbo.ARG_CLASS_DEF
WHERE ARG_CLASS_DEF.TABLE_NAME IS NOT NULL AND ARG_CLASS_DEF.CLASS_TEMPLATE IS NOT NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 510
SET @var_err_message = 'app_filter is required for class record'
SET @var_err_resolution = 'specify app_filter value'
SET @var_err_table_name = 'arg_class_def'
SET @var_err_field_name = 'app_filter'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_CLASS_DEF.CLASS_NAME, ARG_CLASS_DEF.APP_FILTER
FROM dbo.ARG_CLASS_DEF
WHERE ARG_CLASS_DEF.APP_FILTER = 0 OR ARG_CLASS_DEF.APP_FILTER IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_WARNINGS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 600
SET @var_err_message = 'class_name not defined in arg_class_def'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'class_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_NAME
WHERE ad.CLASS_NAME IS NOT NULL AND cd.CLASS_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 601
SET @var_err_message = 'class_name not defined in SWCM arg_class_def records'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'class_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_NAME AND cd.APP_FILTER IN ( 1, 3 )
WHERE
ad.CLASS_NAME IS NOT NULL AND
cd.CLASS_NAME IS NULL AND
ad.APP_FILTER IN ( 1, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 602
SET @var_err_message = 'class_name not defined in APM arg_class_def records'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'class_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_NAME AND cd.APP_FILTER IN ( 2, 3 )
WHERE
ad.CLASS_NAME IS NOT NULL AND
cd.CLASS_NAME IS NULL AND
ad.APP_FILTER IN ( 2, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 603
SET @var_err_message = 'table_name not defined in arg_table_def'
SET @var_err_resolution = 'correct field value or add table record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'table_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.TABLE_NAME
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_TABLE_DEF AS td
ON td.TABLE_NAME = ad.TABLE_NAME
WHERE ad.TABLE_NAME IS NOT NULL AND td.TABLE_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 604
SET @var_err_message = 'field_name not defined in arg_field_def'
SET @var_err_resolution = 'correct field value or add field record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'field_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.FIELD_NAME
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_FIELD_DEF AS fd
ON fd.TABLE_NAME = ad.TABLE_NAME AND fd.FIELD_NAME = ad.FIELD_NAME
WHERE ad.FIELD_NAME IS NOT NULL AND fd.FIELD_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 605
SET @var_err_message = 'attribute_type not defined in arg_class_def'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'attribute_type'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.ATTRIBUTE_TYPE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.ATTRIBUTE_TYPE
WHERE ad.ATTRIBUTE_TYPE IS NOT NULL AND cd.CLASS_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 606
SET @var_err_message = 'attribute_type not defined in SWCM arg_class_def records'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'attribute_type'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.ATTRIBUTE_TYPE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.ATTRIBUTE_TYPE AND cd.APP_FILTER IN ( 1, 3 )
WHERE
ad.ATTRIBUTE_TYPE IS NOT NULL AND
cd.CLASS_NAME IS NULL AND
ad.APP_FILTER IN ( 1, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 607
SET @var_err_message = 'attribute_type not defined in APM arg_class_def records'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'attribute_type'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.ATTRIBUTE_TYPE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.ATTRIBUTE_TYPE AND cd.APP_FILTER IN ( 2, 3 )
WHERE
ad.ATTRIBUTE_TYPE IS NOT NULL AND
cd.CLASS_NAME IS NULL AND
ad.APP_FILTER IN ( 2, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 608
SET @var_err_message = 'join_name not defined in arg_join_def'
SET @var_err_resolution = 'correct field value or add join records'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'join_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.JOIN_NAME
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_JOIN_DEF AS jd
ON jd.JOIN_NAME = ad.JOIN_NAME
WHERE ad.JOIN_NAME IS NOT NULL AND jd.JOIN_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 609
SET @var_err_message = 'class_template not defined in arg_class_def'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'class_template'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.CLASS_TEMPLATE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_TEMPLATE
WHERE ad.CLASS_TEMPLATE IS NOT NULL AND cd.CLASS_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 610
SET @var_err_message = 'class_template not defined in SWCM arg_class_def records'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'class_template'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.CLASS_TEMPLATE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_TEMPLATE AND cd.APP_FILTER IN ( 1, 3 )
WHERE
ad.CLASS_TEMPLATE IS NOT NULL AND
cd.CLASS_NAME IS NULL AND
ad.APP_FILTER IN ( 1, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 611
SET @var_err_message = 'class_template not defined in APM arg_class_def records'
SET @var_err_resolution = 'correct field value or add class record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'class_template'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.CLASS_TEMPLATE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
FULL OUTER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_TEMPLATE AND cd.APP_FILTER IN ( 2, 3 )
WHERE
ad.CLASS_TEMPLATE IS NOT NULL AND
cd.CLASS_NAME IS NULL AND
ad.APP_FILTER IN ( 2, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 612
SET @var_err_message = 'control_object not defined in arg_controls'
SET @var_err_resolution = 'correct field value or add control record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'control_object'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_ATTRIBUTE_DEF.CLASS_NAME, ARG_ATTRIBUTE_DEF.ATTRIBUTE_NAME, ARG_ATTRIBUTE_DEF.CONTROL_OBJECT
FROM dbo.ARG_ATTRIBUTE_DEF
WHERE ARG_ATTRIBUTE_DEF.CONTROL_OBJECT NOT IN
(
SELECT ARG_CONTROLS.CNOBJECT
FROM dbo.ARG_CONTROLS
) AND ARG_ATTRIBUTE_DEF.CONTROL_OBJECT IS NOT NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 613
SET @var_err_message = 'control_name not defined in arg_controls'
SET @var_err_resolution = 'correct field value or add control record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'control_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_ATTRIBUTE_DEF.CLASS_NAME, ARG_ATTRIBUTE_DEF.ATTRIBUTE_NAME, ARG_ATTRIBUTE_DEF.CONTROL_NAME
FROM dbo.ARG_ATTRIBUTE_DEF
WHERE ARG_ATTRIBUTE_DEF.CONTROL_NAME NOT IN
(
SELECT ARG_CONTROLS.CNNAME
FROM dbo.ARG_CONTROLS
) AND ARG_ATTRIBUTE_DEF.CONTROL_NAME IS NOT NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 614
SET @var_err_message = 'related_base_attribute not defined in arg_attribute_def'
SET @var_err_resolution = 'correct field value or add attribute record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'related_base_attribute'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad1.CLASS_NAME, ad1.ATTRIBUTE_NAME, ad1.RELATED_BASE_ATTRIBUTE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad1
FULL OUTER JOIN dbo.ARG_ATTRIBUTE_DEF AS ad2
ON ad2.CLASS_NAME = ad1.CLASS_NAME AND ad2.ATTRIBUTE_NAME = ad1.RELATED_BASE_ATTRIBUTE
WHERE ad1.RELATED_BASE_ATTRIBUTE IS NOT NULL AND ad2.ATTRIBUTE_NAME IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 615
SET @var_err_message = 'related_base_attribute not defined in SWCM arg_attribute_def records'
SET @var_err_resolution = 'correct field value or add attribute record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'related_base_attribute'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad1.CLASS_NAME, ad1.ATTRIBUTE_NAME, ad1.RELATED_BASE_ATTRIBUTE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad1
FULL OUTER JOIN dbo.ARG_ATTRIBUTE_DEF AS ad2
ON
ad2.CLASS_NAME = ad1.CLASS_NAME AND
ad2.ATTRIBUTE_NAME = ad1.RELATED_BASE_ATTRIBUTE AND
ad2.APP_FILTER IN ( 1, 3 )
WHERE
ad1.RELATED_BASE_ATTRIBUTE IS NOT NULL AND
ad2.ATTRIBUTE_NAME IS NULL AND
ad1.APP_FILTER IN ( 1, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 616
SET @var_err_message = 'related_base_attribute not defined in APM arg_attribute_def records'
SET @var_err_resolution = 'correct field value or add attribute record'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'related_base_attribute'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad1.CLASS_NAME, ad1.ATTRIBUTE_NAME, ad1.RELATED_BASE_ATTRIBUTE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad1
FULL OUTER JOIN dbo.ARG_ATTRIBUTE_DEF AS ad2
ON
ad2.CLASS_NAME = ad1.CLASS_NAME AND
ad2.ATTRIBUTE_NAME = ad1.RELATED_BASE_ATTRIBUTE AND
ad2.APP_FILTER IN ( 2, 3 )
WHERE
ad1.RELATED_BASE_ATTRIBUTE IS NOT NULL AND
ad2.ATTRIBUTE_NAME IS NULL AND
ad1.APP_FILTER IN ( 2, 3 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 617
SET @var_err_message = 'attribute label is blank'
SET @var_err_resolution = 'add attribute label'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'attribute_label'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_ATTRIBUTE_DEF.CLASS_NAME, ARG_ATTRIBUTE_DEF.ATTRIBUTE_NAME, ARG_ATTRIBUTE_DEF.ATTRIBUTE_LABEL
FROM dbo.ARG_ATTRIBUTE_DEF
WHERE ARG_ATTRIBUTE_DEF.ATTRIBUTE_LABEL IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 618
SET @var_err_message = 'Warning: attribute label is duplicate within class'
SET @var_err_resolution = 'change attribute labels to remove duplicate'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'attribute_label'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
SET @var_err_code = 619
SET @var_err_message = 'Warning: attribute alias is duplicate'
SET @var_err_resolution = 'change attribute alias to remove duplicate'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'attribute_alias'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
SET @var_err_code = 620
SET @var_err_message = 'table_name and field_name are required for the base attribute of a class'
SET @var_err_resolution = 'add values or check relation type for attribute'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = NULL
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
SET @var_err_code = 621
SET @var_err_message = 'attribute_type, join_name, class_template and related_base_attribute must be null for the base attribute of a class'
SET @var_err_resolution = 'remove values or check relation type'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = NULL
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
SET @var_err_code = 622
SET @var_err_message = 'table_name, field_name and class_template must be null for a sibling or child attribute of a class'
SET @var_err_resolution = 'remove values or check relation type'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = NULL
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
SET @var_err_code = 623
SET @var_err_message = 'attribute_type and join_name are required for a sibling or child attribute of a class'
SET @var_err_resolution = 'add values or check relation type'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = NULL
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
SET @var_err_code = 624
SET @var_err_message = 'related_base_attribute is required for a sibling attribute of a class'
SET @var_err_resolution = 'add value or check relation type'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'related_base_attribute'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_ATTRIBUTE_DEF.CLASS_NAME, ARG_ATTRIBUTE_DEF.ATTRIBUTE_NAME, ARG_ATTRIBUTE_DEF.RELATED_BASE_ATTRIBUTE
FROM dbo.ARG_ATTRIBUTE_DEF
WHERE
ARG_ATTRIBUTE_DEF.CLASS_NAME IN
(
SELECT ARG_CLASS_DEF.CLASS_NAME
FROM dbo.ARG_CLASS_DEF
WHERE ARG_CLASS_DEF.TABLE_NAME IS NOT NULL
) AND
ARG_ATTRIBUTE_DEF.RELATION_TYPE = 1 AND
(ARG_ATTRIBUTE_DEF.RELATED_BASE_ATTRIBUTE IS NULL)
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 625
SET @var_err_message = 'related_base_attribute must be null for a child attribute of a class'
SET @var_err_resolution = 'remove value or check relation type'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'related_base_attribute'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_ATTRIBUTE_DEF.CLASS_NAME, ARG_ATTRIBUTE_DEF.ATTRIBUTE_NAME, ARG_ATTRIBUTE_DEF.RELATED_BASE_ATTRIBUTE
FROM dbo.ARG_ATTRIBUTE_DEF
WHERE
ARG_ATTRIBUTE_DEF.CLASS_NAME IN
(
SELECT ARG_CLASS_DEF.CLASS_NAME
FROM dbo.ARG_CLASS_DEF
WHERE ARG_CLASS_DEF.TABLE_NAME IS NOT NULL
) AND
ARG_ATTRIBUTE_DEF.RELATION_TYPE = 2 AND
(ARG_ATTRIBUTE_DEF.RELATED_BASE_ATTRIBUTE IS NOT NULL)
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 626
SET @var_err_message = 'relation_type is required for the attribute of a class'
SET @var_err_resolution = 'add value or check relation type'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'relation_type'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_ATTRIBUTE_DEF.CLASS_NAME, ARG_ATTRIBUTE_DEF.ATTRIBUTE_NAME, ARG_ATTRIBUTE_DEF.RELATION_TYPE
FROM dbo.ARG_ATTRIBUTE_DEF
WHERE ARG_ATTRIBUTE_DEF.CLASS_NAME IN
(
SELECT ARG_CLASS_DEF.CLASS_NAME
FROM dbo.ARG_CLASS_DEF
WHERE ARG_CLASS_DEF.TABLE_NAME IS NOT NULL
) AND ARG_ATTRIBUTE_DEF.RELATION_TYPE IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 627
SET @var_err_message = 'relation_type, table_name, field_name, join_name and related_base_attribute must be null for the attribute of a subclass'
SET @var_err_resolution = 'remove values'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = NULL
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
SET @var_err_code = 628
SET @var_err_message = 'attribute_type must be null for the base attribute of a subclass'
SET @var_err_resolution = 'remove value'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'attribute_type'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad1.CLASS_NAME, ad1.ATTRIBUTE_NAME, ad1.ATTRIBUTE_TYPE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad1
INNER JOIN dbo.ARG_ATTRIBUTE_DEF AS ad2
ON ad2.CLASS_NAME = ad1.CLASS_TEMPLATE AND ad2.ATTRIBUTE_NAME = ad1.ATTRIBUTE_NAME
WHERE
ad1.CLASS_NAME IN
(
SELECT ARG_CLASS_DEF.CLASS_NAME
FROM dbo.ARG_CLASS_DEF
WHERE ARG_CLASS_DEF.CLASS_TEMPLATE IS NOT NULL
) AND
ad2.RELATION_TYPE = 0 AND
ad1.ATTRIBUTE_TYPE IS NOT NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 629
SET @var_err_message = 'attribute_type is required for a sibling or child attribute of a subclass'
SET @var_err_resolution = 'add value'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'attribute_type'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad1.CLASS_NAME, ad1.ATTRIBUTE_NAME, ad1.ATTRIBUTE_TYPE
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad1
INNER JOIN dbo.ARG_ATTRIBUTE_DEF AS ad2
ON ad2.CLASS_NAME = ad1.CLASS_TEMPLATE AND ad2.ATTRIBUTE_NAME = ad1.ATTRIBUTE_NAME
WHERE
ad1.CLASS_NAME IN
(
SELECT ARG_CLASS_DEF.CLASS_NAME
FROM dbo.ARG_CLASS_DEF
WHERE ARG_CLASS_DEF.CLASS_TEMPLATE IS NOT NULL
) AND
ad2.RELATION_TYPE <> 0 AND
ad1.ATTRIBUTE_TYPE IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 631
SET @var_err_message = 'app_filter is required for attribute record'
SET @var_err_resolution = 'specify app_filter value '
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'app_filter'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ARG_ATTRIBUTE_DEF.CLASS_NAME, ARG_ATTRIBUTE_DEF.ATTRIBUTE_NAME, ARG_ATTRIBUTE_DEF.APP_FILTER
FROM dbo.ARG_ATTRIBUTE_DEF
WHERE ARG_ATTRIBUTE_DEF.APP_FILTER = 0 OR ARG_ATTRIBUTE_DEF.APP_FILTER IS NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_WARNINGS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 632
SET @var_err_message = 'SWCM attribute belongs to UAPM class'
SET @var_err_resolution = 'check app_filter values for the class and attributes'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'app_filter'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.APP_FILTER
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
INNER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_NAME
WHERE ad.APP_FILTER IN ( 1, 3 ) AND cd.APP_FILTER IN ( 2 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 633
SET @var_err_message = 'UAPM attribute belongs to SWCM class'
SET @var_err_resolution = 'check app_filter values for the class and attributes'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'app_filter'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.APP_FILTER
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
INNER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_NAME
WHERE ad.APP_FILTER IN ( 2, 3 ) AND cd.APP_FILTER IN ( 1 )
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 634
SET @var_err_message = 'attributes within a class must point to the table of the class'
SET @var_err_resolution = 'correct table value of attribute or remove attribute from the class'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'table_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.ATTRIBUTE_NAME, ad.TABLE_NAME AS attribute_table
FROM
dbo.ARG_ATTRIBUTE_DEF AS ad
INNER JOIN dbo.ARG_CLASS_DEF AS cd
ON cd.CLASS_NAME = ad.CLASS_NAME
WHERE ad.TABLE_NAME <> cd.TABLE_NAME AND ad.TABLE_NAME IS NOT NULL
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
SET @var_err_code = 635
SET @var_err_message = 'within a class two different attributes cannot map to the same field name'
SET @var_err_resolution = 'correct field value of attribute or remove duplicate attribute from the class'
SET @var_err_table_name = 'arg_attribute_def'
SET @var_err_field_name = 'field_name'
SET @var_pk1_field_value = NULL
SET @var_pk2_field_value = NULL
SET @var_err_field_value = NULL
BEGIN
DECLARE
err_records CURSOR LOCAL FOR
SELECT ad.CLASS_NAME, ad.TABLE_NAME, ad.FIELD_NAME
FROM dbo.ARG_ATTRIBUTE_DEF AS ad
WHERE ad.TABLE_NAME IS NOT NULL AND ad.FIELD_NAME IS NOT NULL
GROUP BY ad.CLASS_NAME, ad.TABLE_NAME, ad.FIELD_NAME
HAVING count_big(0) > 1
OPEN err_records
WHILE 1 = 1
BEGIN
FETCH err_records
INTO @var_pk1_field_value, @var_pk2_field_value, @var_err_field_value
IF @@FETCH_STATUS <> 0
BREAK
INSERT dbo.ARG_METADATA_ERRORS(
ERR_CODE,
ERR_TABLE_NAME,
PK1_FIELD_VALUE,
PK2_FIELD_VALUE,
ERR_FIELD_NAME,
ERR_FIELD_VALUE,
ERR_MESSAGE,
ERR_RESOLUTION)
VALUES (
@var_err_code,
@var_err_table_name,
@var_pk1_field_value,
@var_pk2_field_value,
@var_err_field_name,
@var_err_field_value,
@var_err_message,
@var_err_resolution)
END
CLOSE err_records
DEALLOCATE err_records
END
END
GO