An RDF Graph, used to store RDF Resources Element (RDFGRAPH)

Primary Element
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource
An RDF DataSet, used to store RDF Graphs Element (RDFDATASET)
An RDF Namespace Definition; used to store a Namespace and its Prefix Element (RDFNSDEFINITION)
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Resource Elements Element (RESGROUP)
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource

An RDF DataSet, used to store RDF Graphs Element (RDFDATASET)
An RDF Namespace Definition; used to store a Namespace and its Prefix Element (RDFNSDEFINITION)
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Resource Elements Element (RESGROUP)
Name
RDFIRI
An RDF DataSet, used to store RDF Graphs Element (RDFDATASET)
An RDF Namespace Definition; used to store a Namespace and its Prefix Element (RDFNSDEFINITION)
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Resource Elements Element (RESGROUP)


An RDF Namespace Definition; used to store a Namespace and its Prefix Element (RDFNSDEFINITION)

Primary Element
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource
RDFPRE
A prefix (short-hand) for an RDF namespace
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource
RDFPRE
A prefix (short-hand) for an RDF namespace
An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
None
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource
RDFPRE
A prefix (short-hand) for an RDF namespace

An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
Name
RDFIRI
RDFPRE
An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
Legal Members


Primary Element
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource
An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
Group Element for RDF Resource Elements Element (RESGROUP)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with a Boolean Object Element (STBOOLEAN)
An RDF Statement with a Double Object Element (STDOUBLE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Integer Object Element (STINTEGER)
An RDF Statement with a Language Qualified String Object Element (STLSTRING)
An RDF Statement with a Reference Object Element (STREFERENCE)
An RDF Statement with a String Object Element (STSTRING)
Name
Name of the element
RDFIRI
International Resource Identifier used to identify an RDF Resource

An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
Group Element for RDF Resource Elements Element (RESGROUP)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with a Boolean Object Element (STBOOLEAN)
An RDF Statement with a Double Object Element (STDOUBLE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Integer Object Element (STINTEGER)
An RDF Statement with a Language Qualified String Object Element (STLSTRING)
An RDF Statement with a Reference Object Element (STREFERENCE)
An RDF Statement with a String Object Element (STSTRING)
Name
RDFIRI
An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
Group Element for RDF Resource Elements Element (RESGROUP)
Legal Members
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with a Boolean Object Element (STBOOLEAN)
An RDF Statement with a Double Object Element (STDOUBLE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Integer Object Element (STINTEGER)
An RDF Statement with a Language Qualified String Object Element (STLSTRING)
An RDF Statement with a Reference Object Element (STREFERENCE)
An RDF Statement with a String Object Element (STSTRING)


Top Level RDF World, used to store RDF DataSets Element (RDFWLD)

Primary Element
Name
Name of the element
Name
Name of the element
World Element (WORLD)
An RDF DataSet, used to store RDF Graphs Element (RDFDATASET)
Name
Name of the element

World Element (WORLD)
An RDF DataSet, used to store RDF Graphs Element (RDFDATASET)
Name
World Element (WORLD)
An RDF DataSet, used to store RDF Graphs Element (RDFDATASET)


Primary Element
Name
Name of the element
Name
Name of the element
An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
Group Element for RDF Resource Elements Element (RESGROUP)
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Resource Elements Element (RESGROUP)
Name
Name of the element

An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
Group Element for RDF Resource Elements Element (RESGROUP)
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Resource Elements Element (RESGROUP)
Name
An RDF Graph, used to store RDF Resources Element (RDFGRAPH)
Group Element for RDF Resource Elements Element (RESGROUP)
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Resource Elements Element (RESGROUP)


An RDF Statement with an Object which is not of an Inbuilt Type Element (STBASE)

Primary Element
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string
TYPREF
Reference to a datatype element for an RDF Statement Object
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string
TYPREF
Reference to a datatype element for an RDF Statement Object
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
None
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string
TYPREF
Reference to a datatype element for an RDF Statement Object

An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Name
PRDREF
RDFOBJ
TYPREF
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Legal Members


An RDF Statement with a Boolean Object Element (STBOOLEAN)

Primary Element
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJBOOLEAN
An RDF Statement Object representing a boolean
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJBOOLEAN
An RDF Statement Object representing a boolean
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
None
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJBOOLEAN
An RDF Statement Object representing a boolean

An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Name
PRDREF
OBJBOOLEAN
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Legal Members


An RDF Statement with a Double Object Element (STDOUBLE)

Primary Element
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJDOUBLE
An RDF Statement Object representing a double
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJDOUBLE
An RDF Statement Object representing a double
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
None
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJDOUBLE
An RDF Statement Object representing a double

An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Name
PRDREF
OBJDOUBLE
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Legal Members


Primary Element
Name
Name of the element
Name
Name of the element
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Object which is not of an Inbuilt Type Element (STBASE)
An RDF Statement with a Boolean Object Element (STBOOLEAN)
An RDF Statement with a Double Object Element (STDOUBLE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Integer Object Element (STINTEGER)
An RDF Statement with a Language Qualified String Object Element (STLSTRING)
An RDF Statement with a Reference Object Element (STREFERENCE)
An RDF Statement with a String Object Element (STSTRING)
Name
Name of the element

An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Object which is not of an Inbuilt Type Element (STBASE)
An RDF Statement with a Boolean Object Element (STBOOLEAN)
An RDF Statement with a Double Object Element (STDOUBLE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Integer Object Element (STINTEGER)
An RDF Statement with a Language Qualified String Object Element (STLSTRING)
An RDF Statement with a Reference Object Element (STREFERENCE)
An RDF Statement with a String Object Element (STSTRING)
Name
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Object which is not of an Inbuilt Type Element (STBASE)
An RDF Statement with a Boolean Object Element (STBOOLEAN)
An RDF Statement with a Double Object Element (STDOUBLE)
Group Element for RDF Statement Elements Element (STGROUP)
An RDF Statement with an Integer Object Element (STINTEGER)
An RDF Statement with a Language Qualified String Object Element (STLSTRING)
An RDF Statement with a Reference Object Element (STREFERENCE)
An RDF Statement with a String Object Element (STSTRING)


An RDF Statement with an Integer Object Element (STINTEGER)

Primary Element
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJINTEGER
An RDF Statement Object representing an integer
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJINTEGER
An RDF Statement Object representing an integer
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
None
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJINTEGER
An RDF Statement Object representing an integer

An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Name
PRDREF
OBJINTEGER
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Legal Members


An RDF Statement with a Language Qualified String Object Element (STLSTRING)

Primary Element
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string
LANG
Language tag as described in BCP 47 - Tags for Identifying Languages(http://tools.ietf.org/html/bcp47)
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string
LANG
Language tag as described in BCP 47 - Tags for Identifying Languages(http://tools.ietf.org/html/bcp47)
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
None
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string
LANG
Language tag as described in BCP 47 - Tags for Identifying Languages(http://tools.ietf.org/html/bcp47)

An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Name
PRDREF
RDFOBJ
LANG
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Legal Members


An RDF Statement with a Reference Object Element (STREFERENCE)

Primary Element
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJREF
Reference to an RDF Statement Object element
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJREF
Reference to an RDF Statement Object element
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
None
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
OBJREF
Reference to an RDF Statement Object element

An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Name
PRDREF
OBJREF
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Legal Members


An RDF Statement with a String Object Element (STSTRING)

Primary Element
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
None
Name
Name of the element
PRDREF
Reference to an RDF Statement Predicate element
RDFOBJ
An RDF statement object string

An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Name
PRDREF
RDFOBJ
An RDF Resource Element (RDFRESOURCE)
Group Element for RDF Statement Elements Element (STGROUP)
Legal Members


Administrative Element
Primary Element
Name
Name of the element
Name
Name of the element
None
Top Level RDF World, used to store RDF DataSets Element (RDFWLD)
Name
Name of the element

Top Level RDF World, used to store RDF DataSets Element (RDFWLD)
Name
Top Level RDF World, used to store RDF DataSets Element (RDFWLD)


The Data Model Reference manual contains details of all the elements which can be created in the Task database, their position in the database hierarchy and their attributes.


All data in the Task database is stored in elements in a strict hierarchy. Every element has a type and each type determines the attributes available on the element. Refer to Database Navigation and Query Syntax for further information on database concepts.

Database Navigation and Query Syntax


Status Link World Element (STLNKW) - Task

Administrative Element
Primary Element
Name
Name of the element
Description
Description of the element
StlPos
Status Element reference
Name
Name of the element
Description
Description of the element
StlPos
Status Element reference
World Element (WORLD)
None
Name
Name of the element
Description
Description of the element
StlPos
Status Element reference

World Element (WORLD)
Name
Description
StlPos
World Element (WORLD)


Task Flow Chart Connection Element (TAFCCO)

Steel Fabricator Task Element
Primary Element
Name
Name of the element
Description
Description of the element
Tskfce
Reference to the flow chart element
TaActive
Task Active
TaCoRo
Task Connection Route
Name
Name of the element
Description
Description of the element
Tskfce
Reference to the flow chart element
TaActive
Task Active
TaCoRo
Task Connection Route
Task Flow Chart Element Element (TAFCEL)
None
Name
Name of the element
Description
Description of the element
Tskfce
Reference to the flow chart element
TaActive
Task Active
TaCoRo
Task Connection Route

Task Flow Chart Element Element (TAFCEL)
Name
Description
Tskfce
TaActive
TaCoRo
Task Flow Chart Element Element (TAFCEL)


Task Flow Chart Element Element (TAFCEL)

Steel Fabricator Task Element
Primary Element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaskType
Task Type
Tskdef
Reference to the task definition
TaPos
Task Position
TaWidth
Task Width
TaHeight
Task Height
TaCol
Task Colour
TaTCol
Task Text Colour
TaFont
Task Font
TaActive
Task Active
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaskType
Task Type
Tskdef
Reference to the task definition
TaPos
Task Position
TaWidth
Task Width
TaHeight
Task Height
TaCol
Task Colour
TaTCol
Task Text Colour
TaFont
Task Font
TaActive
Task Active
Task Flow Chart Element (TAFLCH)
Task Flow Chart Connection Element (TAFCCO)
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaskType
Task Type
Tskdef
Reference to the task definition
TaPos
Task Position
TaWidth
Task Width
TaHeight
Task Height
TaCol
Task Colour
TaTCol
Task Text Colour
TaFont
Task Font
TaActive
Task Active

Task Flow Chart Element (TAFLCH)
Task Flow Chart Connection Element (TAFCCO)
Name
Taname
Description
TaskType
Tskdef
TaPos
TaWidth
TaHeight
TaCol
TaTCol
TaFont
TaActive
Task Flow Chart Element (TAFLCH)
Task Flow Chart Connection Element (TAFCCO)


Steel Fabricator Task Element
Primary Element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaActive
Task Active
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaActive
Task Active
World Element (WORLD)
Task Flow Chart Element Element (TAFCEL)
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaActive
Task Active

World Element (WORLD)
Task Flow Chart Element Element (TAFCEL)
Name
Taname
Description
TaActive
World Element (WORLD)
Task Flow Chart Element Element (TAFCEL)


Steel Fabricator Task Element
Primary Element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaskId
Task ID
TaskType
Task Type
TaLoSe
Task Logic Selection
TaActive
Task Active
TATYTR
Task Treated Type
TaTyIn
Task Input Type
TaTyOu
Task Output Type
TaFilter
Task Filter
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaskId
Task ID
TaskType
Task Type
TaLoSe
Task Logic Selection
TaActive
Task Active
TATYTR
Task Treated Type
TaTyIn
Task Input Type
TaTyOu
Task Output Type
TaFilter
Task Filter
World Element (WORLD)
None
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
TaskId
Task ID
TaskType
Task Type
TaLoSe
Task Logic Selection
TaActive
Task Active
TATYTR
Task Treated Type
TaTyIn
Task Input Type
TaTyOu
Task Output Type
TaFilter
Task Filter

World Element (WORLD)
Name
Taname
Description
TaskId
TaskType
TaLoSe
TaActive
TATYTR
TaTyIn
TaTyOu
TaFilter
World Element (WORLD)


Steel Fabricator Task Element
Primary Element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
World Element (WORLD)
Task Group Element (TTSKGP)
Workflow Group Element (TWFLGP)
Name
Name of the element
Taname
Task Item Name
Description
Description of the element

World Element (WORLD)
Task Group Element (TTSKGP)
Workflow Group Element (TWFLGP)
Name
Taname
Description
World Element (WORLD)
Task Group Element (TTSKGP)
Workflow Group Element (TWFLGP)


Steel Fabricator Task Element
Primary Element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Tskdef
Reference to the task definition
Wflelm
Reference to Workflow Element
Tsknam
Task Definiton Name
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Tskdef
Reference to the task definition
Wflelm
Reference to Workflow Element
Tsknam
Task Definiton Name
Task Group Element (TTSKGP)
None
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Tskdef
Reference to the task definition
Wflelm
Reference to Workflow Element
Tsknam
Task Definiton Name

Task Group Element (TTSKGP)
Name
Taname
Description
Tskdef
Wflelm
Tsknam
Task Group Element (TTSKGP)


Steel Fabricator Task Element
Primary Element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Task Namespace Element (TNASPE)
Task Element Element (TTSKEL)
Name
Name of the element
Taname
Task Item Name
Description
Description of the element

Task Namespace Element (TNASPE)
Task Element Element (TTSKEL)
Name
Taname
Description
Task Namespace Element (TNASPE)
Task Element Element (TTSKEL)


Workflow Element Element (TWFLEL) - Task

Steel Fabricator Task Element
Primary Element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Orgelm
Reference to Original Element
Tskref
Assigned tasks list
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Orgelm
Reference to Original Element
Tskref
Assigned tasks list
Workflow Group Element (TWFLGP)
None
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Orgelm
Reference to Original Element
Tskref
Assigned tasks list

Workflow Group Element (TWFLGP)
Name
Taname
Description
Orgelm
Tskref
Workflow Group Element (TWFLGP)


Steel Fabricator Task Element
Primary Element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Name
Name of the element
Taname
Task Item Name
Description
Description of the element
Task Namespace Element (TNASPE)
Workflow Element Element (TWFLEL)
Name
Name of the element
Taname
Task Item Name
Description
Description of the element

Task Namespace Element (TNASPE)
Workflow Element Element (TWFLEL)
Name
Taname
Description
Task Namespace Element (TNASPE)
Workflow Element Element (TWFLEL)


Administrative Element
Primary Element
Name
Name of the element
Name
Name of the element
None
Status Link World Element (STLNKW)
Task Flow Chart Element (TAFLCH)
Task Definition Element (TASDEF)
Task Namespace Element (TNASPE)
Name
Name of the element

Status Link World Element (STLNKW)
Task Flow Chart Element (TAFLCH)
Task Definition Element (TASDEF)
Task Namespace Element (TNASPE)
Name
Status Link World Element (STLNKW)
Task Flow Chart Element (TAFLCH)
Task Definition Element (TASDEF)
Task Namespace Element (TNASPE)


All data in the Analysis database is stored in elements in a strict hierarchy. Every element has a type and each type determines the attributes available on the element. Refer to Database Navigation and Query Syntax for further information on database concepts.

Database Navigation and Query Syntax


Generic Grouping Package Element (GENPKG)

Functional Model Element
Primary Element
Name
Name of the element
Description
Description of the element
GPKGRF
Generic Package Reference
Name
Name of the element
Description
Description of the element
GPKGRF
Generic Package Reference
World Element (WORLD)
Generic Package Folder Element (GPKGFL)
Generic Package Filter Element (GPKGFT)
Name
Name of the element
Description
Description of the element
GPKGRF
Generic Package Reference

World Element (WORLD)
Generic Package Folder Element (GPKGFL)
Generic Package Filter Element (GPKGFT)
Name
Description
GPKGRF
World Element (WORLD)
Generic Package Folder Element (GPKGFL)
Generic Package Filter Element (GPKGFT)


Functional Model Element
Primary Element
Name
Name of the element
Description
Description of the element
GPkgFilter
Generic Package Filter Expression
Name
Name of the element
Description
Description of the element
GPkgFilter
Generic Package Filter Expression
Generic Grouping Package Element (GENPKG)
None
Name
Name of the element
Description
Description of the element
GPkgFilter
Generic Package Filter Expression

Generic Grouping Package Element (GENPKG)
Name
Description
GPkgFilter
Generic Grouping Package Element (GENPKG)


Functional Model Element
Name
Name of the element
Description
Description of the element
GPkgFilter
Generic Package Filter Expression
Name
Name of the element
Description
Description of the element
GPkgFilter
Generic Package Filter Expression
Generic Grouping Package Element (GENPKG)
None
Name
Name of the element
Description
Description of the element
GPkgFilter
Generic Package Filter Expression

Generic Grouping Package Element (GENPKG)
Name
Description
GPkgFilter
Generic Grouping Package Element (GENPKG)


Administrative Element
Primary Element
Name
Name of the element
Name
Name of the element
None
Generic Grouping Package Element (GENPKG)
Name
Name of the element

Generic Grouping Package Element (GENPKG)
Name
Generic Grouping Package Element (GENPKG)


Status Control is the ability to control and report on the status of individual model objects as they progress through their life cycles. It can be applied to any model objects, for example tagged items, catalog components, drawings, and so on. It can be expressed in a variety of ways, for example Approved for Construction, 80% Complete, Clash Free, and so on.
The desired project configuration is created by administrators as Status Definitions in Lexicon. It is applied to model objects by End-Users in any of the constructor modules - AVEVA E3D Design Model, Design, Outfitting, Paragon, AVEVA Spooler, AVEVA Diagrams, AVEVA Hull Design, Draft and Marine Drafting - using the Status Controller.
Status Control can be tightly coupled with Data Access Control (DAC). For example, it can be configured so that only certain Users may approve an object. It can also be configured to prevent changes to an object once it has achieved a particular status.
A core concept for Status Control is that of a Controlled Object. A Controlled Object is defined as any model object that has one or more Status Values assigned to it. A Controlled Object may be controlled for multiple statuses to suit processes for design, manufacturing, fabrication, construction, and so on.


End-Users have a basic knowledge of AVEVA E3D Design/AVEVA Marine.
Administrators have a reasonable knowledge of Lexicon, and if required, can use the Access Control Assistant in Admin.
Developers have a reasonable knowledge of PML and/or C# (.NET).
End-Users have a basic knowledge of AVEVA E3D Design/AVEVA Marine.
End-Users have a basic knowledge of AVEVA E3D Design/AVEVA Marine.
Administrators have a reasonable knowledge of Lexicon, and if required, can use the Access Control Assistant in Admin.
Administrators have a reasonable knowledge of Lexicon, and if required, can use the Access Control Assistant in Admin.
Developers have a reasonable knowledge of PML and/or C# (.NET).
Developers have a reasonable knowledge of PML and/or C# (.NET).


Options are displayed on the Quick Access Tool bars of the Status Controller window for quick and convenient access.
Status Layout
Use the Status Layout tool bar to create a status layout, selecting a existing status layouts and save status layouts.

Status Layout drop-down list
Allows the User to select an existing status layout or create a new one.
Set Layout Scope
Displays the Set Layout Scope window, to define the scope selection.
Save Status Layout
Saves the current Status Layout to the default location.
Status Layout drop-down list
Allows the User to select an existing status layout or create a new one.
Set Layout Scope
Displays the Set Layout Scope window, to define the scope selection.
Save Status Layout
Saves the current Status Layout to the default location.
Focus Status
Use the Focus Status tool bar to promote/demote, edit, delete status values, view history and run reports.

Promote
Promote the currently selected (CE) to the next status value.
Demote
Demotes the CE to the previous status value.
Edit Status
Displays the Edit Status window, allows the status value to be promoted or demoted.
Delete
Deletes the CE model object.
Status History
Display the Status History window, populated with the session history for the CE.
Statistical Report
Display the Statistical Report window, populated with the data and charts for the focus status of the CE.
Select CE in grid
From the Model Explorer, highlights the CE in the grid.
Select CE Members in grid
From the Model Explorer, highlights the members of the CE in the grid.
Select Graphical Selection in grid
From the Graphical Selection, highlights the CE in the grid.
Promote
Promote the currently selected (CE) to the next status value.
Demote
Demotes the CE to the previous status value.
Edit Status
Displays the Edit Status window, allows the status value to be promoted or demoted.
Delete
Deletes the CE model object.
Status History
Display the Status History window, populated with the session history for the CE.
Statistical Report
Display the Statistical Report window, populated with the data and charts for the focus status of the CE.
Select CE in grid
From the Model Explorer, highlights the CE in the grid.
Select CE Members in grid
From the Model Explorer, highlights the members of the CE in the grid.
Select Graphical Selection in grid
From the Graphical Selection, highlights the CE in the grid.

Status Layout drop-down list
Allows the User to select an existing status layout or create a new one.
Set Layout Scope
Displays the Set Layout Scope window, to define the scope selection.
Save Status Layout
Saves the current Status Layout to the default location.
Promote
Promote the currently selected (CE) to the next status value.
Demote
Demotes the CE to the previous status value.
Edit Status
Displays the Edit Status window, allows the status value to be promoted or demoted.
Delete
Deletes the CE model object.
Status History
Display the Status History window, populated with the session history for the CE.
Statistical Report
Display the Statistical Report window, populated with the data and charts for the focus status of the CE.
Select CE in grid
From the Model Explorer, highlights the CE in the grid.
Select CE Members in grid
From the Model Explorer, highlights the members of the CE in the grid.
Select Graphical Selection in grid
From the Graphical Selection, highlights the CE in the grid.
Status Layout
Focus Status
Status Layout
Status Layout
Focus Status
Focus Status

Status Controller
Status Layout
Status Layout
Status Layout drop-down list
Set Layout Scope
Save Status Layout
Focus Status
Focus Status
Promote
Demote
Edit Status
Edit Status
Delete
Status History
Status History
Statistical Report
Statistical Report
Select CE in grid
Model Explorer
Select CE Members in grid
Model Explorer
Select Graphical Selection in grid
Graphical Selection


Consider the following simple workflow for a Design Status Definition which will be used as a worked example.

This example has a primary route from starting work through to releasing, with stages for checking and approving, and options at various stages to put back for rework.


The Status Control data model defines an Example Workflow as a Status Definition (STADEF) object owning a set of Status Value (STAVAL) objects. Individual model objects reference the Status Values via Status Link (STALNK) objects, as illustrated below.

Status Link objects reside in the same Database (DB) as the model objects they reference, so that they are globally distributed with those model objects. The Status Link holds references to the model object and to the Status Value, along with attribute data for comments and history. So status data is not stored directly on the model object and the User does not need Write access to the model object in order to set its status.
The Status Link objects are not visible to the End-User, but the status data is available on the model object as pseudo-attributes. Administrators need to know of their existence for purposes of Data Access Control (DAC).

Example Workflow
Example Workflow


Configuring Status Definitions in Lexicon

Lexicon uses a hierarchy of Status Configuration World, Status Definition Group, Status Definition, and Status Value data types to define an Example Workflow.

Example Workflow
Example Workflow


In the Lexicon Dictionary Explorer, right-click on the Dictionary World and select STAWLD: Status Configuration world, then enter a name in the Current Element Editor.

Dictionary Explorer
STAWLD: Status Configuration world
Current Element Editor


Right-click on the new STAWLD element in the Dictionary Explorer and select STADEF: Status Definition. The User can also create Status Definition Groups to contain Status Definitions). Enter a Name and Description in the Current Element Editor.

In the Current Element Editor, the User can define the Initial status for the selected Status Definition.

From the displayed drop-list in the Initial status field, select the initial status value for the Status Definition.
In the Current Element Editor, the User can define the Controllable element type for the selected Status Definition.

In the Controllable element type field, click the selection button. The Select element types window is displayed.

From the Available element types part of the Select element types window, select an element type, then click Add to list, and then OK. Other types can be applied if the definition is to apply to multiple types of elements.
Or select Show Type Selections to define the status definition to a subset of types.
Right-click the Status Definition in the Dictionary Explorer and select STAVAL: Status Value. Enter a Name, Description and Numerical value in the Current Element Editor.

Each Status Value can have Valid transitions, in the Valid transitions field, click the selection button.

The Select valid status transitions window is displayed populated with status values that are valid transitions.

Select the status values that will be valid transitions from this value and click OK.
Or click Cancel to discard any inputs and close the Select valid status transitions window.
Each status value can have a value to promote or demote to, the Promote/Demote fields, click the selection button. From the drop-down list, select the appropriate values.

Select the Status Definition again in the Explorer and note its Initial status.
If required, a status definition can have a reason value (for example: Release, Approve, and so on) associated with it, from the Current Element Editor, in the Reason values field, click the selection button.

From the drop-down list, select the appropriate reason, by default it is unset. The Status Definition is now complete and ready for use.
Right click the Status Definition in the Dictionary Explorer and select Graphical View to see a workflow diagram as shown below. Click on any status value in the graphical view to make it current in the Dictionary Explorer.

Save the work and exit Lexicon.
Note:
These will typically be similar but the description can include spaces and will be used in the Status Controller if it is set.
Note:
It will be set to the first status value by default, but the User can change this if required.
Note:
UDTGs can also be added as part of the controllable element types.
Note:
Numerical values are optional and may be used as a percentage or a simple value.
Note:
Status Value name uniqueness applies only within the owning Status Definition. So names can be repeated, for example Preliminary and Released in different definitions.
Note:
Promote and demote are optional and simply denote a main route through the workflow - any valid transitions not marked as promote or demote will still be available in the Status Controller.

STAWLD
Dictionary Explorer
STADEF: Status Definition
Name
Description
Current Element Editor
Note
:
Current Element Editor
Initial status
Note
:
Current Element Editor
Controllable element type
Controllable element type
Select element types
Available element types
Select element types
Add to list
OK
Note
:
Show Type Selections
Dictionary Explorer
STAVAL: Status Value
Name
Description
Numerical value
Current Element Editor
Note
:
Note
:
Preliminary
Released
Valid transitions
Valid transitions
Select valid status transitions
OK
Cancel
Select valid status transitions
Promote/Demote
Note
:
main
Status Definition
Initial status
Current Element Editor
Reason values
Dictionary Explorer
Graphical View
Dictionary Explorer.


The constructor modules such as AVEVA E3D Design Model, Paragon, Design and Outfitting, use the Status Controller to interact with Controlled Objects (any model object that has one or more status values assigned to it).
On the Manage tab, in the Status Control group, select Status Controller to display the Status Controller window.

The Status Controller window is initially blank unless status layouts have been previously created.

Manage
Status Control
Status Controller
Status Controller
Status Controller


If status layouts have been created, once selected from the Status Layout drop-down list, the window is renamed and columns are displayed to reflect this and populated with all the model objects which have the same element type specified for the selected status definition in Lexicon, for example, PIPE.

Throughout this guide, the Status Controller window will continue to be referred to as the Status Controller window.

Status Layout
Status Controller
Status Controller


To create a Status Layout, from the Status Controller window, select New Layout from the Status Layout drop-down list.
Or
Right-click on the header and select Status Layout from the displayed menu.

The Select Status Columns window is displayed, populated with all the status definitions and values created by the administrator in Lexicon.

Select the checkbox alongside the required status definition, for example, select the checkbox alongside Pipe Design Status then click OK.
The Set Layout Scope Elements window is then displayed to allow for scope selection. Refer to Set Layout Scope Elements for further information.

Click Add to display the Reference Browser. Use the Explorer and Search tabs to select the required owning elements, then click OK. Refer to Reference Browser for further information.

If cancelled, the Status Controller window is populated with those model objects that are or could be controlled by the selected status definitions.
A selected scope reduces the number of rows populated, which can mean a much faster display of the Status Controller window. If more than one Status Definition has been selected, one can be selected as the Focus Status in the drop-down list, and this will be used for Edit Status operations.

To modify the currently selected scope to display particular status data, select Set Layout Scope from the Status Layout quick access tool bar.
In the grid area, select Column Setup from the right-click menu.

The Column Setup window is displayed, populated with the pseudo-attribute expressions for the status columns already added.

The chosen column layout can be saved, in the grid area of the Status Controller window, right click one of the column titles and from the displayed menu, select Save Status Layout.

The Status Layout is automatically saved to the default location. To save the Status Layout with a different name, in the grid of the Default Status Profile window, right-click one of the column titles and from the displayed menu, select Save Status Layout As. The Save Layout As window is displayed.

This name then appears in the Status Layout drop-down list on the Status Controller window.
STVDSC( /DesignStatus ) of Deslnk numb 1
Note:
This can take several minutes, if unsure what to include, select an element such as a zone that has few offspring; the scope can always be changed later.
Note:
The User can show the status of a related object in its own column. For example, if the User is managing status of schematic equipment (SCEQUI), they can show the status of a linked EQUI using an expression like. Refer to Status Control Pseudo-Attributes for further information.
Note:
Setting up a column to display the Reason attribute - attributes expression is "STVREA (/StatusName)", for example STVREA (/CORStatus).
Note:
The other options available on the right-click menu from the column titles, including Settings and Export to Excel. Refer to Getting Started for further information.

Set Layout Scope Elements
Reference Browser
Status Control Pseudo-Attributes
Getting Started
Status Controller
New Layout
Status Layout
Status Layout
Select Status Columns
Pipe Design Status
OK
Set Layout Scope Elements
Set Layout Scope Elements
Add
Reference Browser
Explorer
Search
OK
Reference Browser
Status Controller
Status Controller
Note
:
Set Layout Scope
Status Layout
Column Setup
Column Setup
Note
:
Status Control Pseudo-Attributes
STVDSC( /DesignStatus ) of Deslnk numb 1
Note
:
STVREA (/StatusName)
STVREA (/CORStatus)
Status Controller
Save Status Layout
Default Status Profile
Save Status Layout As
Save Layout As
Status Layout
Status Controller
Note
:
Settings
Export to Excel
Getting Started


In the Status Controller window, select the rows for the model objects to be controlled, right-click in the selected area, and then from the displayed menu, select Edit Status.

The Edit Status window is displayed, to edit status values for the selected model objects. Initially the objects are Not Controlled, that is they have not been assigned a status value.

Select from the status value drop-down list, select for example, Assign to the initial value, the available status values reflects the valid transitions in the status definition set in Lexicon. Enter a relevant Comment (optional).
If the status definition has any states where a list of reasons values are defined then the Reason drop down list is displayed on the Edit Status window (this attribute is mandatory).

Use the status control to change the status on a selected element. If the transition is to a state with a list of reason values defined then the Reason drop down list is populated, if the state does not have values defined then the drop down list is not displayed.
Click Apply, then click OK.
Or
Click Cancel to discard any inputs and close the Status window.
If Promote and Demote transitions have been defined, these can be selected directly.

In the grid area, select the model object to be promoted or demoted, right-click and from the displayed menu, select for example Promote, a variant of the Edit Status window is displayed.
For multiple select elements on Promote and Demote, if all elements are at the same state then the behaviour is the same as for a single element; if some elements are at different states then the following error window is displayed.

Once the session is saved the reason is displayed in the Status History for an element. If an element has a status assignment and transition in the same session then any reason set on the transition is also displayed on the assignment.

If a status value has a reference to a list of values of the wrong type (for example integers) then the Reason drop down list will be empty and disabled.
If a status value has a reference to a list of values where the referenced UDLOV has been deleted or is in a Database (DB) that is not available then a window is displayed.

Remove Status deletes the status data for the selected model objects, (which means the model objects are no longer be controlled).

Navigate To allows a single row to be selected in the grid area and highlighted in the Model Explorer. In the grid area, right click the required row, then from the displayed menu, select Navigate To.

Note:
The content of the drop down list changes appropriately for the status selected.
Note:
Actual values are shown if all selected model objects share the same values, otherwise are displayed as mixed.

Status Controller
Edit Status
Edit Status
Assign
Comment
Reason
Edit Status
Reason
Note
:
Apply
OK
Cancel
Status
Promote
Demote
Promote
Edit Status
Note
:
mixed
Remove Status
Navigate To
Model Explorer
Navigate To


Status History displays the Status History window for the selected model objects which lists the status transitions along with other session history.

To export the data from the Status History window into an Excel document, in the grid area, right-click and select from the displayed menu Export to Excel. This functionality is common to all modules. Refer to Common Functionality for further information.

Common Functionality
Status History
Status History
Export to Excel
Common Functionality


Statistical Report displays the Statistical Report window to display the data and charts for the Focus Status on the selected model objects. In the grid area, right-click the selected model objects and from the displayed menu, select Statistical Report. The Statistical Report window is displayed.

Hovering the cursor over one of the regions on the chart gives some figures for the model objects it represents.

Right-click while the cursor is over a region on the chart, from the displayed menu, when an option is selected, the functionality is applied to the objects represented by that region.

For example, when List Elements is selected, a list of the elements for that region is displayed.

Right-click in the background of the window, the displayed menu offers various options, including a range of Chart Types, for example here is a Bar Chart 3D.

Statistical Report
Statistical Report
Statistical Report
Statistical Report
List Elements
Chart Types


A number of pseudo-attributes are available on controlled objects to return their current status data, and a set of commands are provided to set status data. These provide an alternative to using the object methods described above.


The following pseudo attributes are available on any controlled object.
Attribute
Qualifier
Returns
Remark
STVPRO
STADEF
STAVAL
Get the promote STAVAL element for the assigned STADEF.
STVDEM
STADEF
STAVAL
Get the demote STAVAL element for the assigned STADEF.
STVLST
STADEF array
Get all assigned STADEFs.
STVNUM
STADEF
integer
Get the numerical value for the assigned STAVAL.
STVDSC
STADEF
string
The description of assigned STAVAL.
STVCOM
STADEF
string
The current comment from the latest status command.
STVREA
STADER
string
The reason for the last status change.
STVNAM
STADEF
string
The name of the assigned STAVAL.
STVVAL
STADEF
STAVAL
The current STAVAL for the STADEF.
STVLNK
STADEF
STALNK
Ref to the STALNK element (internal).
STVASD
STADEF array
Get all eligible STADEFs, may include currently assigned.
STVTRV
STADEF array
Get valid transitions from current STVVAL.
STVUNR
REF array
Get a list of unresolved STAVAL references from associated STALNKs.
STVMOD
STADEF
String
Status last modification date.
STVUSE
STADEF
String
Status last modified by User.
Attribute
Qualifier
Returns
Remark
STVPRO
STADEF
STAVAL
Get the promote STAVAL element for the assigned STADEF.
STVDEM
STADEF
STAVAL
Get the demote STAVAL element for the assigned STADEF.
STVLST

STADEF array
Get all assigned STADEFs.
STVNUM
STADEF
integer
Get the numerical value for the assigned STAVAL.
STVDSC
STADEF
string
The description of assigned STAVAL.
STVCOM
STADEF
string
The current comment from the latest status command.
STVREA
STADER
string
The reason for the last status change.
STVNAM
STADEF
string
The name of the assigned STAVAL.
STVVAL
STADEF
STAVAL
The current STAVAL for the STADEF.
STVLNK
STADEF
STALNK
Ref to the STALNK element (internal).
STVASD

STADEF array
Get all eligible STADEFs, may include currently assigned.
STVTRV

STADEF array
Get valid transitions from current STVVAL.
STVUNR

REF array
Get a list of unresolved STAVAL references from associated STALNKs.
STVMOD
STADEF
String
Status last modification date.
STVUSE
STADEF
String
Status last modified by User.
The following pseudo-attributes are available on Status Definitions (STADEF).
Attribute
Qualifier
Returns
Remark
STVREF
string/number
STAVAL
Get the STAVAL with the given name or number (NUMVAL).
STVUSD
REF array
All elements controlled by this STADEF.
Attribute
Qualifier
Returns
Remark
STVREF
string/number
STAVAL
Get the STAVAL with the given name or number (NUMVAL).
STVUSD

REF array
All elements controlled by this STADEF.
The following pseudo attributes are available on Status Values (STAVAL).
Attribute
Qualifier
Returns
Remark
STVDDT
STADEF
Datetime
Status Delegation date.
STVDEM
STAVAL
Get the demote STAVAL element from this STAVAL.
STVDOF
STADDEF
String
Status Delegate of.
STVPRO
STAVAL
Get the promote STAVAL element from this STAVAL.
STVUSD
REF array
All elements controlled by this STADEF and with this STAVAL current.
Attribute
Qualifier
Returns
Remark
STVDDT
STADEF
Datetime
Status Delegation date.
STVDEM

STAVAL
Get the demote STAVAL element from this STAVAL.
STVDOF
STADDEF
String
Status Delegate of.
STVPRO

STAVAL
Get the promote STAVAL element from this STAVAL.
STVUSD

REF array
All elements controlled by this STADEF and with this STAVAL current.
To query a qualified pseudo attribute on the command line, enter the qualifier in brackets noting the space required in front of the closing bracket, e.g.
This will return the name of the status value, e.g. /WorkPending.
To obtain this information in PML2, add the required status definitions into an array and use the qualified attribute method as illustrated below.
In this example the first element of the status values array will now be set to the status value object, e.g.
This will return the string 'Work Pending'.
When using status value as a condition in a collection, a command like the following will not return the expected objects:
This is because the name of the status value is local to the definition (so that the same name can be used in multiple definitions). Instead use one of these:
Attribute
Qualifier
Returns
Remark
STVPRO
STADEF
STAVAL
Get the promote STAVAL element for the assigned STADEF.
STVDEM
STADEF
STAVAL
Get the demote STAVAL element for the assigned STADEF.
STVLST
STADEF array
Get all assigned STADEFs.
STVNUM
STADEF
integer
Get the numerical value for the assigned STAVAL.
STVDSC
STADEF
string
The description of assigned STAVAL.
STVCOM
STADEF
string
The current comment from the latest status command.
STVREA
STADER
string
The reason for the last status change.
STVNAM
STADEF
string
The name of the assigned STAVAL.
STVVAL
STADEF
STAVAL
The current STAVAL for the STADEF.
STVLNK
STADEF
STALNK
Ref to the STALNK element (internal).
STVASD
STADEF array
Get all eligible STADEFs, may include currently assigned.
STVTRV
STADEF array
Get valid transitions from current STVVAL.
STVUNR
REF array
Get a list of unresolved STAVAL references from associated STALNKs.
STVMOD
STADEF
String
Status last modification date.
STVUSE
STADEF
String
Status last modified by User.
Attribute
Qualifier
Returns
Remark
STVREF
string/number
STAVAL
Get the STAVAL with the given name or number (NUMVAL).
STVUSD
REF array
All elements controlled by this STADEF.
Attribute
Qualifier
Returns
Remark
STVDDT
STADEF
Datetime
Status Delegation date.
STVDEM
STAVAL
Get the demote STAVAL element from this STAVAL.
STVDOF
STADDEF
String
Status Delegate of.
STVPRO
STAVAL
Get the promote STAVAL element from this STAVAL.
STVUSD
REF array
All elements controlled by this STADEF and with this STAVAL current.
Q STVVAL(/DesignStatus )
!statusDefinitions[1] = /DesignStatus
!statusValues = !!ce.attribute('STVVAL', !statusDefinitions)
Q var !statusValues[1].desc
var !myItems collect all equi with (stvval( /EquipmentDesignStatus )
eq /Approved )
var !myItems collect all equi with (stvnam( /EquipmentDesignStatus )
eq '/ Approved')
var !myItems collect all equi with (stvnum( /EquipmentDesignStatus ) gt 75)

Attribute
Qualifier
Returns
Remark
Attribute
Qualifier
Returns
Remark
Attribute
Qualifier
Returns
Remark
Q STVVAL(/DesignStatus )
/WorkPending
!statusDefinitions[1] = /DesignStatus
!statusValues = !!ce.attribute('STVVAL', !statusDefinitions)
Q var !statusValues[1].desc
var !myItems collect all equi with (stvval( /EquipmentDesignStatus )
eq /Approved )
var !myItems collect all equi with (stvnam( /EquipmentDesignStatus )
eq '/ Approved')
var !myItems collect all equi with (stvnum( /EquipmentDesignStatus ) gt 75)


The following section details the commands for Status Control.

STM ASS[ign] /Definition [to SELELE] ['comment']
STM REM[ove] /Definition [from SELELE]
STM RESET /Definition [on SELELE] ['comment']
STM DE[mote] /Definition [on SELELE] ['comment']
STM PRO[mote] /Definition [on SELELE] ['comment']
STM SET /Definition [/Value] [on SELELE] ['comment']
STM CO/mment /Definition [on SELELE] 'comment'

STM ASS[ign] /Definition [to SELELE] ['comment']
STM REM[ove] /Definition [from SELELE]
STM RESET /Definition [on SELELE] ['comment']
STM DE[mote] /Definition [on SELELE] ['comment']
STM PRO[mote] /Definition [on SELELE] ['comment']
STM SET /Definition [/Value] [on SELELE] ['comment']
STM CO/mment /Definition [on SELELE] 'comment'


Deleting status controlled elements leaves orphan STALNK elements behind, with their attribute CELREF reported as BADREF by Dice. A new PML function has been added to fix this problem.
Execute "!!stmcleanup()" on the command line to clean up all STALNKs with an invalid CELREF.
Example:
!!stmcleanup()

!!stmcleanup()
!!stmcleanup()


Using Status Control with Data Access Control

Status Control can be tightly coupled with Data Access Control (DAC) to preserve data integrity. Below are some examples of what can be achieved. They have been created on the basis of Roles where the first PEROP grants all rights on all element and attribute classes, and then successive PEROPs deny some rights under specific conditions.


Examples for Using Status Control with Data Access Control

The following section lists examples for using Status Control with Data Access Control (DAC).
Example to Prevent Modification of an Object of a Certain Status
This is to prevent changes to an object once it has reached a level of completion.
Create a PEROP that denies modify and delete operations on equipment for all attributes once the Design Status is greater than or equal to 50%. Here is the condition to use.
A suitable error message would be: "DAC: You may not modify object that has status Work Completed".
Example to Catch When the Dictionary Database Has Been Deferred
This traps the situation where a User has tried to defeat the access control by deferring the dictionary Database (DB) containing the status definitions.
Create a PEROP that denies modify and delete operations on equipment for all attributes if the Design Status is not a valid reference. Here is the condition.
A suitable error message would be: "DAC: You may not modify an object with an unresolved status".
Example to Prevent Change of Status After a Certain Level
This is to allow a User to move an object into a For Check state but prevent them from moving it out. A more privileged User will have the task of promoting it to Checked.
Create a PEROP that denies modify and delete operations on STALNK (status link) elements for attribute VALREF (status value reference) if the current value of Design Status is For Check. Here is the condition.
A suitable error message would be: "DAC: You may not change the Design Status of this object as it is awaiting Check".
Example to Prevent Removal of Status from an Object
This is to prevent a User from removing status from a controlled object.
Create a PEROP that denies delete operations on STALNK (status link) elements if they are controlled by Design Status. Here is the condition.
A suitable error message would be: "DAC: You may not remove Design Status from this object".
Example Where a User May Only Amend Status
This example illustrates how to prevent a User from making any changes, other than those related directly to status assignment and transition.
Create a PEROP that grants all operations to the status hierarchy. The PEROP should be applied to the following element type:
This will apply the PEROP to all objects in the status hierarchy. Assign this PEROP (and only this PEROP) to the User.
This is a positive Data Access Control. It grants access rights to objects. It is therefore not possible to define a specific DAC error message which will be shown if the User tries to carry out a forbidden action (for example an attempt to create an element). A generic DAC error message will be shown in these cases.
Example to Prevent Issue of an Object That Does Not Have Sufficient Status
This is to prevent a User from issuing an object that has not been assigned a status or the status has not reached a sufficient level.
Create a PEROP that denies issue operations on equipment when the Design Status is not assigned or is less than 100. Here is the condition:
A suitable error message would be: "DAC: You may not issue this object until it has been Approved".
COND ( ATTRIB STVNUM(ID /DesignStatus ) GE 50 )
COND ( NOT UNSET ( ATTRIB STVUNR ) )
COND ( ATTRIB OWNER OF VALREF  EQ ID /DesignStatus  AND ATTRIB DESC OF VALREF  EQ
         'For Check'  )
COND ( ATTRIB OWNER OF VALREF  EQ ID /DesignStatus  )
STLNKW HIERARCHY
COND ( UNSET( STVLSK ) OR ATTRIB STVNUM(ID / DesignStatus ) LT 100 )

Example to Prevent Modification of an Object of a Certain Status
COND ( ATTRIB STVNUM(ID /DesignStatus ) GE 50 )
Example to Catch When the Dictionary Database Has Been Deferred
COND ( NOT UNSET ( ATTRIB STVUNR ) )
Example to Prevent Change of Status After a Certain Level
COND ( ATTRIB OWNER OF VALREF  EQ ID /DesignStatus  AND ATTRIB DESC OF VALREF  EQ
         'For Check'  )
Example to Prevent Removal of Status from an Object
COND ( ATTRIB OWNER OF VALREF  EQ ID /DesignStatus  )
Example Where a User May Only Amend Status
STLNKW HIERARCHY
Example to Prevent Issue of an Object That Does Not Have Sufficient Status
COND ( UNSET( STVLSK ) OR ATTRIB STVNUM(ID / DesignStatus ) LT 100 )


Status values can be used in the Element Rules for Auto Colors.


Examples for Using Status Control with Auto Colors

The following section lists examples for using Status Control with Auto Colors.
Example Rule for Equipment with Design Status Pending
Rule Name: Equipment Pending
Types: EQUI
Rule: attrib stvnum( /DesignStatus ) eq 0
Example Rule for Equipment with Design Work Completed or Higher
Rule Name: Equipment Completed
Types: EQUI
Rule: attrib stvnum( /DesignStatus ) ge 50
Example Rule for Equipment with Design Status Not Controlled
Rule Name: Equipment Not Controlled
Types: EQUI
Rule: badref ( attrib stvval( /DesignStatus ) )
If these Element Rules are defined, then Auto Color rules can be added. For example: to show completed equipment in green, pending equipment in yellow, and uncontrolled equipment in red.

Example Rule for Equipment with Design Status Pending
attrib stvnum( /DesignStatus ) eq 0
Example Rule for Equipment with Design Work Completed or Higher
attrib stvnum( /DesignStatus ) ge 50
Example Rule for Equipment with Design Status Not Controlled
badref ( attrib stvval( /DesignStatus ) )


Status Control operations can be carried out using Programmable Macro Language (PML). All the operations that can be carried out using the Status Controller can also be done using the appropriate objects and syntax.
Specific company and project requirements can be implemented using Status Events and a framework is provided for this purpose.


Status Control provides an event mechanism that can be customized for individual company and project requirements. User methods can be added as event handlers and will be called with a single array argument. The following events are supported.
Status Change Events
BeforeStatusAssign
Before a status is assigned to an object.
AfterStatusAssign
After a status is assigned to an object.
BeforeStatusRemove
Before a status is removed from an object.
AfterStatusRemove
After a status is removed from an object.
BeforeStatusChange
Before a status is changed/promoted/demoted on an object.
AfterStatusChange
After a status is changed/promoted/demoted on an object.
BeforeControlledElementDelete
Before a controlled object is deleted.
1
ARRAY
String reference numbers of controlled objects.
2
STRING
Reference number of status definition.
3
STRING
Reference number of to status value (may be =0/0).
4
STRING
Return message aborts operation if set but only on Before … operations.
Database Change Events
BeforeSavework
Before savework when there are changes to status data.
AfterSavework
After savework when there are changes to status data.
BeforeFlush
Before flush when there are changes to status data.
AfterFlush
After flush when there are changes to status data.
1
STRING
Reference number of status definition.
2
ARRAY
String reference numbers of objects that had status assigned.
3
ARRAY
String reference numbers of objects that had status changed.
4
ARRAY
String reference numbers of objects that had status removed.
5
STRING
Return message aborts operation if set but only on Before … operations.

Event
Description
BeforeStatusAssign
Before a status is assigned to an object.
AfterStatusAssign
After a status is assigned to an object.
BeforeStatusRemove
Before a status is removed from an object.
AfterStatusRemove
After a status is removed from an object.
BeforeStatusChange
Before a status is changed/promoted/demoted on an object.
AfterStatusChange
After a status is changed/promoted/demoted on an object.
BeforeControlledElementDelete
Before a controlled object is deleted.
Arg No
Type
Description
1
ARRAY
String reference numbers of controlled objects.
2
STRING
Reference number of status definition.
3
STRING
Reference number of to status value (may be =0/0).
4
STRING
Return message aborts operation if set but only on Before … operations.
Event
Description
BeforeSavework
Before savework when there are changes to status data.
AfterSavework
After savework when there are changes to status data.
BeforeFlush
Before flush when there are changes to status data.
AfterFlush
After flush when there are changes to status data.
Arg No
Type
Description
1
STRING
Reference number of status definition.
2
ARRAY
String reference numbers of objects that had status assigned.
3
ARRAY
String reference numbers of objects that had status changed.
4
ARRAY
String reference numbers of objects that had status removed.
5
STRING
Return message aborts operation if set but only on Before … operations.

Status Change Events
Database Change Events


Customizing the StatusProjectHandler PML Object

A framework for customizing events is provided in the PML object statusProjectHandler.pmlobj in the pmllib\common\objects folder. A Global instance of this object is created on entry to the constructor module. It adds the event handlers and has methods for each event.
Debug Mode
The User can switch ON or OFF a debug mode with the following commands.
In debug mode, a line of text is output to the command line for each event. For example, here is the output for object P1501A when promoted from Work Suspended to Work Started.
Where to Add Code
Each event method processes its arguments and creates some variables that may be of use to the developer.
Each place where customized code can be added is delimited as follows.
A number of examples are provided (commented out). These make use of the statusData PML object documented below.
Methods to Add Checks and Abort Changes
All of the Before … methods can be used to make additional checks and can abort the operation by returning an error message, such as to prevent a status change if a particular condition is not met. A variable has been provided for this purpose, e.g.
By default, the only check made in the statusProjectHandler is to prevent a general User from deleting a controlled object.
Methods to Make Dependent Changes
The methods AfterStatusAssign, AfterStatusRemove, and AfterStatusChange can be used to make dependent changes when one of these operations is completed, e.g. to cascade a change of status on an assembly to its offspring in the assembly hierarchy.
Methods to Synchronize External Systems
The methods AfterSavework and AfterFlush can be used to synchronize data in external systems once the changes to status data have been committed in the DataBase CONtrol Program (DABACON) Databases (DBs).
!!statusProjectHandler.debugOn()
!!statusProjectHandler.debugOff()
statusProjectHandler.beforeStatusChange(/P1501A,
    /DesignStatus, /WorkSuspended, /WorkStarted)
statusProjectHandler.afterStatusChange(/P1501A,
    /DesignStatus, /WorkStarted, /WorkStarted)
  --==========================================================
  -- Start of customisation
  -- End of customisation
  --==========================================================
!returnMessage =
    |Status error: You may not delete a controlled object|
Important:
Other parts of the statusProjectHandler PML object should not be modified.

Debug Mode
!!statusProjectHandler.debugOn()
!!statusProjectHandler.debugOff()
statusProjectHandler.beforeStatusChange(/P1501A,
    /DesignStatus, /WorkSuspended, /WorkStarted)
statusProjectHandler.afterStatusChange(/P1501A,
    /DesignStatus, /WorkStarted, /WorkStarted)
Where to Add Code
  --==========================================================
  -- Start of customisation
  -- End of customisation
  --==========================================================
Important
:
Methods to Add Checks and Abort Changes
!returnMessage =
    |Status error: You may not delete a controlled object|
Methods to Make Dependent Changes
AfterStatusAssign
AfterStatusRemove
AfterStatusChange
Methods to Synchronize External Systems


The PML object statusData.pmlobj is provided in the pmllib\common\objects folder to allow easy manipulation of status data from PML. It encapsulates a number of core objects that are documented below and that can be used directly if preferred.
Note:
The statusData object can hold status data for a single object and status definition combination, or it can hold an array of statusData objects for multiple objects and status definition combinations (refer to Constructor Methods).

Note
:


Access to status data is provided via a set of core objects as described below. These require the appropriate import and using namespace commands:
import 'Aveva.Pdms.DataManagement.PML'
handle any
  -- ignore if already loaded
endhandle
using namespace 'Aveva.Pdms.DataManagement.PML'

import 'Aveva.Pdms.DataManagement.PML'
handle any
  -- ignore if already loaded
endhandle
using namespace 'Aveva.Pdms.DataManagement.PML'


Customizing Status Control using C# (.NET)

As an alternative to (or in combination with) PML customization, customization can also be undertaken in .NET applications. Examples below are given in the C# language.


The .NET status objects described below are defined in the Aveva.Pdms.DataManagement.dll assembly, which is found in the standard AVEVA E3D Design install directory (AVEVA_DESIGN_EXE). To use these status objects, programmers need reference to the Aveva.Pdms.Database.dll assembly also found in AVEVA_DESIGN_EXE. To reference other AVEVA NET assemblies, refer to AVEVA NET documentation.)
To access this software from Visual Studio, add the assemblies to the project references and declare interest in the namespaces at the top of the client C# files:
using Aveva.Pdms.DataManagement;
using Aveva.Pdms.Database;

AVEVA NET
AVEVA NET
using Aveva.Pdms.DataManagement;
using Aveva.Pdms.Database;


The following classes are available in C#. These correspond to and have similar functionality to the PML objects described above.
This static class gives access to all the status definition elements in the current MDB. As a static class no instances of the class are created. The class has a single property, Statuses, which returns an array of Status objects (described below), used as follows:
Status[] statuses = StatusManagement.Statuses;

Status[] statuses = StatusManagement.Statuses;


This class gives access to a named status definition determined in the constructor either by name or as a DbElement:
The screenshot below of the Visual Studio Object Browser details the public interface of the Status class:

Class StatusValue
This class gives access to the data relating to a Status Value (STAVAL element). This represents one of the legal states that an element controlled for a given status definition may have. The status definition and value can be determined via the class constructors:
Or:
Alternatively, the array of all StatusValues for a given status definition can be obtained directly from a Status object:
The remaining functions of the StatusValue class are displayed in the Visual Studio Object Browser below:

Class StatusCommand
This static class gives access to all the status functionality. As a static class no instances of the class are created. This class effectively duplicates the functionality otherwise available through instances of the Status class. The Visual Studio Object Browser display is as follows:

Class StatusEvents
This class gives access to all the status change events. An instance of the class cannot be instantiated directly by constructor. Instead an instance can be created from the Status.Events property, or from the static functions StatusEvent.GetStatusEventObject(Status s) or StatusEvent.GetStatusEventObject(). The following example shows the registration of an event handler for the BeforeStatusChange event together with a sample implementation of the registered event handler:
The list of available status events is displayed in the Visual Studio Object Browser display as follows:

Status Change Events
The Before … event methods can cancel the operation.
Event
Arguments
BeforeStatusAssign
object sender, CancelStatusEventArgs e
AfterStatusAssign
object sender, StatusEventArgs e
BeforeStatusRemove
object sender, CancelStatusEventArgs e
AfterStatusRemove
object sender, StatusEventArgs e
BeforeStatusChange
object sender, CancelStatusEventArgs e
AfterStatusChange
object sender, StatusEventArgs e
BeforeControlledElementDelete
object sender, CancelStatusEventArgs e
Event
Arguments
BeforeStatusAssign
object sender, CancelStatusEventArgs e
AfterStatusAssign
object sender, StatusEventArgs e
BeforeStatusRemove
object sender, CancelStatusEventArgs e
AfterStatusRemove
object sender, StatusEventArgs e
BeforeStatusChange
object sender, CancelStatusEventArgs e
AfterStatusChange
object sender, StatusEventArgs e
BeforeControlledElementDelete
object sender, CancelStatusEventArgs e
StatusEventArgs
Name
Type
Description
Model
DbElement[]
Array of elements that is/to be controlled.
Status
Status
The Status object.
To
StatusValue
The to StatusValue object.
Name
Type
Description
Model
DbElement[]
Array of elements that is/to be controlled.
Status
Status
The Status object.
To
StatusValue
The to StatusValue object.
CancelStatusEventArgs
Name
Type
Description
Model
DbElement[]
Array of elements that is/to be controlled.
Status
Status
The Status object.
To
StatusValue
The to StatusValue object.
Cancel
Bool
Cancel the ongoing operation.
Message
String
With this as the message.
Name
Type
Description
Model
DbElement[]
Array of elements that is/to be controlled.
Status
Status
The Status object.
To
StatusValue
The to StatusValue object.
Cancel
Bool
Cancel the ongoing operation.
Message
String
With this as the message.
Database Change Events
The Before … event methods can cancel the operation.
Event
Arguments
BeforeSavework
object sender, CancelDBChangeEventArgs e
AfterSavework
object sender, DBChangeEventArgs e
BeforeFlush
object sender, CancelDBChangeEventArgs e
AfterFlush
object sender, DBChangeEventArgs e
Event
Arguments
BeforeSavework
object sender, CancelDBChangeEventArgs e
AfterSavework
object sender, DBChangeEventArgs e
BeforeFlush
object sender, CancelDBChangeEventArgs e
AfterFlush
object sender, DBChangeEventArgs e
DBChangeEventArgs
Name
Type
Description
Status
Status
The Status object.
Assigned
DbElement[]
Array of DbElements that had Status assigned.
Changed
DbElement[]
Array of DbElements that had Status changed.
Removed
DbElement[]
Array of DbElements that had Status removed.
Name
Type
Description
Status
Status
The Status object.
Assigned
DbElement[]
Array of DbElements that had Status assigned.
Changed
DbElement[]
Array of DbElements that had Status changed.
Removed
DbElement[]
Array of DbElements that had Status removed.
CancelDBChangeEventArgs
Name
Type
Description
Status
Status
The Status object.
Assigned
DbElement[]
Array of DbElements that had Status assigned.
Changed
DbElement[]
Array of DbElements that had Status changed.
Removed
DbElement[]
Array of DbElements that had Status removed.
Cancel
Bool
Cancel the ongoing operation.
Message
String
With this as the message.
Name
Type
Description
Status
Status
The Status object.
Assigned
DbElement[]
Array of DbElements that had Status assigned.
Changed
DbElement[]
Array of DbElements that had Status changed.
Removed
DbElement[]
Array of DbElements that had Status removed.
Cancel
Bool
Cancel the ongoing operation.
Message
String
With this as the message.

Event
Arguments
BeforeStatusAssign
object sender, CancelStatusEventArgs e
AfterStatusAssign
object sender, StatusEventArgs e
BeforeStatusRemove
object sender, CancelStatusEventArgs e
AfterStatusRemove
object sender, StatusEventArgs e
BeforeStatusChange
object sender, CancelStatusEventArgs e
AfterStatusChange
object sender, StatusEventArgs e
BeforeControlledElementDelete
object sender, CancelStatusEventArgs e
Name
Type
Description
Model
DbElement[]
Array of elements that is/to be controlled.
Status
Status
The Status object.
To
StatusValue
The to StatusValue object.
Name
Type
Description
Model
DbElement[]
Array of elements that is/to be controlled.
Status
Status
The Status object.
To
StatusValue
The to StatusValue object.
Cancel
Bool
Cancel the ongoing operation.
Message
String
With this as the message.
Event
Arguments
BeforeSavework
object sender, CancelDBChangeEventArgs e
AfterSavework
object sender, DBChangeEventArgs e
BeforeFlush
object sender, CancelDBChangeEventArgs e
AfterFlush
object sender, DBChangeEventArgs e
Name
Type
Description
Status
Status
The Status object.
Assigned
DbElement[]
Array of DbElements that had Status assigned.
Changed
DbElement[]
Array of DbElements that had Status changed.
Removed
DbElement[]
Array of DbElements that had Status removed.
Name
Type
Description
Status
Status
The Status object.
Assigned
DbElement[]
Array of DbElements that had Status assigned.
Changed
DbElement[]
Array of DbElements that had Status changed.
Removed
DbElement[]
Array of DbElements that had Status removed.
Cancel
Bool
Cancel the ongoing operation.
Message
String
With this as the message.
Status status = Status("/DesignStatus");
DbElement statusDefinitionElement;
// ...
Status status = Status(statusDefinitionElement);
Status status = Status("/DesignStatus");
StatusValue statusValue = StatusValue(status, "/Approved");
DbElement statusValueElement;
// ...
StatusValue statusValue = StatusValue(statusValueElement);
Status status = Status("/DesignStatus");
StatusValue[] statusValues = status.Values;
Status status = Status("/DesignStatus");
StatusEvent statusEvent = status.Event;
statusEvent.BeforeStatusChange += new
   StatusEvent.BeforeStatusChangeEventHandler(My_BeforeStatusChange);
// ...
// Event handler
private void My_BeforeStatusChange (object sender,
                                    CancelStatusEventArgs e)
{
}

Status status = Status("/DesignStatus");
DbElement statusDefinitionElement;
// ...
Status status = Status(statusDefinitionElement);
Visual Studio Object Browser
Class StatusValue
Status status = Status("/DesignStatus");
StatusValue statusValue = StatusValue(status, "/Approved");
DbElement statusValueElement;
// ...
StatusValue statusValue = StatusValue(statusValueElement);
Status status = Status("/DesignStatus");
StatusValue[] statusValues = status.Values;
Class StatusCommand
Class StatusEvents
Status status = Status("/DesignStatus");
StatusEvent statusEvent = status.Event;
statusEvent.BeforeStatusChange += new
   StatusEvent.BeforeStatusChangeEventHandler(My_BeforeStatusChange);
// ...
// Event handler
private void My_BeforeStatusChange (object sender,
                                    CancelStatusEventArgs e)
{
// Do any extra actions and check status change is allowed
if ( /* abort status change required */ )
{
e.Cancel = true;
e.Message = "reason not to proceed";
}
}
Status Change Events
Event
Arguments
StatusEventArgs
Name
Type
Description
CancelStatusEventArgs
Name
Type
Description
Database Change Events
Event
Arguments
DBChangeEventArgs
Name
Type
Description
CancelDBChangeEventArgs
Name
Type
Description


Individual Users can customize and save their own status layouts. This process is described in Status Layout in Status Controller in Design and other Constructor Modules. As an administrator you may decide to create a set of project standard status layouts for all Users on the project.
Status layouts are stored in files in the User’s Local Settings Application Data folder, for example, for the project BAS the folder will be:
An administrator who has created a set of status layouts in their own folder can copy these files and distribute them to other Users to include in their own equivalent folders. There is no need to copy the LastSelectedStatusGridProfile or WindowsLayout files in this folder as these will be created automatically.
C:\Users\john.smith\AppData\Local\Aveva\AVEVA Everything3D\1.1\BASStatusGridProfiles

Status Layout
Status Layout
C:\Users\john.smith\AppData\Local\Aveva\AVEVA Everything3D\1.1\BASStatusGridProfiles


This section suggests an approach to upgrading status data created by AVEVA Model Manager.
For Model Manager, the equivalent to a Status Definition is a list of values for a particular controlled object type and is defined in VPE. Individual controlled objects then hold one of these values in a specified attribute, e.g. :mmstatus.
A Status Definition could be created for each list of values, applied to the particular controlled object type. Where the controlled object type is qualified by a filter, e.g. PIPE with PURP 'Civils', this could be implemented as a UDET, e.g. :CivilsPipe.
An allowable transition should be set from the initial value to each other value in the definition, to support the next stage (some of these transitions could be removed later).
A macro would then be written, to loop through each controlled object, assign its appropriate status definition then set it to the equivalent status value for its Model Manager status data.


Status control provides an mechanism that can be customized for individual company and project requirements to delegate the approval of datasheet(s), drawing(s) and tag(s) and display the information in the revision block of the respective element and tag.
Note:
In Lexicon and/or the Configuration modules, the system administrator has created the Allow delegation value and it is displayed in the Status value details fields of the Current Element Editor window.
Note:
For the purposes of this example, the workflow is completed using the Configuration module.

Note
:

Allow delegation
Status value details
Current Element Editor
Note
:
Configuration
Configuration
Workflow
APPROVED STVAL
STADEF
Workflow Explorer
Note
:

Workflow
APPROVED STVAL
Dictionary Explorer
Allow Delegate
Status value details
True
False
Note
:
Delegate
Delegate date
APPROVED STVAL
Note
:
Allow Delegate
False
REVISION BLOCK
Workflow Explorer
Edit Revision Block Definition
Revision Block Definition - Revision Block
Add attributes
Approved Delegate of
Approved Delegation date
Header
App’ed Delegate of
App’ed Delegation date
OK
Note
:
OK
Libraries
View
Datasheet
Datasheet
Explorer
Edit Datasheet Template
Datasheet Template Editor
Datasheet Template
Data Sources
Revision Block
Engineer
Manage
Status Actions
Edit.
Status - Engineering Status Definition
Status
Status - Engineering Status Definition
Note
:
Pending Approval
Value
Status
Status - Engineering Status Definition
Approved
Delegate Of
Delegation Date
OK
Promote Status
Note
:
Revision Issue
Manage
Status Actions
History
Status History


The Building Application Administration Guide has been written to give AVEVA E3D Design administrators the knowledge necessary to set up and configure the AVEVA Building Applications utilities. It introduces AVEVA E3D Design concepts specific to AVEVA Building Applications and explains the significance of parameter files pertinent to AVEVA Building Applications. It is also intended to enable the AVEVA E3D Design Administrators to install, configure and setup AVEVA Building Applications.
It is assumed that:
The administrator has a valid license and the software has been installed.
The administrator has a working knowledge of AVEVA E3D Design Systems Administration and is familiar with AVEVA Building Applications design utilities.
The administrator has a valid license and the software has been installed.
The administrator has a valid license and the software has been installed.
The administrator has a working knowledge of AVEVA E3D Design Systems Administration and is familiar with AVEVA Building Applications design utilities.
The administrator has a working knowledge of AVEVA E3D Design Systems Administration and is familiar with AVEVA Building Applications design utilities.


The Building Applications Administration Guide is divided into the following sections:
Building Applications
introduces the guide and summarizes it scope.
Installation
how to customise the installation.
Building Applications Configuration
how to configure and update the .bat files
Parameter Files
contain information that Building Applications uses while in operation.
Catalogs and Specifications
have several conditions or rules which must be followed.
Building Applications
introduces the guide and summarizes it scope.
Installation
how to customise the installation.
Building Applications Configuration
how to configure and update the .bat files
Parameter Files
contain information that Building Applications uses while in operation.
Catalogs and Specifications
have several conditions or rules which must be followed.

Building Applications
introduces the guide and summarizes it scope.
Installation
how to customise the installation.
Building Applications Configuration
how to configure and update the .bat files
Parameter Files
contain information that Building Applications uses while in operation.
Catalogs and Specifications
have several conditions or rules which must be followed.

Building Applications
Installation
Building Applications Configuration
Parameter Files
Catalogs and Specifications
Building Applications
Installation
Building Applications Configuration
Parameter Files
Catalogs and Specifications


AVEVA Building Applications are separately licensed products:
Room Manager
Concrete Building Design
Concrete Quantities.
Room Manager
Room Manager
Concrete Building Design
Concrete Building Design
Concrete Quantities.
Concrete Quantities.


To configure the Building Application the AVEVA E3D™ administrator must update the .bat file and add the required databases. Refer to Update the .bat File, Addition of Required Databases and Installation Test for further information.

Update the .bat File
Addition of Required Databases
Installation Test
Update the .bat File
Addition of Required Databases
Installation Test


To make Building Applications available in existing projects, the logic from the .bat files supplied with product can be modified or incorporated with existing .bat files.
Building Applications uses parameter files to define such items as Angle Display Format, Distance Display Format and Auto-Naming Functions. It is typical for these to be stored with a project and edited to be project specific.
For example, in a project called SAM the parameter files should be copied into the folder referred to as SAMDFLTS. It can be any folder, but would typically be called samdflts and stored in the project folder.
The evars.bat file could be updated with the following to setup the environment variable %SAMDFLTS%:
The following environment variables are used by the Building Applications:-

SAMDFLTS
if not "%SAMDFLTS%"=="" goto samdfltsok
set SAMDFLTS=%1\project\samdflts
echo SAMDFLTS=%SAMDFLTS%
:samdfltsok
  Building_design normally set to %pmllib%Building_Design\
  common_tools normally set to %pmllib%Common_Tools\
  aveva_language supported languages are English and French but other languages can
         be used as follows:-
%pmllib%\Building_Design\language
%pmllib%\Common_Tools\language


To make the most of Building Applications suitable catalogues are required. Sample data is available in the sample project (APS) supplied with AVEVA E3D Design, or can be recreated through the provided macros.
For the Catalog and Specification data, two CATA databases are supplied:


The AVEVA E3D Design administrator may test the installation of the Building Applications. To do this, log into AVEVA E3D Design and enter the MODEL module, select the STRUCTURES application, then the BUILDING tab (if the BUILDING tab is visible, then it has been successfully installed).

MODEL
STRUCTURES
BUILDING
BUILDING


Parameter files contain information that Building Applications uses while in operation. Building Applications is supplied with a number of example parameter files. Metric and imperial versions of the standard parameter files are available. In addition, a set of metric parameter files reflecting the KKS naming system are also supplied.
Each product has minimum requirements for the parameter files used. These requirements along with a description of significant parameter files are described in the sections that follow.
Parameter files need to be placed in a separate project defaults folder and are used exclusively for Building Applications, for example. SAMDFLTS. The files are contained within three sub-folders, one for each product:

Parameter files are read when the Building Applications are loaded and stored in global variables. If required the AVEVA administrator can investigate these files. The administrator must find the parameters files (dflts) supplied with the product.
concrete_design
concrete_quantities
room_manager
concrete_design
concrete_design
concrete_quantities
concrete_quantities
room_manager
room_manager


Concrete Building Design Parameter Files

The supplied example parameter files are:
ACCURACY
ANGLES
AREAS
CALCULATE
CORRESPONDENCE
CSV
DBSCATALOGUE
DENSITY
DES-PURPOSE
DISTANCEDIRECTION
DISTANCES
EDITOR
ELEVATION
ESCALIER
EXCLUSIONS
GALETTE
GTYPES
HIDECONNECTED
LEVELS
NOMMER
PASCATALOGUE
SEPARATESTRUCTURE
SLOPES
VOLUMES
ACCURACY
ACCURACY
ANGLES
ANGLES
AREAS
AREAS
CALCULATE
CALCULATE
CORRESPONDENCE
CORRESPONDENCE
CSV
CSV
DBSCATALOGUE
DBSCATALOGUE
DENSITY
DENSITY
DES-PURPOSE
DES-PURPOSE
DISTANCEDIRECTION
DISTANCEDIRECTION
DISTANCES
DISTANCES
EDITOR
EDITOR
ELEVATION
ELEVATION
ESCALIER
ESCALIER
EXCLUSIONS
EXCLUSIONS
GALETTE
GALETTE
GTYPES
GTYPES
HIDECONNECTED
HIDECONNECTED
LEVELS
LEVELS
NOMMER
NOMMER
PASCATALOGUE
PASCATALOGUE
SEPARATESTRUCTURE
SEPARATESTRUCTURE
SLOPES
SLOPES
VOLUMES
VOLUMES

ACCURACY
ANGLES
AREAS
CALCULATE
CORRESPONDENCE
CSV
DBSCATALOGUE
DENSITY
DES-PURPOSE
DISTANCEDIRECTION
DISTANCES
EDITOR
ELEVATION
ESCALIER
EXCLUSIONS
GALETTE
GTYPES
HIDECONNECTED
LEVELS
NOMMER
PASCATALOGUE
SEPARATESTRUCTURE
SLOPES
VOLUMES
ACCURACY
ANGLES
AREAS
CALCULATE
CORRESPONDENCE
CSV
DBSCATALOGUE
DENSITY
DES-PURPOSE
DISTANCEDIRECTION
DISTANCES
EDITOR
ELEVATION
ESCALIER
EXCLUSIONS
GALETTE
GTYPES
HIDECONNECTED
LEVELS
NOMMER
PASCATALOGUE
SEPARATESTRUCTURE
SLOPES
VOLUMES


The ACCURACY parameter file defines what percentages of the ratio between net volume and gross volume elements are coded yellow or red in the room volume calculations.
The keyword WARNING must be followed by a percentage, elements with a net to gross ratio smaller than this percentage are displayed in orange.
The keyword ERROR must be followed by a percentage, elements with a net to gross ratio smaller than this percentage are displayed in red.
All other elements are displayed in green.
# Colour Coding for ratio net to gross volume in room volume calculations
WARNING 80
ERROR 70

ACCURACY
# Colour Coding for ratio net to gross volume in room volume calculations
WARNING 80
ERROR 70


The ANGLES parameter file defines default format for angles (degrees, degrees/minutes/seconds or grades). If this file cannot be found, the system defaults to decimal degrees.
# Angle Display Format
# DD 2 = Decimal Degrees to two decimal places eg. 23.45
# DMS = Degrees minutes and seconds eg. 23°45'30"
# G 2 = Grades to two decimal places ex. 18.63 DMS

ANGLES
# Angle Display Format
# DD 2 = Decimal Degrees to two decimal places eg. 23.45
# DMS = Degrees minutes and seconds eg. 23°45'30"
# G 2 = Grades to two decimal places ex. 18.63 DMS


The AREAS parameter file defines the units to be used for surface areas such as formwork areas. If this file cannot be found then project units is used.
# Format of areas
# Denominator Largest denominator for Imperial fractions
# DP 2 = Number of decimal places for decimal fractions
# ENU TRUE = Use ENU format when outputting POSITIONS
# Fraction FALSE = Fractional part output as decimal
# FtLabel |'| = Label used for feet
# InchSeparator |.| = Separator between inches and fractions
# Label General distance label e.g. mm or "
# Units MM = Output number in millimetres
# Zeros TRUE = Leading zeroes are displayed for Imperial units
#-------------------------------------------------------------
Denominator 32
Dimension AREA
DP 0
ENU true
Fraction false
Label UNITS
Units FOOT
Zeros true

AREAS
# Format of areas
# Denominator Largest denominator for Imperial fractions
# DP 2 = Number of decimal places for decimal fractions
# ENU TRUE = Use ENU format when outputting POSITIONS
# Fraction FALSE = Fractional part output as decimal
# FtLabel |'| = Label used for feet
# InchSeparator |.| = Separator between inches and fractions
# Label General distance label e.g. mm or "
# Units MM = Output number in millimetres
# Zeros TRUE = Leading zeroes are displayed for Imperial units
#-------------------------------------------------------------
Denominator 32
Dimension AREA
DP 0
ENU true
Fraction false
Label UNITS
Units FOOT
Zeros true


The CALCULATE parameter file defines the units to be used for stair flight parameters. If this file cannot be found then project units is used.
# Format Calculation
# Denominator Largest denominator for Imperial fractions
# DP 2 = Number of decimal places for decimal fractions
# ENU TRUE = Use ENU format when outputting POSITIONS
# Fraction FALSE = Fractional part output as decimal
# FtLabel |'| = Label used for feet
# InchSeparator |.| = Separator between inches and fractions
# Label General distance label for example. mm or "
# Units MM = Output number in millimetres
# Zeros TRUE = Leading zeroes are displayed for Imperial units
#-------------------------------------------------------------
Denominator 32
Dimension L
DP 2
ENU true
Fraction false
FtLabel '
InchSeparator .
Label "
Units FINCH
Zeros true

CALCULATE
# Format Calculation
# Denominator Largest denominator for Imperial fractions
# DP 2 = Number of decimal places for decimal fractions
# ENU TRUE = Use ENU format when outputting POSITIONS
# Fraction FALSE = Fractional part output as decimal
# FtLabel |'| = Label used for feet
# InchSeparator |.| = Separator between inches and fractions
# Label General distance label for example. mm or "
# Units MM = Output number in millimetres
# Zeros TRUE = Leading zeroes are displayed for Imperial units
#-------------------------------------------------------------
Denominator 32
Dimension L
DP 2
ENU true
Fraction false
FtLabel '
InchSeparator .
Label "
Units FINCH
Zeros true


The CORRESPONDENCE parameter file is used for translating between two different catalogues. When the specification translate button is pressed in the diagnostic wizard form, this file is used to change the spref attribute of the sub-components found that currently reference catalogues from other projects.

If the current spref attribute of the sub-component (SBFI or FIXING) is found in the first column of the file, it is changed to the corresponding value in second column. A suitable file with the first column completed can be generated by pressing the Create File button. The translation function is useful for bulk modifications, copying existing projects and advancing design from feasibility to detailed stages. The relationship between the project and the databases is defined in the DBSCATALOGUE file.

CORRESPONDENCE


The CSV parameter file defines what characters are to be used in csv file format exports. This currently only used for reports generated by anchor spacing checked but it may be used for other csv format reports in the future.
#
# CSV file format
#
# separator
,
# Text
"

CSV
#
# CSV file format
#
# separator
,
# Text
"


The DBSCATALOGUE parameter file lists the names of catalogue databases used in the diagnostic wizard to associate a catalogue with a project. The first word on each line indicates the title of the project that appears as an option on the form. Any word can be used but normally the keywords AVEVA and POWER are reserved for the supplied sample catalogues. The second word can either be SPEC or PROP. If SPEC any element that references these components will be counted in the specification part of the form. If PROP any element that references these materials will be counted in the material part of the form. The third part of the line is the name of the PDMS database.
# Catalogue databases
# Format  Project % Type % Name of database
# Project = AVEVA, POWER ...
# Type = SPEC/PROP
# Name =
AVEVA % PROP % MASTER/PROP
AVEVA % SPEC % MASTER/STLCATA
POWER % SPEC % MASTER/POWERSPEC

DBSCATALOGUE


The DENSITY parameter file….
# Format of densities
# Denominator Largest denominator for Imperial fractions
# DP 2 = Number of decimal places for decimal fractions
# ENU TRUE = Use ENU format when outputting POSITIONS
# Fraction FALSE = Fractional part output as decimal
# FtLabel |'| = Label used for feet
# InchSeparator |.| = Separator between inches and fractions
# Label General distance label e.g. mm or "
# Units MM = Output number in millimetres
# Zeros TRUE = Leading zeroes are displayed for Imperial units
#-------------------------------------------------------------
Denominator 32
Dimension DENS
DP 0
ENU true
Fraction false
FtLabel '
InchSeparator .
Label Units
Units lb/ft3
Zeros true

DENSITY
# Format of densities
# Denominator Largest denominator for Imperial fractions
# DP 2 = Number of decimal places for decimal fractions
# ENU TRUE = Use ENU format when outputting POSITIONS
# Fraction FALSE = Fractional part output as decimal
# FtLabel |'| = Label used for feet
# InchSeparator |.| = Separator between inches and fractions
# Label General distance label e.g. mm or "
# Units MM = Output number in millimetres
# Zeros TRUE = Leading zeroes are displayed for Imperial units
#-------------------------------------------------------------
Denominator 32
Dimension DENS
DP 0
ENU true
Fraction false
FtLabel '
InchSeparator .
Label Units
Units lb/ft3
Zeros true


The DES-PURPOSE parameter file is an essential file that is used to describe different elements in chosen language. Each line has the following format:
Code Type\Purpose\Description where
Code is
a) 0000 for elements only available under concrete zone elements (dunion of 0)
b) 0002 for elements only available under steel zone elements (dunion of 2)
c) 0001 for elements available under all zones irrespective of dunion value
Type is the type of the element
Purpose is the value of the attribute purpose
Description is a text which is used in the list of available types for creation on the main Concrete Building Design form.
#Identifier DEFPURP
# Purposes
0001 SITE\CIV\Building
0001 SITE\SYS\System
0001 ZONE\CIV\Material
0001 ZONE\EQUI\Equipment
0001 ZONE\HS\Hangers & Supports
0001 REST\HS\Hangers & Supports
0001 STRU\LEVL\Level
0001 STRU\HS\Hangers & Supports
0001 SUBS\HS\Hangers & Supports
0001 SUBS\STRU\Support Structures
0001 FRMW\WALL\All walls
0002 FRMW\RETA\All retaining walls
0002 FRMW\SLAB\All floors
0002 FRMW\FOOT\All Foundations
0002 FRMW\BASE\All Bases
0002 FRMW\SHEL\All Crash Protection
0002 FRMW\PASS\All Nibs
0001 FRMW\COLU\All Columns
0001 FRMW\BEAM\All Beams
0002 FRMW\STAI\All Stairs
0000 FRMW\CASE\All Stairs
0000 FRMW\GRAT\All Grating
0000 FRMW\RAIL\All Handrails
0000 FRMW\META\All Frameworks
0000 FRMW\LADD\All Ladders
0000 FRMW\BRAC\All stability bracing
0000 FRMW\TRIM\All trimmers
0001 GPWL\FIRE\Fire Sectors
0001 GPWL\CONS\Construction Zones
0001 GPWL\TEST\Test
continues .......
Note:
For sub-components, the description is defined in the files beginning with GTYPE.
Note:
For groups of rooms, the type is defined with GPWL

DES-PURPOSE
Note
:
Note
:
#Identifier DEFPURP
# Purposes
0001 SITE\CIV\Building
0001 SITE\SYS\System
0001 ZONE\CIV\Material
0001 ZONE\EQUI\Equipment
0001 ZONE\HS\Hangers & Supports
0001 REST\HS\Hangers & Supports
0001 STRU\LEVL\Level
0001 STRU\HS\Hangers & Supports
0001 SUBS\HS\Hangers & Supports
0001 SUBS\STRU\Support Structures
0001 FRMW\WALL\All walls
0002 FRMW\RETA\All retaining walls
0002 FRMW\SLAB\All floors
0002 FRMW\FOOT\All Foundations
0002 FRMW\BASE\All Bases
0002 FRMW\SHEL\All Crash Protection
0002 FRMW\PASS\All Nibs
0001 FRMW\COLU\All Columns
0001 FRMW\BEAM\All Beams
0002 FRMW\STAI\All Stairs
0000 FRMW\CASE\All Stairs
0000 FRMW\GRAT\All Grating
0000 FRMW\RAIL\All Handrails
0000 FRMW\META\All Frameworks
0000 FRMW\LADD\All Ladders
0000 FRMW\BRAC\All stability bracing
0000 FRMW\TRIM\All trimmers
continues .......


The DISTANCEDIRECTION parameter file is an optional file used to describe sub-components that are specified by a distance and a direction. This file is not currently supported by the application.
#
# Show form for two positions for following gtypes
#
HAND

DISTANCEDIRECTION
#
# Show form for two positions for following gtypes
#
HAND


The DISTANCES parameter file defines the units to be used for distance/level gadgets. If this file cannot be found then project units is used.
# Format of distances
# Denominator Largest denominator for Imperial fractions
# DP 2 = Number of decimal places for decimal fractions
# ENU TRUE = Use ENU format when outputting POSITIONS
# Fraction FALSE = Fractional part output as decimal
# FtLabel |'| = Label used for feet
# InchSeparator |.| = Separator between inches and fractions
# Label General distance label for example. mm or "
# Units MM = Output number in millimetres
# Zeros TRUE = Leading zeroes are displayed for Imperial units
#-------------------------------------------------------------
Denominator 32
Dimension L
DP 0
ENU true
Fraction true
FtLabel '
InchSeparator .
Label "
Units FINCH
Zeros FALSE

DISTANCES
# Format of distances
# Denominator Largest denominator for Imperial fractions
# DP 2 = Number of decimal places for decimal fractions
# ENU TRUE = Use ENU format when outputting POSITIONS
# Fraction FALSE = Fractional part output as decimal
# FtLabel |'| = Label used for feet
# InchSeparator |.| = Separator between inches and fractions
# Label General distance label for example. mm or "
# Units MM = Output number in millimetres
# Zeros TRUE = Leading zeroes are displayed for Imperial units
#-------------------------------------------------------------
Denominator 32
Dimension L
DP 0
ENU true
Fraction true
FtLabel '
InchSeparator .
Label "
Units FINCH
Zeros FALSE