13.07.2015 Views

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

Caché Upgrade Checklists - InterSystems Documentation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Caché</strong> 5.1 <strong>Upgrade</strong> Checklistthan the id counter location. In this case, an entry is placed in the errorlog array, subscripted by extent name. The id checkexpression is also included in errorlog so that the user can repair the problem.An application should invoke this utility with:Set sc = $$CheckIDCounters^%apiOBJ(.errarray)After the utility returns, sc will be set to a standard status message. If errors were found, they will be stored in the multidimensionalarray, errarray.%ExistsId() Is Now Generated For Default StorageIn <strong>Caché</strong> 5.1, this generated method will now validate the id value passed. If any components of the id are null, %ExistsId()will return zero (the object does not exist). If all components are not null, then the object reference will be checked forexistence.Note:This method is meant to be called in the class that is an extension of %Library.Persistent. Passing in an ID valuethat is not constructed by the class of which it is an instance not recommended as it breaks encapsulation.11.2.11.2 %CacheSQLStorage ChangesValid Row References Required For $PIECE Access TypesApplications using %CacheSQLStorage that employ two or more subscript levels of Access Type, $Piece, and have specifiedData Access expressions for those subscript levels, must supply a valid Row Reference in the map definition. This versionof <strong>Caché</strong> will no longer automatically generate one under these circumstances.New Dynamic Value Substitution<strong>Caché</strong> now supports the use of• {%%CLASSNAME}: expands to the name of the class without quotes, for example,Do ##class({%%CLASSNAME}).MyMethod()• {%%CLASSNAMEQ}: expands to the name of the class within quotes,Set ThisClass = {%%CLASSNAMEQ}• {%%TABLENAME}: expands to the name of the table within quotes,Set MyTable = {%%TABLENAME}in the following locations within a %CacheSQLStorage map definition:• Map Subscript– Data Access expression– Invalid Conditions– Next Code– Access Variable ExpressionsMap Data– Retrieval Code270 <strong>Caché</strong> <strong>Upgrade</strong> <strong>Checklists</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!