RetrieveDocument - Integration - Update 44 - Help - Hexagon

SmartPlant Integration COM Help

Language
English
Product
Integration
Search by Category
Help
SmartPlant Foundation / SDx Version
10
Smart P&ID Version
9 (2019)
Smart Engineering Manager Version
10 (2019)

Description

When a user selects one or more documents to retrieve, for each document, EFServiceManager will call EFClient to get XML files depending on document type. Then it will call RetrieveDocument for the tool to import the loaded containers (document data, Metadata, tombstones).

Tools will implement this method to loop through the data objects and import them into the design tool database. (For SPPID, this means to generate tasks in the ToDo list).

The data container has data objects. The metadata container has File objects. There is one File object for each view file associated with the document. The File object has an interface called IFile, which has a property called FilePath, which points to the absolute path of the file. Tools should copy the file from this path to their local path. Adding of File objects happens only if the tool supports retrieval of view files. A tool will communicate whether it can retrieve view files or not by returning TRUE when the SupportsFeature method is called with RetrieveViewFile as an argument. See SupportsFeature As Boolean for details.

The tombstones container has four types of instructions for tombstoned objects/relationships, unclaimed objects/relationships (projects only), tombstoned properties, and UID updated objects/relationships.

DeleteInstruction (tombstoned objects and relationships)

Example of DeleteInstruction for an object:

<DeleteInstruction>

<IObject UID="{C69AF85D-DBF8-4C48-A542-E299336A510B}"

Name="Delete_EBB7F9A60CF54168A5E4A00B76C2AD0B" />

<IRefObject RefClass="PIDInstrument"

RefUID="EBB7F9A60CF54168A5E4A00B76C2AD0B" RefName="" />

<IDeleteInstruction />

<IInstruction />

</DeleteInstruction>

Example of DeleteInstruction for a relationship:

<DeleteInstruction>

<IObject UID="{8BCA6E40-B2C1-41A4-B283-17FEE4F4DD94}"

Name="Delete_PBS-EBB7F9A60CF54168A5E4A00B76C2AD0B-N3-FLZBZBMYHIXW-TP2EUSDY" />

<IRefObject RefClass="Rel"

RefUID="PBS-EBB7F9A60CF54168A5E4A00B76C2AD0B-N3-FLZBZBMYHIXW-TP2EUSDY" RefName="" />

<IRefRel RefDefUID="PBSItemCollection" RefUID1="EBB7F9A60CF54168A5E4A00B76C2AD0B"

RefUID2="N3-FLZBZBMYHIXW-TP2EUSDY" />

<IDeleteInstruction />

<IInstruction />

</DeleteInstruction>

UnclaimInstruction (unclaimed objects/relationships in projects)

Example of UnclaimInstruction for an object:

<UnclaimInstruction>

  <IObject UID="{9F396FA9-FC45-4A48-B659-6172548F4F95}" Name="Unclaim_1" />

  <IRefObject RefClass="PIDSignalPort" RefUID="AAGCMOD137.1" RefName="1" />

  <IInstruction />

  <IUnclaimInstruction />

</UnclaimInstruction>

Example of UnclaimInstrution for a relationship:

<UnclaimInstruction>

<IObject UID="{B153625C-ABDD-47E1-9F04-32A8BAC5F443}"

Name="Unclaim_AAGCMOD137N3-FLXFOYMLMZEA-CPBS5LX9" />

<IRefObject RefClass="Rel" RefUID="AAGCMOD137N3-FLXFOYMLMZEA-CPBS5LX9" RefName="" />

<IInstruction />

<IUnclaimInstruction />

<IRefRel RefUID1="AAGCMOD137" RefUID2="N3-FLXFOYMLMZEA-CPBS5LX9"

RefDefUID="PBSItemCollection" />

</UnclaimInstruction>

UpdateInstruction (tombstoned properties)

UpdateInstruction is used for tombstoned properties. Tombstoned properties are properties that were previously published but do not exist in the current publish.

If an object has any tombstoned properties, then an UpdateInstruction instance will be created for that object and will identify all of the properties for that object that have been tombstoned. The PropValues property on the IPropValues interface will identify the interface definition and property definition (delimited by \%) for each of the tombstoned properties.

Example of UpdateInstruction:

<UpdateInstruction>

<IObject UID="{29BECC40-202E-4259-88C4-75CFE62CCC9F}"

Name="Update_EQDExchangerAirSide"/>

<IRefObject RefClass="ClassDef" RefUID="EQDExchangerAirSide"

RefName="EQDExchangerAirSide"/>

<IPropValues PropValues="ISchemaObj\%DisplayName\%"/>

<IUpdateInstruction/>

<IInstruction/>

</UpdateInstruction>

UpdateUIDInstruction

If the identity of an object has changed in the publishing tool, an UpdateUIDInstruction is generated with old and new UIDs of the object.

Arguments

Name

Data type

Input/output

Description

oDocumentIObj

IObject

Input

IObject interface on the document object.

oDocContIContainer

IContainer

Input

Document container.

oDocTombstonesIContainer

IContainer

Input

Tombstones container with tombstoned objects, unclaimed objects (projects only), UpdateUIDInstructions and UpdateInstructions

oDocMetadataIContainer

IContainer

Input

Metadata container

oMapSchContIContainer

IContainer

Input

Optional. Map schema container. This argument will be passed for only the tools that support mapping schema.

Comments

If the method fails, the tool will raise an error and set Err.Number and Err.Description appropriately.