Upgrading from Gen 8.0 or 8.5 to Gen 8.6 and the Encyclopedia has already been upgraded to Gen 8.6.
During the transition process from 8.0/8.5 to 8.6, it needs to be known at what release existing 8.0/8.5 models are at in the 8.6 Encyclopedia so that for example the correct generator version is used for a specific model.
Considering the schema level '9.2.A6' does not change across 8.0 -> 8.5 -> 8.6 models how can different model versions be distinguished e.g.
How can the Encyclopedia be queried to determine what Gen release a specific model is at?
Release : 8.0, 8.5, 8.6
Component : Gen Client Server Encyclopedia
Component : Gen Host Encyclopedia
Component : Gen Workstation Toolset
1. Gen 8.x models all use the same metamodel schema '9.2.A6' and therefore can be used by all 8.x toolsets.
2. Additional system objects are populated in Gen 8.5 & 8.6 to support new features:
NOTE: After the new objects are added to a model it could still be checked out to an older 8.x toolset which will just ignore the new objects.
3. In Gen 8.6 Incremental Release 1 (IR1), in support of the new feature for system defined function TIMESTAMPDATETIME, a FUNCDEF object TIMESTAMPDATETIME and an HLENTDS object TIMESTAMPDATETIME are created along with other supporting objects. NOTE: Those IR1 changes are also contained in the Gen 8.6 Complete PTF release (WKS86200/SO09618).
4. For an Encyclopedia holding both 8.0/8.5 and 8.6 models, where the 8.6 models are upgraded with a Gen software level at or above 8.6 IR1, the presence of a TIMESTAMPDATETIME provides a definitive mechanism for model version identification. Thus it would be good practice to first reconvert any 8.0/8.5 model that needs to be used in a 8.6 toolset or generated for 8.6 and also incorporate Gen versioning in the model name. In that way, it will definitely be known what models have been moved to 8.6 and anything else will still be at 8.0/8.5 (will not have the new objects).
5. In support of the above the following SQL checks if a FUNCDEF object exists with NAME = "TIMESTAMPDATETIME" and will therefore list which models are at 8.6 IR1 or later:
a. Host Encyclopedia SQL:
SELECT MODEL_NAME FROM DMDL WHERE
MODEL_RELEASE = '9.2.A6' AND
EXISTS (SELECT O1.OBJ_ID FROM DOBJ O1, DPRP P1 WHERE O1.OBJ_MODEL_ID = MODEL_ID AND O1.OBJ_TYPE_CODE = 24 AND O1.OBJ_ID=P1.PROP_OBJ_ID AND
P1.PROP_TYPE_CODE = 224 AND
P1.PROP_CHAR_VAL = 'TIMESTAMPDATETIME');
b. CSE SQL:
SELECT MODEL_NAME FROM DMDL WHERE
MODEL_RELEASE='9.2.A6' AND
EXISTS (SELECT O1.OBJ_ID FROM DOBJ O1 WHERE O1.OBJ_MODEL_ID = MODEL_ID AND O1.OBJ_TYPE_CODE = 24 AND O1.OBJ_NAME = 'TIMESTAMPDATETIME');
If upgrading from Gen 8.5 to Gen 8.6 IR1 or to Gen 8.6 Complete the same information can be used.
Gen 8.6 Solutions & Patches
Gen™ 8.6 Techdocs