edmiGetModelVersionId


 

EdmiError edmiGetModelVersionId(SdaiModel         modelId,
                                 SdaiString        modelVersionName,
                                 SdaiModelVersion *modelVersionId,
                                 SdaiVersion      *versionId);

Returns the unique modelVersionId and the version sequence number of a version of an edmModel. The version is identified by the model Id and the version name.

Arguments


TypeNameComment
SdaiModel

modelId

The modelId that uniquely identifies the edmModel in the EDMdatabase.

SdaiString

modelVersionName

The name of the model version to look for.

SdaiModelVersion

modelVersionId

Variable that will receive the modelVersionId that uniquely identifies the model version in the EDMdatabase.

SdaiVersion

versionId

Variable that will receive the model version number. This sequence number counts from one and increases by one for each new version created.

Return Value


Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_r_EDMInterface'.

Options


 

Example


 

EdmiError rstat;
 SdaiInteger nWrn, nErr;
 SdaiRepository repId;
 SdaiModel modelId;
 SdaiVersion version1Id, version2Id;
 SdaiModelVersion modelVersionId;
 SdaiInteger myInteger;
 SdaiReal myReal;
 SdaiInstance instId;
 SdaiAttr attrId;
 SdaiPrimitiveType type;
  
 /* Compile schema */
 rstat = edmiCompileFile("c:/data/MyFile.exp",
 "c:/tmp/MyFile.dia", 
 "MySchema", 0, &nWrn, &nErr); 
 /* Create Model */
 rstat = edmiGetRepository("MyRepository", &repId);
 modelId = edmiCreateModelBN(repId, "MyModel", "MySchema", 0);
 /* Populate Model */
 instId = edmiCreateInstanceAndPutAttrsBN(modelId, "MyEntity", 1,
 "REAL_ATTR", sdaiREAL, 3.14);  
 /* Create version 1 */
 rstat = edmiCreateModelVersion("MyRepository", "MyModel",
 "V1", &modelVersionId); 
 /* Change population */
 sdaiPutAttrBN(instId, "REAL_ATTR", sdaiINTEGER, 1);
 /* Create version 2 */
 rstat = edmiCreateModelVersion("MyRepository", "MyModel",
 NULL, &modelVersionId); 
 /* Get Id of version 1 */
 rstat = edmiGetModelVersionIdBN("MyRepository", "MyModel",
 "V1", &modelVersionId, &version1Id); 
 /* Type is sdaiREAL */
 rstat = edmiVersionGetAttrDatatypeBN(instId, version1Id,
 "REAL_ATTR", &type);
 /* Value is 3.14 */ 
 if (type != sdaiREAL) goto error;
 rstat = edmiVersionGetAttrBN(instId, version1Id, "REAL_ATTR",
 type, &myReal); 
 /* Get Id of version 2 */
 attrId = sdaiGetAttrDefinitionBN("MySchema", "MyEntity",
 "REAL_ATTR");
 rstat = edmiGetModelVersionId(modelId, "version2",
 &modelVersionId, &version2Id); 
 /* Type is now sdaiINTEGER */
 rstat = edmiVersionGetAttrDatatype(instId, version2Id,
 attrId, &type);
 /* Value is 1 */
 if (type != sdaiINTEGER) goto error;
 rstat = edmiVersionGetAttr(instId, version2Id, attrId,
 type, &myInteger);
 /* Roll back to version 1 */
 rstat = edmiRollbackModel(modelId, version1Id,
 KEEP_ALL_MODEL_VERSIONS); 
 /* Delete version 2 */
 edmiDeleteModelVersion(modelId, version2Id);
 error:
 . . .

 

See also

Filter by label

There are no items with the selected labels at this time.

Â