## Overview

This example shows how a user can execute a formula from inside another formula using a function called **ExecuteFormula **and a formula type called **Library Calculation**.

This can be useful when a set of steps are used often - having a centralized custom function setup and available allows for ease of access and is simpler to update.

In this example, we wish to calculate the surface area of a sphere using a centralized formula.

**Note**: we will use two custom fields called Sphere radius and Sphere surface area.

## North52 Decision Suite

The North52 Decision Suite solution works like this:

- A formula is setup that triggers whenever the custom field
**Sphere radius**changes on an**Account**- This formula will execute another
**Library Calculation**formula- The first formula will pass the new
**Sphere radius**value as a parameter into the**Library Calculation**formula - The Library Calculation formula then calculates the surface area of the sphere and passes back the value to the initiating formula
- Our example uses an
**xCache**record to reference the value for Pi

- Our example uses an

- The first formula will pass the new
- The first formula uses this new value to update the
**Account**record field**Sphere surface area**

- This formula will execute another

**xCache **

- Navigate to
**Settings > N52 xCache** - Click
**New** - Set
**Category**to**LibraryCalculations** - Set the
**Base Key**to**LibraryCalculations_Pi** - Set the
**Value (Secured)**to 3.14159265358979323846 - Click
**Save**

**Formula**

### Library Calculation Formula

- Navigate to
**Settings > N52 Formula** - Click
**New** - Set
**Source Entity**to**N52 Command** - Set
**Formula Type**to**Library Calculation** - Select
**Classic Editor** - Click
**Create** - Set the name to
**Calculate the surface area of a sphere** - Open the advanced editor and enter the following formula:
4 * xCacheGetGlobal('LibraryCalculations_Pi') * Pow(CDecimal([north52_command.radius]), '2')

- Click
**Save** - Make a note of the Short Code in the top right hand corner, you will need it for the next formula

### Standard Formula

- Click
**New** - Set
**Source Entity**to**Account** - Set
**Formula Type**to**Save - Perform Action** - Select
**Classic Editor** - Click
**Create** - Change the name to
**Recalculate sphere surface area** - Expand
**Source & Target**- Select
**Sphere radius****Note**: this is a custom field, you will need to create it

- Select
- Open the advanced editor and enter the following formula (
**Note:**you will need to swap the below Short Code (**Ig9**) with the Short Code of your formula.*'new_spheresurfacearea' is a custom field which you will need to create**.*):Smartflow( UpdateRecord('account', [account.accountid], SetAttribute('new_spheresurfacearea', ExecuteFormula('Ig9', '', SetFormulaParameters('radius', [account.new_sphereradius])))))

- Click
**Save**

## Testing

- Open an
**Account**record- Make sure the two custom fields are added to the form

- Make a change to the
**Sphere radius** - Click
**Save** - You should see the results in the
**Sphere surface area**field: