Levels of Access and their Effects

The following table lists the levels of access and their effects.

Levels of Access and their Effects
Attributes Effects
<access mode="hide"> The attribute does not appear on the screen.
<access mode="view"> The attribute appears on the screen as read-only.
<access mode="modify"> The attribute appears on the screen and can be modified by the user.
<access mode="view_record"> The record appears in the record list, but cannot be modified.
<access mode="hide_record"> The record does NOT appear in the record list or relationships.

The relationship attribute (quantity) can be declared in one of the following ways.

Declaring the relationship first, and then specifying the access to the attribute of that relationship, as shown in this example:

<!--Declaring only the relationship and then assigning access to the attribute of the relationship -->
<declare>
 	 <var>CONTAINSREL</var>
  	<link type="relationship">
		<literal>Contains</literal>
  	</link>
</declare>
<constraint>
 	 <name>EachAccess</name>
	 <description>If UOM is EACH then change the access for
	 contains Quantity to hide.</description>
	 <condition>
		<eq>
			<var>UOM</var>
			<const type="string">EACH</const>
		</eq>
 	 </condition>
 	 <action>
 		<access mode="hide">CONTAINSREL/QUANTITY</access>
 	 </action>
</constraint>

Declaring the relationship attribute and then specifying the access to the relationship attribute:

<!--Declaring the relationship attribute and then specifying the access to the relationship attribute -->
<declare>
 	 <var>CONTAINSRELQTY</var>
  	<link type="relationship">
		<literal>Contains</literal>
		<literal>Quantity</literal>
  	</link>
</declare>
<constraint>
 	 <name>EachAccess</name>
 	 <description>If UOM is EACH then change the access for
	 contains Quantity to hide.</description>
	 <condition>
		<eq>
			<var>UOM</var>
			<const type="string">EACH</const>
		</eq>
 	 </condition>
 	 <action>
 		<access mode="hide">CONTAINSRELQTY</access>
	 </action>
</constraint>