Version
mS3 PIM ab 6.6
Problem
Beim Browsen der Objektliste wird ein folgender Fehler dargestellt und das PIM Projekt verwendet iMAM.

Test
Wenn dieses Script eine Liste von Werten ausgibt, bitte die Bereinigung unter Lösung ausführen.
SELECT ObjectMasterdata.ObjectMasterdataKey, AttributeName, ValueSText FROM ObjectMasterdataValueLN
INNER JOIN ObjectMasterdata ON ObjectMasterdata.ObjectMasterdataId = ObjectMasterdataValueLN.ObjectMasterdataId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectMasterdataValueLN.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectMasterdataValueLN.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectMasterdataValueLN.ValueSText) IS NOT NULL)
SELECT ObjectMasterdata.ObjectMasterdataKey, AttributeName, ValueSText FROM ObjectMasterdataValueLS
INNER JOIN ObjectMasterdata ON ObjectMasterdata.ObjectMasterdataId = ObjectMasterdataValueLS.ObjectMasterdataId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectMasterdataValueLS.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectMasterdataValueLS.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectMasterdataValueLS.ValueSText) IS NOT NULL)
SELECT ObjectAssortment.ObjectAssortmentKey, AttributeName, ValueSText FROM ObjectAssortmentValueLN
INNER JOIN ObjectAssortment ON ObjectAssortment.ObjectAssortmentId = ObjectAssortmentValueLN.ObjectAssortmentId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectAssortmentValueLN.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectAssortmentValueLN.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectAssortmentValueLN.ValueSText) IS NOT NULL)
SELECT ObjectAssortment.ObjectAssortmentKey, AttributeName, ValueSText FROM ObjectAssortmentValueLS
INNER JOIN ObjectAssortment ON ObjectAssortment.ObjectAssortmentId = ObjectAssortmentValueLS.ObjectAssortmentId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectAssortmentValueLS.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectAssortmentValueLS.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectAssortmentValueLS.ValueSText) IS NOT NULL)
SELECT ObjectPublication.ObjectPublicationKey, AttributeName, ValueSText FROM ObjectPublicationValueLN
INNER JOIN ObjectPublication ON ObjectPublication.ObjectPublicationId = ObjectPublicationValueLN.ObjectPublicationId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectPublicationValueLN.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectPublicationValueLN.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectPublicationValueLN.ValueSText) IS NOT NULL)
SELECT ObjectPublication.ObjectPublicationKey, AttributeName, ValueSText FROM ObjectPublicationValueLS
INNER JOIN ObjectPublication ON ObjectPublication.ObjectPublicationId = ObjectPublicationValueLS.ObjectPublicationId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectPublicationValueLS.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectPublicationValueLS.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectPublicationValueLS.ValueSText) IS NOT NULL)
Lösung
Wichtig: Datenbank sichern!
Das Projekt wurde vermutlich vom alten Bild Managment auf iMAM migriert. Es wurden aber nicht alle Bilder berücksichtigt. Um diese falschen iMAM verknüpfungen zu löschen bitte folgendes Skript ausführen:
DELETE ObjectMasterdataValueLN FROM ObjectMasterdataValueLN
INNER JOIN ObjectMasterdata ON ObjectMasterdata.ObjectMasterdataId = ObjectMasterdataValueLN.ObjectMasterdataId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectMasterdataValueLN.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectMasterdataValueLN.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectMasterdataValueLN.ValueSText) IS NOT NULL)
DELETE ObjectMasterdataValueLS FROM ObjectMasterdataValueLS
INNER JOIN ObjectMasterdata ON ObjectMasterdata.ObjectMasterdataId = ObjectMasterdataValueLS.ObjectMasterdataId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectMasterdataValueLS.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectMasterdataValueLS.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectMasterdataValueLS.ValueSText) IS NOT NULL)
DELETE ObjectAssortmentValueLN FROM ObjectAssortmentValueLN
INNER JOIN ObjectAssortment ON ObjectAssortment.ObjectAssortmentId = ObjectAssortmentValueLN.ObjectAssortmentId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectAssortmentValueLN.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectAssortmentValueLN.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectAssortmentValueLN.ValueSText) IS NOT NULL)
DELETE ObjectAssortmentValueLS FROM ObjectAssortmentValueLS
INNER JOIN ObjectAssortment ON ObjectAssortment.ObjectAssortmentId = ObjectAssortmentValueLS.ObjectAssortmentId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectAssortmentValueLS.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectAssortmentValueLS.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectAssortmentValueLS.ValueSText) IS NOT NULL)
DELETE ObjectPublicationValueLN FROM ObjectPublicationValueLN
INNER JOIN ObjectPublication ON ObjectPublication.ObjectPublicationId = ObjectPublicationValueLN.ObjectPublicationId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectPublicationValueLN.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectPublicationValueLN.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectPublicationValueLN.ValueSText) IS NOT NULL)
DELETE ObjectPublicationValueLS FROM ObjectPublicationValueLS
INNER JOIN ObjectPublication ON ObjectPublication.ObjectPublicationId = ObjectPublicationValueLS.ObjectPublicationId
INNER JOIN Attribute ON Attribute.AttributeId = ObjectPublicationValueLS.AttributeId
WHERE Attribute.AttributeFormatId = 17 AND NOT (LEN(ObjectPublicationValueLS.ValueSText) = 36 AND TRY_CONVERT(UNIQUEIDENTIFIER, ObjectPublicationValueLS.ValueSText) IS NOT NULL)