Microsoft Dynamics NAV-SF Integration
Overview
Microsoft Dynamics NAV-SF Integration moves data between NAV and GoldFinch in Salesforce, supporting dynamic mapping, data transformation, and scheduling. NAV-SF Integration can connect a GoldFinch Salesforce organization with multiple NAV databases and NAV companies.
NAV-SF Integration Settings
Enabled - turn the integration on/off.
Salesforce.com Organization ID – the instance’s organization ID.
NAV-SF Setup Wizard
NAV-SF Setup Wizard – provides a quick way to export and import mappings from one instance to another.
NAV-SF Connection
NAV-SF Connection – defines connection parameters to a NAV company. Multiple connections are supported to connect to more than one NAV database and companies.
Endpoint Base URL – Your NAV Web Service URL. The URL must be set up as an allowed remote site for API callouts.
Company Name – NAV company
Tenant ID – for multiple tenants, NAV deployment environment
NTLM Authentication – for authentication that is based on window log-in.
Username – NAV Login
Password – NAV password or web service key (web service key is recommended)
NAV-SF Object Schema
Before setting up the NAV-SF integration, you must create an object schema for NAV and Salesforce objects.
NAV-SF Mapping
Object Mapping
Direction – specify if the integration is inbound (NAV to Salesforce) or outbound (Salesforce to NAV)
Break on Error – if integration encounters an error on a record, it’ll break to stop the rest of the records if checked
Change Tracking Record Retention Period – automatically clean up the change tracking records to save storage in Salesforce.
Child Mapping – checked if the mapping is a child mapping for header/line and journal integration.
Connection – specifies the NAV database and the company defined in the connection
Web Service Type – NAV-supported web service types: Page and Codeunit
Web Service Operation – defines available operations supported by the published web service.
Web Service Classification - supports a single object, header/line, and Journal.
Single Object – single table, like a customer
Header/Line – parent and child, like Sales Header and Sales Line
Journal – Journal pages, like General Journals
Number of Query Attempts – the number of attempts allowed before running into an error
Web Service Batch Size – the number of records to move during one web service call.
Source Object – the source table that data is pulled from.
Target Object – the target table that data is pushed to.
Delete Before Create – tells the integration job if the target record should be deleted first if it exists in the target database before pushing the data to the target database.
Enforce Operation – supports Insert Only (Strict), Insert Only (Loose), Update Only (Strict), and Update Only (Loose).
Insert Only (Strict) – only perform record insert. Throw an error if records are found in the target database (insert cannot be performed)
Insert Only (Loose) – only perform record insert. Ignore insert if records already exist in the target database.
Update Only (Strict) – only perform record updates. Throw an error if records don’t already exist in the target database.
Update Only (Loose) – only perform record updates. Ignore updates if records don’t exist in the target database.
Mapping Filters
Mapping Filters define criteria for moving selected records from the source to the target system.
Track Last Sync’d – used to capture records that are modified automatically. i.e. Last Modified Date and Incremental Primary Key.
Field Name – field to filter in the source table.
Operator – character/characters that perform specific mathematical or logical manipulations, i.e. <>, IN.
Option – supports Function, Mapping Function, and Value.
Function – functions supported by the integration system, like TODAY, NOW, TRUE, FALSE.
Mapping Function – user custom-defined logic (see mapping function section below).
Value – constant value
Mapping Lines
This is where you map the source fields with the target fields.
Line Type – supports Field Mapping and Child Mapping
Field Mapping – choose a source field
Child Mapping – this is for Header/Line and Journal integration. Here you can choose a child mapping.
Key – a common primary key shared by the source record with the target record. Multiple fields can be checked for a combination key.
Source Field Option – supports Field, Function, Mapping Function
Field – source table field
Function – functions supported by the integration system, like TODAY, NOW, TRUE, FALSE.
Mapping Function – user custom-defined logic.
Source Field – depending on the Source Field Option, the system will show the corresponding list.
Target Field Option – supports Field and Mapping Function
Field – target table field
Mapping Function – user custom-defined logic, but the return value should be a field name on the target table. This allows source data to integrate conditionally with different fields on the target table.
NAV-SF Field Updates
Updates the source records before/after integration is completed (either failed or succeeded). Currently, only works for outbound integration (from Salesforce to NAV)
Stage – supports Pre-Sync and Post-Sync
Pre-Sync – update the source records before sending data to the target database.
Post-Sync – update the source records after sending data to the target database.
Field To Update – the source field to update
Option – supports Field, Function, and Mapping Function
Field – straight field value
Function – the functions supported by the integration system
Mapping Function – user custom-defined logic.
Field Data Source – supports Source Object and Target Object
Source Object – source data to use
Target Object – target data to use
Expression – displays corresponding value list based on the Option and the Field Data Source.
NAV-SF Mapping Function
NAV-SF Mapping Function allows you to compute a value using formulas. Mapping functions can be nested to form a complex formula.
Function – the function supported by the integration system
Parameters – each function requires its only parameter; when a function is chosen, the required parameters for the function will display.
Type – parameter type
Option – the source of value, supports Field, Function, Mapping Function, and Value.
Field – record field value
Function – the functions supported by the integration system, like TODAY, NOW, TRUE, FALSE.
Mapping Function – user custom-defined logic. Mapping functions can be nested to do complex computation.
Value – constant value
Expression – displays correspondingly based on the option.
NAV-SF Job Scheduler
A job scheduler schedules one or more mappings to execute at a specified time. Multiple schedules can be set up to include different mappings to run at different times and frequencies.
Detail Section
Daily Frequency – supports Hourly and Once
Run Time – in hour:minute:second format.
Start Time – when the job starts during the day
End Time – when the job ends during the day
Weekly Frequency – specify which days the job runs
Execution Method – support Sequential and Concurrent
Sequential – mappings are executed one after another based on the specified order of Job Items.
Concurrent – mappings are executed, with no control over which ones are executed first or at the same time.
Log Retention Period – automatically delete integration logs based on the specified period.
Apex Job Information Section
Apex Job ID – shows the apex job ID that the scheduler is attached to.
Next Run Time – the date and time the job will run next time.
NAV-SF Job Items – This is where you chain mappings
Break on Error – defines if the scheduler should continue with the next job if the current job hits an integration error.
Execution Order – specify which mapping executes first.
NAV-SF Integration Log
An integration log tracks synchronizations of all records within a mapping execution.
NAV-SF Integration Record
An integration record is a web service call that includes one or more records (specified by the Web Service Batch Size in the mapping) sent to the target system. It contains the request and response details.
NAV-SF Change Tracking Records
Change Tracking Records keep the information of the synchronized records between Salesforce and NAV and the sync status of every record.