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.


(7 votes, average: 4.43 out of 5)





[...] Count (”MVL Link”) – reducing scripting [...]
very nice article.thanks.
thanks Ranjith for ur
encouraging comments.
Hi.. How do we count the number of child records in a 1:M relationship
that is what this article is explaining… Please read it carefully
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
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
Thanks Neel… for the clarification
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
count mvl has performance issues too. it has to be done on lighter bc.
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
Hey,
Thats a nice article, thanks a lot for it.
Hi,
Will it work for M:M records.
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
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.