Count (“MVL Link”) – reducing scripting

OkAvarageGoodVery GoodExcellent (11 votes, average: 4.64 out of 5)
Loading ... Loading ...
Viewed : 6,701 times

This Article has been submitted by Deepak  S Kumar. This article describes how to use Count Function in calculated field involving MVL link to count number of child records for a BC and then base our conditions on that to fullfill our requirement.

Very often we have scenarios where conditions has to be set based on the count or number of records in child BC. This can be achieved using the function Count(“MVL Link”) in a Calculated expression and setting conditions with help of user properties. Let’s understand it with help or a Requirement.

Requirement:

A field “Currency “ in “Opportunity” BC should be read only based on the number of records in child BC “Service Agreement “. If the agreement child record count > 0 then Currency should be read only and it should be editable if the child record count = 0

Solution:

Count (“MVL Link”) used as an expression in a calculated field returns the number of records in child BC.

Following configuration in Tools is required to achieve the above functionality:

» For the “Opportunity” Business component, create the Multi Value Link record “Service Agreement” and set the following property for the record: Destination Link = ” Opportunity/Service Agreement ”

» Add following fields to “Opportunity “ Business Component.

Name: Service Agreement Count
Calculated: True
Calculated Value: Count (“Service Agreement”)

Name: Currency Read Only Flag
Calculated: True
Calculated Value: IIF ([Service Agreement Count] = 0, “N”, “Y”)

» Add following BC User Property to Opportunity Business component to make Currency Field Read only

Name: Field Read Only Field: Currency
Value: Currency Read Only Flag

This will make “Currency” Field editable only when Agreement record count = 0  and read only if agreement count > 0.

Related Posts

  • Pingback: » Count number of Child Records without Scripting Siebel Blogs from SiebelGuide.com

  • Ranjith

    very nice article.thanks.

  • Ranjith

    very nice article.thanks.

  • Deepak

    thanks Ranjith for ur
    encouraging comments.

  • Deepak

    thanks Ranjith for ur
    encouraging comments.

  • Ragha

    Hi.. How do we count the number of child records in a 1:M relationship

  • Ragha

    Hi.. How do we count the number of child records in a 1:M relationship

  • http://siebelunleashed.com/ neel

    that is what this article is explaining… Please read it carefully

  • http://siebelunleashed.com neel

    that is what this article is explaining… Please read it carefully

  • Ragha

    I thought the article was dealing with M;M relation because 1:M relations do not have an MVL.. please excuse me if I misunderstood

  • Ragha

    I thought the article was dealing with M;M relation because 1:M relations do not have an MVL.. please excuse me if I misunderstood

  • http://siebelunleashed.com/ neel

    If you read the requirement it says.

    Opportunity field should be read only if the number of child records in Service Agreement BC is greater than zero.

    An MVL uses Link and based on that we have MVF fields in parent BC pulling Child record information so the above solution is valid for 1:M relations also.

    Just create an MVL in parent BC and use Count function to get the number of child records

  • http://siebelunleashed.com neel

    If you read the requirement it says.

    Opportunity field should be read only if the number of child records in Service Agreement BC is greater than zero.

    An MVL uses Link and based on that we have MVF fields in parent BC pulling Child record information so the above solution is valid for 1:M relations also.

    Just create an MVL in parent BC and use Count function to get the number of child records

  • Ragha

    Thanks Neel… for the clarification

  • Ragha

    Thanks Neel… for the clarification

  • NS

    Hi Neel,

    Just to add to your post..
    i have experience performance hit while using count MVL..So if we plan to use such calc fields ..the count shoud use an MVL based on thin child BC..
    It helped us a lot..!

    NS

  • NS

    Hi Neel,

    Just to add to your post..
    i have experience performance hit while using count MVL..So if we plan to use such calc fields ..the count shoud use an MVL based on thin child BC..
    It helped us a lot..!

    NS

  • manisha

    count mvl has performance issues too. it has to be done on lighter bc.

  • manisha

    count mvl has performance issues too. it has to be done on lighter bc.

  • uma

    hi,
    im new to siebel crm.im pleased if anyone say me how to configure links both 1:m and m:m.Anyone explain me the difference b/w them.
    thanks in advance

  • uma

    hi,
    im new to siebel crm.im pleased if anyone say me how to configure links both 1:m and m:m.Anyone explain me the difference b/w them.
    thanks in advance

  • Sai Suman Thadi

    Hey,

    Thats a nice article, thanks a lot for it.

  • Sai Suman Thadi

    Hey,

    Thats a nice article, thanks a lot for it.

  • mahi

    Hi,

    Will it work for M:M records.

  • mahi

    Hi,

    Will it work for M:M records.

  • Sunil

    hi Neel,

    please advice me on this

    In our requirement in Contact(parent) has a MVF Account.if there is only one account associated with contact then the delete button should be disable in contact applet.If there is more than one account associated with contact then delete button should enable.

    i had done all configuration mentioned bu you ..and i add Applet user property

    Name=CanInvokeMethod: DeleteRecord
    Value:[Calculated field]

    Calc field:Count(“MVL”)
    Calculated field:IIF ([calc field] = 1, “N”, “Y”)

    but its not working.
    waiting for u r reply…

  • Sunil

    hi Neel,

    please advice me on this

    In our requirement in Contact(parent) has a MVF Account.if there is only one account associated with contact then the delete button should be disable in contact applet.If there is more than one account associated with contact then delete button should enable.

    i had done all configuration mentioned bu you ..and i add Applet user property

    Name=CanInvokeMethod: DeleteRecord
    Value:[Calculated field]

    Calc field:Count(“MVL”)
    Calculated field:IIF ([calc field] = 1, “N”, “Y”)

    but its not working.
    waiting for u r reply…

  • MM

    Sunil
    I think you cannot use a BC field in ‘Value’ Field of Applet User Property. You must use a expression which returns a N/Y value to make applet user property work.

  • MM

    Sunil
    I think you cannot use a BC field in ‘Value’ Field of Applet User Property. You must use a expression which returns a N/Y value to make applet user property work.

  • Hitesh Dubey

    does it get refreshed…. since in my case it is not.

  • http://www.facebook.com/rick.v.haasteren Rick Van Haasteren

    Nice. Don’t forget the type of the calculated field to DTYPE_NUMBER, this helps you in calculations.

  • http://www.facebook.com/rick.v.haasteren Rick Van Haasteren

    Nice. Don’t forget the type of the calculated field to DTYPE_NUMBER, this helps you in calculations.

  • http://www.facebook.com/rick.v.haasteren Rick Van Haasteren

    Nice. Don’t forget the type of the calculated field to DTYPE_NUMBER, this helps you in calculations.

  • Scriptless Siebel
  • Product Configurator