Configuring Siebel Business Applications > About Business Components, Fields, Joins, and Links > About Business Component Fields >

How Siebel CRM Defines Read-Only Behavior for a Business Component Field


This topic describes how Siebel CRM defines read-only behavior for a business component. It includes the following topics:

You can turn on or turn off the read-only status of a business component or business component field while Siebel CRM is running, depending on the value in a specific field in the current record. For more information, see Example of Defining Read-Only Behavior for a Business Component.

Table 12 describes the business component user props that you can use to define read-only behavior. For more information about user properties, see Siebel Developer's Reference.

Table 12. Business Component User Props That You Can Use to Define Read-Only Behavior
Business Component User Prop
Description

BC Read Only Field

Defines a TRUE or FALSE field in the record. If TRUE, then the current record is read-only. For more information, see How the BC Read Only Field User Property Functions.

Field Read Only Field: fieldname

Defines a TRUE or FALSE test field and a target field in the same business component. If TRUE, then the target field is read-only.

The format for FieldName works if FieldName is not a join field. If FieldName is a join field to another table, then this format does not update the field that uses this format in the Pre Default Value property of the field.

For more information, see How the Field Read Only Field User Property Functions.

Parent Read Only Field

Defines a TRUE or FALSE test on a field in the parent business component. If TRUE, then the target business component is read-only. For more information, see How the Parent Read Only Field User Property Functions.

Parent Read Only Field: business component name

Defines a TRUE or FALSE test on a field in the parent business component. This functions similar to the Parent Read Only Field business component user prop, except the parent business component is in the name of the user property, rather than in the value. For more information, see How the Parent Read Only Field: Business Component Name User Property Functions.

How the BC Read Only Field User Property Functions

The BC Read Only Field user property specifies a Boolean field that, if TRUE, changes all fields in the current record to read-only. This property also prevents the user from updating or deleting the record, but does not prevent the user from adding new records to the business component.

The BC Read Only Field user property includes the following important properties:

  • Name. Contains the literal text BC Read Only Field.
  • Value. Contains the name of a field in the parent business component of this business component user prop. This field must be a TRUE or FALSE field.
Example of Using the BC Read Only Field User Property

Assume you must prevent the user from updating an inactive account. The Inactive Account field in an account record is a TRUE or FALSE field that, if TRUE, indicates that the account is inactive. To configure dynamic read-only behavior for the Account business component, you can add a business component user prop to the Account business component. This example business component user prop contains the following properties:

  • Name. BC Read Only Field.
  • Value. Inactive Account.

How the Field Read Only Field User Property Functions

The Field Read Only Field user property is similar to the BC Read Only Field user property because it tests the field that you define in the Value property and enforces a read-only restriction if the value of the test field is TRUE for the current record. Unlike the BC Read Only Field user property, the Field Read Only Field user property restricts only one field in the business component record rather than restricting all fields in the entire business component record.

The Field Read Only Field user property includes the following important properties:

  • Name. Contains an expression in the following format:

    Field Read Only Field: fieldname

    where:

    fieldname is the name of the field on which a read-only restriction is applied

    For example:

    Field Read Only Field: Account Status

    You must include only a single space between the colon and the field name.

  • Value. Contains the name of the test field. This is a TRUE or FALSE field in the parent business component of the user property.

You must create one Field Read Only Field user property for each field that you must make conditionally read-only.

How the Parent Read Only Field User Property Functions

The Parent Read Only Field user property, like the BC Read Only Field user property, places a read-only restriction on an entire business component rather than on a single target field. This restriction occurs if a TRUE or FALSE test field includes a TRUE value. Unlike the BC Read Only Field and Field Read Only Field user properties, the Parent Read Only Field user property places a restriction on a child business component of the business component that contains the test field. In the other user properties, Siebel CRM places the read-only restriction on the business component that contains the test field, or on another field in the same business component.

You use the Parent Read Only Field user property to accomplish the following:

  • Restrict the child records that Siebel CRM includes in a multi-value group.
  • Restrict the child records in a master-detail view. You must make sure that Siebel CRM does not also use the restricted business component in the context of some other business object.

The Parent Read Only Field user property includes the following important properties:

  • Name. Contains the literal text Parent Read Only Field.
  • Value. Contains an expression in the following format:

    business component name.field name

    where:

    • business component name is the name of the business component in which the test field is located. For example, Account.Inactive Account.
    • field name is the name of the test field. This is the TRUE or FALSE field that Siebel CRM evaluates.

You add the user property as a child of the business component that is conditionally restricted. The business component that contains the test field must be a parent of the restricted business component through a link or through a series of link relationships.

NOTE:  If you use the Parent Read Only Field user property, then the value of the Link Specification property of the test field must be TRUE. Otherwise, the dynamic read-only functionality does not work. However, if the child record displays in the multi-value field in the parent business component, then the Link Specification property of the field does not have to equal TRUE.

Example of Using the Parent Read Only Field User Property

Assume you must disable the update of the Account Address Mvg Applet if the account record includes a Type of Competitor. To accomplish this, you add the same calculated field as described in Example of Using the BC Read Only Field User Property. You then add a user property to the Business Address business component with the following values:

  • Name. Parent Read Only Field.
  • Value. Account.Competitor Calc.

This configuration causes the Account Address Mvg Applet to be read-only if the account record is for a competitor.

How the Parent Read Only Field: Business Component Name User Property Functions

The Parent Read Only Field: business component name user property allows a child business component to perform a TRUE or FALSE test on multiple parent business components. The behavior of the Parent Read Only Field: business component name user property is similar to the behavior of the Parent Read Only Field user property. However, the name rather than the value specifies the parent business component. If the calculated value of the field is TRUE or Y, then the child business component is read-only. For more information, see Siebel Developer's Reference.

Guidelines for Using a Business Component User Prop with the Admin Mode Property

Do not use a business component user prop with an applet that resides in a view where the Admin Mode Flag property of the view contains a check mark. If Admin Mode Flag contains a check mark, then Siebel CRM turns off all insert and update restrictions for the business components that the view uses, including those that the business component user prop defines. Siebel CRM ignores the Sales Rep and Personal visibility modes of the business component. Records that do not include a primary team member are also visible. However, Siebel CRM does not override pop-up visibility.

You must only set the Admin Mode Flag property to contain a check mark in a view that is part of a screen that contains only administration views. Do not use the Admin Mode Flag property for a view in a screen that contains any views that are not administration views. You can create a list view where the Admin Mode Flag property contains a check mark if this list view drills down to a detail view that is not marked as an administration view. This technique allows you to share a detail view with a list view that is not an administration view.

CAUTION:  All views and drilldowns in a screen that is granted Admin Mode behave in Admin Mode due to their subordinate relationship to the screen. If a view is a child of a screen that is in Admin Mode, and if the Admin Mode flag for the view does not contain a check mark, then Siebel CRM still displays the view in Admin Mode.

Configuring Siebel Business Applications Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Legal Notices.