Count (“MVL Link”) – Reducing scripting
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.