Check integrity of attribute names in key language
The name of an attribute must exist in the key language otherwise errors may occur during operation. The key language can be specified in the server.properties.
If the key language is changed, it is possible that attributes exist that do not have a name in the key language. The following database script can be used to check if all attributes have a name in the key language.
MSSQL
The script for MASTER and SUPPLIER
SELECT
COUNT
(aa1.ID)
FROM
[ArticleAttribute] aa1
INNER
JOIN
[ArticleAttributeLang] aal1
ON
aa1.ID = aal1.[ArticleAttributeID]
WHERE
aa1.ID
NOT
IN
(
SELECT
aa2.ID
FROM
[ArticleAttribute] aa2
INNER
JOIN
[ArticleAttributeLang] aal2
ON
aa2.ID = aal2.[ArticleAttributeID]
WHERE
aal2.[LanguageID] = :keyLanguageID )
The script for MAIN
SELECT
COUNT
(sga1.ID)
FROM
[StructureGroupAttribute] sga1
INNER
JOIN
[StructureGroupAttributeLang] sgal1
ON
sga1.ID = sgal1.[StructureGroupAttributeID]
WHERE
sga1.ID
NOT
IN
(
SELECT
sga2.ID
FROM
[StructureAttribute] sga2
INNER
JOIN
[StructureGroupAttributeLang] sgal2
ON
sga2.ID = sgal2.[StructureGroupAttributeID]
WHERE
sgal2.[LanguageID] = 9 )
Oracle
The script for MASTER and SUPPLIER
SELECT
COUNT
(aa1.ID)
FROM
"ArticleAttribute"
aa1
INNER
JOIN
"ArticleAttributeLang"
aal1
ON
aa1.ID = aal1.
"ArticleAttributeID"
WHERE
aa1.ID
NOT
IN
(
SELECT
aa2.ID
FROM
"ArticleAttribute"
aa2
INNER
JOIN
"ArticleAttributeLang"
aal2
ON
aa2.ID = aal2.
"ArticleAttributeID"
WHERE
aal2.
"LanguageID"
= :keyLanguageID )
The script for MAIN
SELECT
COUNT
(sga1.ID)
FROM
"StructureGroupAttribute"
sga1
INNER
JOIN
"StructureGroupAttributeLang"
sgal1
ON
sga1.ID = sgal1.
"StructureGroupAttributeID"
WHERE
sga1.ID
NOT
IN
(
SELECT
sga2.ID
FROM
"StructureAttribute"
sga2
INNER
JOIN
"StructureGroupAttributeLang"
sgal2
ON
sga2.ID = sgal2.
"StructureGroupAttributeID"
WHERE
sgal2.
"LanguageID"
= 9 )