Page 1 of 1

[5.21] Konvertierung von Rahmenverträge in normale Verträge

Posted: 13. Apr 2010, 11:55
by mniemann
Das unten aufgeführte SQL-Script knvertiert alle Rahmenverträge im Matrix42 Service Store in der Version 5.21 in normale Verträge. Dies kann gewünscht sein, wenn durch die Migration von 5.10 auf 5.20 alle Verträge in Rahmenverträge gewandelt wurden und man dies unter 5.21 nun nicht mehr wünscht.
ACHTUNG! Das Script wandelt ALLE Rahmenverträge um.

ACHTUNG! Die Store- und die Archivdatenbank müssen vor Ausführung des Scriptes zusammen mit den Transactionlogs komplett gesichert werden. Auf die Ausführung und die Änderung der Daten in der Datenbank kann ich keine Gewähr nehmen. Die Verwendung dieses Scriptes geschieht auf eigene Gefahr.

Code: Select all

INSERT INTO SPSContractType (ID) 
SELECT ID FROM SPSContractTypeMaster mc
WHERE NOT EXISTS(SELECT '' FROM SPSContractType c WHERE c.ID = mc.ID)

UPDATE CTMContractClassPurchase SET
      UsedInTypeSPSContractType = UsedInTypeSPSContractTypeMaster,
      UsedInTypeSPSContractTypeMaster = NULL
WHERE UsedInTypeSPSContractTypeMaster IS NOT NULL

UPDATE SPSContractClassBase SET
      UsedInTypeSPSContractType = UsedInTypeSPSContractTypeMaster,
      UsedInTypeSPSContractTypeMaster = NULL
WHERE UsedInTypeSPSContractTypeMaster IS NOT NULL

DELETE SPSContractClassMilestone WHERE UsedInTypeSPSContractTypeMaster IS NOT NULL

UPDATE CTMContractClassObligation SET
      UsedInTypeSPSContractType = UsedInTypeSPSContractTypeMaster,
      UsedInTypeSPSContractTypeMaster = NULL
WHERE UsedInTypeSPSContractTypeMaster IS NOT NULL

UPDATE CTMContractClassExternalContact SET
      UsedInTypeSPSContractType = UsedInTypeSPSContractTypeMaster,
      UsedInTypeSPSContractTypeMaster = NULL
WHERE UsedInTypeSPSContractTypeMaster IS NOT NULL

UPDATE CTMContractClassInternalContact SET
      UsedInTypeSPSContractType = UsedInTypeSPSContractTypeMaster,
      UsedInTypeSPSContractTypeMaster = NULL
WHERE UsedInTypeSPSContractTypeMaster IS NOT NULL

UPDATE CTMDocumentClassBase SET
      UsedInTypeSPSContractType = UsedInTypeSPSContractTypeMaster,
      UsedInTypeSPSContractTypeMaster = NULL
WHERE UsedInTypeSPSContractTypeMaster IS NOT NULL

UPDATE SPSActivityClassUnitOfWork SET
      UsedInTypeSPSContractType = UsedInTypeSPSContractTypeMaster,
      UsedInTypeSPSContractTypeMaster = NULL
WHERE UsedInTypeSPSContractTypeMaster IS NOT NULL

UPDATE SPSCommonClassBase SET
      TypeID = 'e98d6626-c88d-45f3-af96-b02e91633ea4'      
WHERE TypeID = 'da60b122-4c6d-4e04-b291-b74d122f3897'

UPDATE f 
SET Folder = Replace(Folder, 'da60b122-4c6d-4e04-b291-b74d122f3897', 'e98d6626-c88d-45f3-af96-b02e91633ea4')
FROM Files f
WHERE f.Folder like '%,da60b122-4c6d-4e04-b291-b74d122f3897%'
GO