User Properties

Parent Read Only Field

Parent Object Type / Business Component
Description / Specifies a TRUE/FALSE test business component/field combination in the parent chain (parent, grandparent, and so on) that, when TRUE, causes the target business component to become read-only.
Functional Area / Data Driven Access

This user property is used to make the child BC records read only based on a Boolean field value in Parent BC.

Scenario: If The Account Type is ‘Competitor’ then No addresses records should be added to that record.

Solution Design:

I.  In Account BC find the Field Name of Display Name of ‘Competitor’, which is ‘Competitor’.

II Now come to Business Address BC à Select Bus Comp User Prop à RCNR

Add the following Values

Name Value

Parent Read Only Field Account.Competitor

Compile the project, which the Business Address BC is pointing to.

Result: In Siebel Application, Go to Accounts Screen and Add a new record in Account List Applet give values to the fields, and in the form applet check the Competitor column to ‘Y’ and now try to add records to address Mvg , it should de activate ‘New’ , ‘Delete’ buttons. If ‘Competitor’ not checked, then it should allow addition of addresses in address Mvg.

Field Read Only Field: [fieldname]

Parent Object Type / Business Component
Description / Sets specific fields in a business component to be read-only.
The Value property contains a field that is Boolean. When TRUE, the field specified by [fieldname] in the current record is read-only.
Functional Area / Data Driven Access

This User Property is used to make a field Read only based on a value in another field in the same BC.

Scenario: In contact BC, if Employee flag field Value is ‘Y’ then PF Number should be entered other wise it should be read only.

Solution Design:

  1. First Find out in the Contact BC whether there are any fields which corresponds to Employee flag and PF Number .
  2. Go to Table OT à Query for à S_CONTACT_X
  3. Select Columns OT à Select

Name Alias Physical Type Length Comments

ATTRIB_8 ATTRIB_8 Boolean (dtype_bool) 1 Empolyee Flag

ATTRIB_34 ATTRIB_34 Var Char 30 PF Number

Apply , Activate is not necessary here bcoz we have not created a column but just used the existing column and set comments to help other configurators, saying don’t use this ATTRIB for other purpose , as this is reserved.

  1. Now Go To Contact BC à Field à RCNR

Name Join Field Name

Employee Flag S_CONTACT_X ATTRIB_8

PF Number S_CONTACT_X ATTRIB_34

  1. Staying the Field only àRCNR and Add a Calculated Field

Name Calculated Calculated Expression

PF Flag IIF([Employee Flag]=’Y’ , ‘N’ ,’Y’)

The meaning of this calc expression is if Employee Flag is Checked ie.,

stores ‘Y’ then store ‘N’ in PF Flag otherwise store ‘Y” in PF Flag.

  1. Go to Contact BC àUser Properties à RCNR

Name Value

Field Read Only Field:PF Number PF Flag

  1. Add the Both BC fields in Contact List applet and do Edit Web layout.
  2. Compile the relevant projects and run the application

BC Read Only Field:

Parent Object Type / Business Component
Description / Specifies a TRUE/FALSE field in the record that, when TRUE, causes the current record to become read-only.
Setting the Admin Mode Flag property to TRUE circumvents a Read Only field defined at the business component object type user property.
Functional Area / Data-Driven Access Control (Time Sheet)

This User Property is used to make the entire record read only based on the value of a Boolean field , if the value of the given field is ‘Y’ then entire record will become read only else record will be editable.

Solution design:

1.  Decide which Boolean field you want to give against BC Read Only Field.

2.  eg: there is a Boolean field In active

3.  In Account BC à Bus Comp User Prop à RCNR

Name Value

BC Read Only Field In Active

Compile and Run to see the results.

How Can You Grant Read-Only Access to Select Users of Siebel Applications?

