CONTENTS Title Page Copyright Page Preface 1 Introduction 1.1 Application Programming Interface 1.2 Method Refinement 1.3 Data Model Editor Part I Application Programming Interface 2 API Overview 2.1 Purpose of the API 2.2 Overview of the API 2.2.1 Abstract Type Declarations 2.2.2 Object Handles and Object IDs 2.2.3 Error Handling 2.2.4 Transaction Semantics 2.2.5 API Conventions 2.3 Client Development Kit 2.3.1 Writing an OpenDATA Manager Client for Microsoft Windows 2.3.2 Writing an OpenDATA Manager Client for OpenVMS VAX 2.3.3 Writing an OpenDATA Manager Client for DEC OSF/1 AXP 3 API Reference 3.1 Data Dictionary Routines 3.1.1 Variant Model Routines ODM_GetVarModels ODM_GetVarModelByName ODM_GetVarModelName ODM_GetTypeDefs ODM_GetTypeDefByName ODM_GetCurrentVarModel ODM_ChangeDefaultVarModel ODM_GetDefaultVarModel 3.1.2 Type Definition Routines ODM_GetTypeName ODM_GetTypeFlags ODM_GetTypeBitmapFilename ODM_GetTypeAttrDefs ODM_GetTypeAttrDefByName ODM_GetRelDefs ODM_GetRelDefByName ODM_GetRelDefByTargetType 3.1.3 Attribute Definition Routines ODM_GetAttrName ODM_GetAttrAlias ODM_GetAttrDatatype ODM_GetAttrAccessType ODM_GetAttrFlags ODM_GetAttrVals 3.1.4 Relationship Definition Routines ODM_GetRelName ODM_GetRelAlias ODM_GetRelStyle ODM_GetRelAccessType ODM_GetRelFlags ODM_GetTargetTypeDefs ODM_GetInverseRelDef ODM_GetRelTypeDef 3.1.5 Relation Type Definition Routines ODM_GetRelTypeName ODM_GetRelTypeAttrDefs ODM_GetRelTypeAttrDefByName 3.2 Error Stack Routines ODM_GetErrCount ODM_GetErrStat ODM_GetErrStatMsg 3.3 List Routines 3.3.1 ODMList Routines ODM_List_New ODM_List_AddItem ODM_List_First ODM_List_Next ODM_List_Current ODM_List_GetDatatype ODM_List_Count 3.3.2 ODMAttrlist Routines ODM_Attrlist_New ODM_Attrlist_AddItem ODM_Attrlist_First ODM_Attrlist_Next ODM_Attrlist_Current ODM_Attrlist_Count 3.3.3 ODMRellist Routines ODM_Rellist_New ODM_Rellist_AddItem ODM_Rellist_First ODM_Rellist_Next ODM_Rellist_Current ODM_Rellist_Count 3.4 Object Set Routines ODM_ObjSet_First ODM_ObjSet_Next ODM_ObjSet_Current ODM_ObjSet_Count 3.5 Object Handle Routines ODM_ObjHToObjID ODM_ObjIDToObjH ODM_ObjH_GetType ODM_ObjH_GetVault ODM_ObjH_Copy ODM_ObjH_Equal ODM_ObjH_Free 3.6 Vault Routines ODM_Login ODM_Logout ODM_GetUserHndl ODM_SetQueryLimit ODM_SetRelatedObjLimit 3.7 Persistent Object Routines 3.7.1 Basic Routines ODM_Query ODM_CreateObj ODM_DeleteObj ODM_GetObjAttributes ODM_SetObjAttributes ODM_GetRelatedObjects ODM_RelateObjects ODM_UnrelateObjects ODM_ReorderRelatedObjects ODM_FetchContents 3.7.2 Versioning Routines ODM_ReserveObj ODM_ReplaceObj ODM_UnReserveObj Part II Method Refinement 4 Writing a Method Refinement 4.1 DEC ACA Services Hierarchies 4.2 Starting Method Refinement 4.3 Refining Fetch Using a Script File 4.4 Refining Create Using C Code 4.5 Code for Refining Fetch 4.5.1 odm_mr_s.crl 4.5.2 system.col 4.5.3 odm_mr_s.com 4.6 Code for Refining Create 4.6.1 odm_mr_c.crl 4.6.2 system.col 4.6.3 odm_mr_server.com 4.6.4 odm_mr_server.c 4.6.5 odm_mr_dispatch.c 4.6.6 odm_mr_methods.c 4.6.7 odm_util.h 4.6.8 odm_util.c 4.6.9 odm_mr_server.opt A Calling API Routines from Visual Basic B API Routines to Be Replaced in Future Versions B.1 Vault Routines ODM_Connect ODM_Disconnect ODM_GetLoginId B.2 Versioning Routines ODM_CheckpointObj B.3 Archive/Restore Routines ODM_Archive ODM_Restore B.4 Review/Release Routines ODM_StartReview ODM_ModifyReview ODM_SuspendReview ODM_ResumeReview ODM_ReviewVote ODM_ShowReview ODM_ShowConfigReview B.5 Notification Routines ODM_SendMessage ODM_PurgeFolder C Method Refinement Restrictions D Problems and Assistance D.1 Error Log File for the Client System D.2 Reporting Problems