Read-only Behaviour Driven by Parent BC in Siebel

There are many ways to skin a cat (yes, it is a cliche), and there are indeed many ways to make a field read-only in Siebel.

But you will have this burning question in mind – how about making child fields read-only depending on the parent business component fields?

Surprise, surprise – there are many ways to do that too. The common ways are outlined in the post referred above. The idea here is to drive the message through an example!

For the purposes of this post, let us consider an example. Our Siebel instance has Accounts, Contacts and Activities in the view. The objective is to make the Contacts and Activities read-only when Account is in ‘Terminated’ status.

 

1. BC Read Only Field

The most common way of turning the entire BC read-only is also the most common way to turn the child record read-only depending on the parent record.

Define the following user property –

Create the following calculated field in Contact.

 

2. Parent Read Only Field

The next common occurrence in most Siebel implementations – Parent Read Only Field. The idea is to define the condition in child BC to make the record read-only depending the parent field value.

In our example, define the following user property in Contact business component.

Define the following field in Account business component.

 

3. Aspect User Property

You can use the highly versatile Aspect user properties to drive the read-only behaviour in child BCs.

You could define the user property on the parent to make the child BC read-only.

Or, you could define properties at the child BC level.

Aspect BC Read Only provides you the added bonus of disabling new/update buttons as well.

 

Refresh Issue: Child Record Not Read-only on Parent Field Change

So – you have defined the fields and user properties. And now, you will turn the status in Account to ‘Terminated’. But, you can see that with some properties described above, the child records do not become read-only immediately.

This is solved by –

  • Using a property like RefreshBusComp for refreshing the current BC and also the child/parent records. This will retail the user context and current record.
  • Use user property or script to leverage OOB services like ‘FINS Teller UI Navigation’ or ‘SIS OM PMT Service’ to refresh the view.

In Conclusion

There is no preferred method per se. While any references to the parent field in the child BC will require ‘Link Specification’ to be turned to TRUE for parent fields, this is not required if you are controlling child BC behaviour at the parent level (e.g. Aspect Child BC ReadOnly user property).

Further Reference: Detailed documentation on how Siebel drives read-only behaviour

Leave a Reply

Be the First to Comment!

Notify of
avatar
wpDiscuz