Quick find, query, and edge filtering - SmartPlant Foundation - Help

SmartPlant Foundation Help

PPMProductFamily
Asset Information Management
PPMProduct
SmartPlant Foundation
PPMCategory
Help
SPFVersion_custom
2019 (10.0)
Version_Integration
(none)
Version_SPM_custom
2019 (10.0)
Version_SPPID
8.0.0
Version_SDAConnectorforTruView
(none)
Version_Fusion
(none)
Version_MTR
(none)
Version_SPO
(none)
Version_SPR
13.x(2018)
Version_TruView
(none)
Version_SDV
(none)

Quick find, query, and edge filtering are all controlled using the same property comparison mechanism. This property comparison is

  • Configured as an argument on the Quick Find and Query methods.

  • Configured as a property on the Edge Definition.

Simple properties on an object are in the form of InterfaceDefUID~PropertyDefUID~=~Enum value.

  • ISPFDocumentRevision~SPFRevState~=~e1CURRENT

This provides support for !=.

  • ISPFDocumentRevision~SPFRevState~!=~e1SUPERSEDED

Properties on related objects are in the form +/-RelDef.

  • +SPFFileComposition~ISPFDocumentVersion~SPFIsDocVersionSuperseded~=~False

Environment variables can be used:

  • Owner is current username: +SPFItemOwner~IObject~Name~=~ENV.Username

  • Transmittal is valid for user (testing the related Company): +SPFCToInternalOrg~IObject~Name~=~ENV.USERORGANIZATIONNAME

Multiple criteria can be specified that use AND ~ delimited.

  • ISPFDocumentRevision~SPFRevState~=~e1WORKING~+SPFRevisionVersions~ISPFDocumentVersion~SPFIsDocVersionSuperseded~=~False

Alternate values can be tested for one property.

  • ISPFDocumentRevision~SPFRevState~=~e1CURRENT|e1WORKING

Edges are supported using the following format.

  • +EDG_edgename~interfacename~propertyname

Property criteria also supports 1:M relationship testing.

  • +EDG_ItemContractUser~ISPFLoginUser~SPFLoginName~=~ENV.UserName

  • A preceding + or - is used for setting the relationship direction.

  • When criteria only uses a = comparison, the string on the left has to equal the string on the right. However, when comparing relationships to objects, the = is smart, and does an ANY comparison. For example, the edge definition can expand from the contract to multiple users, any of which can match the current user.

  • The wild card * is supported for use in a general wild card string, and a _ is supported in a string for single character matching. For example, IObject~Name~=~A_*|B_* works if you want to filter on values starting with an A or B, which are at least 2 characters long, and the _ ensures that the second character is present.