Views:

Scenario Overview

In this business scenario we need to Geo-Encode the address details of the Account entity whenever the address changes on the Account record. We use the Microsoft GeoEncode web-service to take the address details and have it return the longitude & latitude co-ordinates.

North52 uses Microsoft's Bing geo-encoding service to retrieve the required data & you will need a Microsoft account. This must be configured within the North52 Configuration entity. Click here for more details.


 
N52 Formula Manager Solution

The Formula Manager solution works like this,

  • We create a formula that executes whenever any of the  Address1 fields change
  • When this happens we send the Address1 details to the Microsoft Bing Web-Service
  • The web-service returns the longitude & latitude co-ordinates which we store in a variable 'Result'
  • Next we perform an Update on the Account record by extracting the two values from the 'Result' variable

N52 Formula Manager Steps

The following set of steps will set this formula up for you.

  • Create a new formula of type 'Save - Perform Action'
  • Set the Source Entity to 'Account'
  • Set the Event to 'Update'
  • Set the Source Property field to Address1_line1, Address1_line2, Address1_line3, Address1_city, Address1_stateorprovince, Address1_postalcode, Address1_country
  • Copy & paste the formula below into the formula description field
  • Click Save
  • Ready to test

Formula

SmartFlow(      
     SetVar('Result', 
       GeoCodeBing( [account.address1_line1], 
                       [account.address1_city], 
                     [account.address1_stateorprovince],
                     [account.address1_postalcode], 
                    [account.address1_country])),        

             SmartFlowReturn(  
                        UpdateRecord('account',                                               
                                     [account.accountid],             
                                     SetAttribute('address1_latitude', Split(GetVar('Result'), '