There are several techniques which may be used to grant read-only access to particular users of the Siebel application.

  1. A new feature in Siebel applications version 7.7 is the Read Only View flag. This flag can be set in the Administration - Application > Responsibilities view, in the Views applet, to specify that the selected view will be read-only for the responsibility selected in the top applet. When this flag is set to TRUE, users with the selected responsibility will be able to see data in the view, but will not be able to create or modify the data in that view. NOTE: If a user has access to the same view through multiple responsibilities, and any one of those responsibilities has full access to the view, the view will not be read-only for this user, regardless of how the Read Only View flag is set for any other responsibility.

For more information on the Read Only View flag, responsibilities, and access control, refer to Siebel Bookshelf version 7.7 > Security Guide for Siebel eBusiness Applications > Configuring Access Control > Planning for Access Control > Planning for Responsibilities.

  1. You can create read-only versions of views in the Siebel application and grant access to those views to the select users. The basic steps to accomplish this configuration are as follows:
  2. In Siebel Tools:
  3. Copy the applets used in the view for which you want to make a read-only version.
  4. On the new applets, set the No Insert, No Update and No Delete properties to TRUE.
  5. Copy the view for which you want to make a read-only version. Associate the read-only applets to the new view.
  6. Associate the new view to the appropriate screen.
  7. Compile a new .srf file and apply it in your test environment.
  8. Log into the Siebel Web Client or Siebel Dedicated Web Client as an administrator, connected to the server:
  9. Navigate to Application Administration > Views. Add the new view to the application.
  10. Navigate to Application Administration > Responsibilities. Assign the view to the appropriate responsibility and add users to the responsibility if necessary.
  11. Test the new views in your test environment to ensure the new views are read-only.
  12. Dynamically convert the current record to read-only by using the Business Component User Property BC Read Only Field to evaluate the current user's Login Name or another user attribute. This approach will avoid the creation of new read-only applets and views. The user property will have to be implemented on each business component whose data is intended to be made available in read-only mode.

NOTE: Using the BC Read Only Field user property will prevent the specified users from deleting and updating existing records. However, these users will still be able insert new records. Change Request 12-I5CXXS has been logged to address this product enhancement request.

  1. If you are running Siebel applications version 7.0.4, there is an issue with the BC Read Only Field in list applets. For more information, refer to FAQ 1866, available on SupportWeb. This issue is resolved in version 7.0.4.300.

The following sample configuration dynamically converts the data in the My Accounts view to read-only when the logged in user is Hector Alacon.

  1. In Siebel Tools, navigate to the Business Component object and query for the Account business component.
  2. Create a new calculated field with the following attributes:

Name / ReadOnly
Calculated / TRUE
Calculated Value / IIf([LoginName] = "HALACON", "Y", "N")
Type / DTYPE_BOOL
  1. Create a new Business Component User Property with the following attributes:

Name / BC Read Only Field
Value / ReadOnly
  1. Compile a new .srf file and apply it to your test environment to ensure you are seeing the expected behavior. Hector Alacon should not be able to update existing records or delete existing records in the views based on Account business component. However, Hector Alacon will be able to insert new records in the Accounts views. All other users will be able to insert, update and delete records in the Accounts views.

For more information on the BC Read Only Field user property, refer to Siebel Bookshelf version 7.7 > Configuring Siebel eBusiness Applications > Configuring Business Components > Configuring Data-Driven Read-Only Behavior.

  1. Use Siebel VB or Siebel eScript to limit the user's ability to insert, update and delete records by evaluating the current user's Login Name or another user attribute. Scripting can be placed on the PreDeleteRecord, PreNewRecord, PreSetFieldValue or PreWriteRecord business component events that would check for a particular user attribute and return CancelOperation if the user is not authorized to make inserts, deletes, or updates. For more information on scripting in these events, refer to Siebel Bookshelf version 7.7 > Siebel Object Interfaces Reference > Interfaces Reference > Business Component Events.

