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] aa1INNER 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] sga1INNER 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" aa1INNER 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" sga1INNER 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 )