path Command

A path is a kind of relationship. It is a way for one object to point to another object using a virtual path. Elements in the path hold the physicalID and localIDs of items in the path. Paths can be attached to BOs or relationships (dynamic or non-dynamic) exclusively. Their path elements can point to anything that has a physicalid+logicalid+majorid+updatestamp, that is, any BO or rel. This is the "from" of a pathtype. The BO or relationship associated with the "from" of a pathtype must exist. If the BO or relationship is deleted, so are its associated paths.

A path is a mutable object. Once created, you can modify its attribute values, as well as the ProxyStamp values and its path elements. However, you cannot mutate the length of the path recorded. That is, you cannot shorten a path nor lengthen it.

The export BO and import BO commands do not export or import path types or instances. Deleting or modifying a business object or relationship pointed to by a path has no effect on the path. You can get a path from a business object or relationship even if the pointed-to objects do not exist or are not visible to the current user.

There is no inheritance of paths, and you cannot add interfaces to paths. Paths up to a depth of 100 are supported.

By default, path details are stored in the object vault. If you define an optional path vault, the details are stored there and associated to the relevant objects in the object vault.

This page discusses:

User Level

System Administrator

Add Path

Use the Add Path command to add a path to an object.

Syntax

add path PATHTYPE owner OBJ_NAME [order N] ADD_ITEM {ADD_ITEM};
  • OBJ_NAME is:
    businessobject ID | businessobject TYPE NAME REV | connection ID
  • ADD_ITEM is:
    element [kind businessobject|connection] type TYPE_NAME physicalid ID 
    logicalid ID majorid ID proxystamp STAMP_VALUE isrelevant BOOLEAN_VALUE

    or

    element [kind businessobject|connection] type TYPE_NAME contentid UUID 
    branchuuid UUID proxystamp STAMP_VALUE isrelevant BOOLEAN_VALUE
    ATTRIBUTE_NAME VALUE
    interface INTERFACE_NAME
    service SERVICE_NAME

    Note: service SERVICE_NAME can be added only if allowservice is defined as true in the add pathtype command.

    TYPE_NAME is resolved to determine if it is a businesstype, relationshiptype or dynamic relationshiptype. The following cases are errors:

    • If the TYPE_NAME is not resolved.
    • If the TYPE_NAME resolves to both a businesstype and a relationshiptype.

You cannot add a path that is owned by or that points to a compositional relationship (as defined by the connection ID).

Modify Path

You need modify access to the owning business object or relationship to modify a path.

modify path PATH [MOD_ITEM {MOD_ITEM}];
  • MOD_ITEM is:
    element N 
    [kind businessobject|connection]
    [type TYPE_NAME] 
    [physicalid ID] 
    [majorid ID]
    [logicalid ID]
    [proxystamp STAMP_VALUE] |
     ATTRIBUTE_NAME VALUE

ATTRIBUTE_NAME and VALUE must be last clause.

Query Path

The query path command returns details of the path.

query path [type PATTERN] [vault PATTERN] [startswithany SUBPATH |
 startswithsequence SUBPATH | starting with SUBPATH | startswithreltype RELATIONSHIP |
 startswithbustype TYPE | endswithany SUBPATH | endswithsequence SUBPATH |
 ending with SUBPATH | endswithreltype RELATIONSHIP | endswithbustype TYPE |
 containsany SUBPATH | containssequence SUBPATH | containing SUBPATH] [where EXPR]
 [orderby FIELD_NAME] [limit N] [SELECT] [DUMP] [RECORDSEP] [tcl] [output FILENAME]
  • PATTERN is the name of the type or vault, including wildcards, to search for paths.
  • SUBPATH is the ID of any subpath of found paths
  • RELATIONSHIP is the name of the relationship used in the path
  • TYPE is the name of the type used in the path

For information about the whereclauses and all following clauses, see List Admintype Command.

Delete Path

The Delete Path command removes an existing path.

delete path PATH;
  • PATH is:
    OBJ_NAME pathtype PATHTYPE order N