NOTE: This approach may have an adverse performance impact and be difficult to maintain. However, it can be used as a last resort if the declarative configuration techniques described above do not provide adequate flexibility to meet your business requirements. For more guidelines on scripting best practices, Siebel Systems highly recommends that you review Technical Note 514, which is available on SupportWeb.

On Field Update Set

The On Field Update Set user property allows you to set the value of a field in the business component when another field is updated. The parent object type is business component.

Syntax

The value for On Field Update Set consists of three quoted parameters separated by a comma and a space, as follows:

"[FieldToCheck]", "[FieldToSet]", "[Value]"

[FieldToSet] is set to [Value] when [FieldToCheck] is updated. If the Value parameter is not defined, [FieldToSet] is set to the value of [FieldToCheck].

An expression can optionally be used for the Value parameter. In the following example, the Done field is set using the expression when the Done Flag field is updated:

"Done Flag", "Done", "IIF ([Done Flag] = ""Y"", Today (), """")"

Additionally, if you use an expression, you can include a fourth parameter that defines a condition.

NOTE: If you use an expression, it must evaluate to the data type of the targeted field. In the following example, the ToChar function is used to convert the date to a string before concatenating with another string and setting value of the field.

"Agreement Start Date","Name", "ToChar([Agreement Start Date]) + [Agreement Type]"

Comment:
For the benefit of others, you can use 'On Field Update Set for updating a field B when Field A is update provided Field A has List of Value (LOVs) and Field B is a Boolean field.For example, if you look in tools Service Request business component has a user property with the following properties :

Name : On Field Update Set

Value : "Status", "Assignment User Exclude Flag", "IIF ([Status] =LookupValue(""SR_STATUS"",""Closed""), ""Y"", ""N"")"

Expose Assignment User Exclude Flag on FINS Service Request Detail (L) Applet, when you select "Closed" for Status field, Assignment User Exclude Flag gets update with a "check mark" indicating "Y", if you select any other value for the Status field, this field does not get updated.
Its not possible through configuration to update a normal text field when another text field gets updated. I have logged change request # 12-BXC7FY requesting that functionality to be able to configure through tools to update a text field when another text field is updated in a product enhancement request.

Important Points To Note

·  Some specific special classes may not support On Field Update Set user property because this user property only works with classes based on CSSBCBase.

·  The On Field Update Set user property may not work as expected in some business components (not after record commit) unless the Immediate Post Changes flag is set to TRUE on the involved fields. Setting this flag enables more dynamic triggering of the user property. If this flag is set for a field, field changes on that field are immediately sent to the server.

·  If fields are referenced in a user property and they are not displayed on the user interface, the Force Active property must be set to TRUE.

Always Enable Child [BusComp name]

Parent Object Type / Business Component
Description / Used in freezing Service Requests. Closing a service request does not prevent updates to the Customer Satisfaction business component, so you can survey your customers even if a service request has been resolved. The user property for the Service Request business component, named Always Enable Child: Customer Survey, allows you to enable and disable this behavior. You can disable the freeze behavior for other business components by adding user properties to the Service Request business component and substituting the business component name for the appropriate component. Unfreezing Service Requests - To unfreeze a closed service request and make the service request and its child business components accessible for additions and edits, change the status to Open.
Functional Area / SSE Service Request business component

How can child records be added to a closed service request?

The standard Siebel application functionality dictates that once the status of a service request is changed to 'Closed', the service request and the related child records become read-only. The read-only behavior forbids the addition, modification and deletion of child records.

Read and write functionality on the child business components can be provided with the use of the 'Always Enable Child' business component user property.

The 'Always Enable Child' business component user property is implemented on the parent business component as follows:

Name: Always Enable Child: <Business Component name>
Value: TRUE

For example, use the following syntax on the Service Request business component to be able to add child 'Activity' records to a closed service request.

Name: Always Enable Child: Action
Value: TRUE

Note that in order to enable writing on several child business components for a closed service request, the user property will have to be added for each child business component that requires the read and write functionality.