0% found this document useful (0 votes)
25 views

Data Access Control 6.8

This document provides an overview and examples of how to customize Status Control in Project Training to restrict data modification and status promotion based on status values. It also describes using status values for auto colors in 3D models and how customization can be done through PML and .NET programming.

Uploaded by

Mayur Mandrekar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Data Access Control 6.8

This document provides an overview and examples of how to customize Status Control in Project Training to restrict data modification and status promotion based on status values. It also describes using status values for auto colors in 3D models and how customization can be done through PML and .NET programming.

Uploaded by

Mayur Mandrekar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Once all the transitions are set save work then switch to the Design module.

Use the login details


provided by the Trainer. They will typically be similar to this: Project Training
Username A.PIPER
Password A
MDB A-PIPING

6.7
Status Control supports an extensive range of customisation options in the areas of Data Access Control,
PML and C#. Extensive consideration of this topic is outside the scope of this training course, however a
brief overview of possible functionality is provided in the sections that follow.
For details of customisation requirements please refer to the Status Control Reference Manual.
Data Access Control 6.8
The Status Control utility can be coupled closely with Data Access Control to preserve data integrity. A
variety of activities can be restricted. For example, only users with particular access rights may change
the status of an object once it has reached a certain stage; or, only certain users can assign or remove
status from a controlled object. Suitable error messages can also be generated to alert the user of any
restriction.
Provided below are two example Data Access Control rules. They have been created on the basis of
Roles where the first PEROP grants all rights on all elements and attribute classes, then successive
PEROP’s deny some rights under specific conditions.
6.8.1 Prevent Modification of an Object of a Certain Status
It may be desirable to ensure that a model object cannot be changed once it has reached a certain
status value. For example, if an item of equipment was very close to being issued but needed sign off,
no further modifications would be required. For the purpose of this example, this state could represent a
Design Status of 90%.
The Administrator can cater for this situation by creating a PEROP that denies modify and delete
operations on equipment for all attributes, with the qualifying condition that the Design Status is
greater than or equal to 90%. The syntax for the condition would be:
COND ( ATTRIB STVNUM(ID /DesignStatus ) GE 90 )
Expressions relating to Status Values usually require the name of the owning Status Definition to be
provided as a qualifier. In this example /DesignStatus is the name of the Status Definition.

A suitable error message would also need to be returned to the user e.g. DAC: You may not modify an
object that is ready for issue.
6.8.2 Prevent Promotion of an Object by Certain Users
It may be necessary to restrict which users are capable of promoting a model object once the
object reaches a certain status value. For example, a model object has been promoted to a Check
Stress status by a designer, but the Administrator wants to ensure that only a supervisor promotes the
status to Checked.
In this case the Administrator should create a PEROP that denies modify and delete operations on
STALNK (status link) elements for attribute VALREF (status value reference) with the qualifying
condition that the Design Status is currently at Check Stress. The syntax for the condition would be:
COND ( ATTRIB OWNER OF VALREF EQ ID /Design Status AND ATTRIB DESC OF VALREF EQ
‘Stress Check’ )
As with the previous example, a suitable error message should be provided to the user e.g. DAC: You may not
modify an object that awaits stress checks.

6.9
Status Values can be used in the Element Rules for Auto Colours. If suitable Element Rules are defined,
and Auto Colour rules added, then status distinctions can be made in the 3D model. For example,
uncontrolled equipment could be shown in red, while a range of other colours could be used to reflect key
status values. Typical syntax for element rules are shown below.
The use of Auto Colours is not applicable to Status Control definitions that are applied to the DRAFT
application.

6.9.1 Equipment with Design Status Not Controlled


If the user wishes to show equipment items that are not controlled in a different colour the element rule
syntax would be:
Rule Name: Equipment Not Controlled
Types: EQUI
Rule: badref( attrib stvval( /EquipmentDesignStatus ) )
Where EquipmentDesignStatus is the name of the STADEF defined in Lexicon.
6.9.2 Equipment with Design Complete
If the user wishes to show equipment items that are completed in another colour the element rule syntax
would be:
Rule Name: Equipment Complete
Types: EQUI
Rule: attrib stvnum( /EquipmentDesignStatus ) eq 100
Where EquipmentDesignStatus is the name of the STADEF defined in Lexicon.
PML Customisation 6.10
Status Control operations can be carried out using PML. Any operation that can be carried out using the
Status Controller can also be done using appropriate PML objects and syntax.
By incorporating an event mechanism, specific company and project requirements can be
accommodated. User methods can be added as event handlers and called with single array arguments.
Both Status change events and database change events can be catered for in this way.
Status data can be manipulated using the PML object statusProjectHandler.pmlobj. This object
encapsulates a number of core routines that could also be used directly.
Please refer to the Status Control Reference Manual for further details.
.Net Customisation (C#) 6.11
Customisation can be undertaken in .NET applications. This may be as an alternative to, or in conjunction
with the PML customisation. Where such customisation is carried out using C#, a number of Classes are
available to the user. They have similar functionality to the PML objects and can be used status values
and events.
Please refer to the Status Control Reference Manual and PDMS .Net documentation for further
information.

You might also like