IMetabaseUpdateObjectApplyState.State

Syntax

State: MetabaseUpdateObjectApplyState;

Description

The State property determines a state of readiness of an object for update.

Example

Executing the example requires the Update.pef update file in the root of the disc C.

Sub Main;

Var

MB: IMetabase;

MU: IMetabaseUpdate;

Root: IMetabaseUpdateFolderNode;

Node: IMetabaseUpdateNode;

i: Integer;

Begin

MB := MetabaseClass.Active;

MU := MB.CreateUpdate;

MU.LoadFromFile("c:\Update.pef");

MU.Prepare;

Root := MU.RootFolder;

For i := 0 To Root.Count - 1 Do

Node := Root.Item(i);

If Node.NodeType = MetabaseUpdateNodeType.Object Then

ObjectNode := Node As IMetabaseUpdateObjectNode;

State := ObjectNode.ApplyState;

Select Case State.State

Case MetabaseUpdateObjectApplyState.CreateNew:

Debug.WriteLine("Object of update: " + ObjectNode.ObjectId + "; State: Create new");

Case MetabaseUpdateObjectApplyState.EditExisting:

Debug.WriteLine("Update object: " + ObjectNode.ObjectId + "; State: Update existent.");

Case MetabaseUpdateObjectApplyState.Conflict Or MetabaseUpdateObjectApplyState.ConflictKey:

Debug.WriteLine("Update object: " + ObjectNode.ObjectId + "; State: Conflict. An object exists with the similar key.");

Case MetabaseUpdateObjectApplyState.Conflict Or MetabaseUpdateObjectApplyState.ConflictId:

Debug.WriteLine("Update object: " + ObjectNode.ObjectId + "; State: Conflict. An object exists with the similar identifier.");

Case MetabaseUpdateObjectApplyState.Conflict Or MetabaseUpdateObjectApplyState.ConflictClassId:

Debug.WriteLine("Update object: " + ObjectNode.ObjectId + "; State: Conflict. Existing object has a different class.");

Case MetabaseUpdateObjectApplyState.Conflict Or MetabaseUpdateObjectApplyState.ConflictObjectNotFound:

Debug.WriteLine("Update object: " + ObjectNode.ObjectId + "; State: Conflict. The repository object, for which the Update Only update type is assigned, is not found.");

Case MetabaseUpdateObjectApplyState.Conflict Or MetabaseUpdateObjectApplyState.ConflictMissingMetadata:

Debug.WriteLine("Update object: " + ObjectNode.ObjectId + "; State: Conflict. The update does not have metadata for creating an object.");

End Select;

End If;

End For;

End Sub Main;

After executing the example the Update.pef update file is downloaded and checked. For objects contained in the update root folder and corresponding repository objects the state of readiness for update is displayed in the development environment console.

See also:

IMetabaseUpdateObjectApplyState