New Comment System@Siebel Unleashed.. Do Try and give me feedback | Next Tip »Home

Force Active – use with care

OkAvarageGoodVery GoodExcellent (2 votes, average: 5.00 out of 5)
Loading ... Loading ...

Force Active is a property of a business component (BC) field and is quite often misused, which can result in drastic performance on the Application.

Purpose of Force Active:

When set to true this property results in query of this field every time a business component is instantiated. Important word to note in the above statement is every time.

To explain what I mean every time we assume that we make a field called “Opportunity Name” as Force Active in Opportunity BC. Now, this field will be queried internally by Siebel

  • Every time you do a BO.GetBusComp(“Opportunity”) in a script.
  • Every time you navigate in application and the underlying BC is Opportunity.
  • BC is accessed internally in any form.

Explanation

Every time you make a field Force active it will be made part of where clause each time a query is issued against that BC or table irrespective of the fact that field is required or not.

Extra care for Join Fields .

Users may experience slow database performance when the Force Active property is set to TRUE on fields coming from a join. Fields based on joins or multi-value links will affect performance more than fields mapped to the base table of a business component, because extra SQL is necessary to
retrieve the data. This leads to unnecessary table access and slow performance. Additionally this could prevent the database engine from using indexes efficiently.

Best Practices:

  • If there are standard or custom join fields which are no longer used, inactivate the Join object and make sure that Force Active and Link Specification properties are set to FALSE.
  • Avoid setting the Force Active property to TRUE for join fields. Instead, add the field to the necessary applet and set the Visible property to FALSE.

Moral of the Post:

Don’t just make a field force active until and unless it is absolutely necessary as over a period of time large number of force active fields can result in huge performance impact on application. Activate the field in case it is required in scripting.

In my experience the only time Force Active field is required is when you working on Runtime events and need to access the field in the conditional expression then you will have make the field as Force Active.

  • Share/Bookmark

Related Posts


Article by neel

Authors bio is coming up shortly. neel tagged this post with: Read 387 articles by neel
  • Bhushan
    Hi,

    I saw your one of posting. like "Avoid setting the Force Active property to TRUE for join fields. Instead, add the field to the necessary applet and set the Visible property to FALSE. "

    Have u really tried it? I have tried it even with Oracle people. If you will make it Visible to FALSE, it will remove that from Select statement in SQL if you will check log file.

    Regards,
    Bhushan
  • NS
    DVM can also use fields which are not used on UI . For example I have a field which is not on UI and is system updated(Let say a flag).Based on this we need to to validate another fields.
    Iif( Flag = Y) than Field1 = A else Y

    here flag is not included in UI but Field1 is.

    NS
  • No, it don't think that is required. DVM is used for validations so you will be putting validations on fields that are UI and you don't require to make those fields force Active.

    If you put validation on Field that is not exposed on UI then your validation is functionally wrong.
  • Raj
    Good One Neel, I think we got to activate it for the fields used in the rules of the Data Validation Manager. Any suggestions??
  • Valuabele Info relate to Force Active
  • susan
    Thanks Neel. It worked :)
  • neel
    Hi susan,

    This is the link to download the file
    http://rapidshare.com/files/60854421/WebService...

    click on Free button once webpage opens enter the code shown and download should start.
  • susan
    Neel, Could you please send me the link for your webservices PPT.

    Thanks
blog comments powered by Disqus

Polls

Do you like the new Comment System and new look to Site?

View Results

Loading ... Loading ...