Skip to main content

Integrations Technical Design SFDC-Navision Integrations

 

Integrations Technical Design

VJ

SFDC-Navision Integrations

 

Phase

Owner

Date

Approver

Approved Date

Initial Document


 

 

 

Change Request (Ex. Mapping change for address)

 

 

 

 

 

 

 

 

 

 Contents                                                                                      

Technical Overview................................................................................. 3

Approach............................................................................................ 3

Module List........................................................................................ 3

Integration Logic...................................................................................... 4

Business logic.................................................................................... 4

Mappings........................................................................................... 4

Issue with Source / Target............................................................. 6

Incompatibility.................................................................................. 6

Performance Considerations.......................................................... 6

Other Considerations...................................................................... 6

Testing Summary............................................................................. 6

Unit Testing....................................................................................... 6

Open and Closed UAT Issues for this Deliverable........................... 8

Open UAT Issues.............................................................................. 8

Closed UAT Issues........................................................................... 8

 

Taskflows:

 

AccountExtract_SFDC_To_Navision

AccountUpdate_SFDC_To_Navision

AccountOwner_SFDC_To_Navision

AccountParent_SFDC_To_Navision

AccountClassification_SFDC_To_Navision

AccountExtract_SFDC_To_Navision_Poland_Russia

AccountExtract_SFDC_To_Navision_Poland_Russia

AccountOwner_SFDC_To_Navision_Poland_Russia

AccountParent_SFDC_To_Navision_Poland_Russia

AccountClassification_SFDC_To_Navision_Poland_Russia

Sweden_Account_Owner_Changes_From_Nav_To_SFDC_TF

Sweden_Account_Parent_Changes_From_Nav_To_SFDC_TF

             Assets_From_Navision_To_SFDC_TF

Contracts_From_Navision_To_SFDC_TF

 

 

Approach

Note:If the Functional Design included a Technical Overview section, duplicate that information here and add additional details.

This integration helps to integrate the Account details from FSL Navision and inturn the Account number and Navision_id_c will integrate back from Navision to FSL. It also integrates the Account Owner and Parent Account details from FSL to Navision and from Navision to FSL. Account Classification task will integrate whether the Account is Active or Prospect from Navision to FSL. This is implemented for all the Western Countries like Norway,Sweden,Netherlands, Switzerland,Germany,UK,Eire,Spain, Portugal, Italy, France, Turkey, Dubai and Eastern  Country Poland and also for Russia

 

 

 

 

 

Module List

 

Taskflow 1: AccountExtract_SFDC_To_Navision

Python_Migration_AccountExtract_for_NavCreateCustomer 

 

 

Task1:

 

Python_Migration_AccountExtract_for_NavCreateCustomer

 

Task

Python_Migration_AccountExtract_for_NavCreateCustomer

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Account

Target

PROD_SQL_Server_Nav_West_Prod

Target Object

SFDC Account

 

 

Business logic: SE will create a customer in Salesforce and push the record into Navision Staging, The Custom program in Navision will process staging data and create customer and assign account number and Navision ID.

 

Technical Logic/Filter conditions:

 

Account  filtered by Create_Customer_in_ERP__c = true AND AccountNumber = '' AND (CreatedDate >= $LastRunTime OR LastModifiedDate >= $LastRunTime) and Subsidiary__c IN ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','VTI Italy' , 'VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden')

 

Mappings

 

 

 

Source Fields

Target Fields

Source Mapped fields

Name

SFDC_ID

SFDC_ID__c

Type

Name

Name

BillingStreet

Type

Type

BillingCity

Site

''

BillingState

Billing_Street

IIF(NOT(ISNULL(BillingStreet)),BillingStreet,'')

BillingPostalCode

Billing_City

IIF(NOT(ISNULL(BillingCity)),BillingCity,'')

BillingCountry

Billing_State

IIF(NOT(ISNULL(BillingState)),BillingState,'')

ShippingStreet

Billing_Postal_Code

IIF(NOT(ISNULL(BillingPostalCode)),UPPER(BillingPostalCode),'')

ShippingCity

Billing_Country

IIF(NOT(ISNULL(BillingCountry)),UPPER(BillingCountry),'')

ShippingState

Shipping_Street

IIF(NOT(ISNULL(ShippingStreet)),ShippingStreet,'')

ShippingPostalCode

Shipping_City

IIF(NOT(ISNULL(ShippingCity)),ShippingCity,'')

ShippingCountry

Shipping_State

IIF(NOT(ISNULL(ShippingState)),ShippingState,'')

Phone

Shipping_Postal_Code

IIF(NOT(ISNULL(ShippingPostalCode)),UPPER(ShippingPostalCode),'')

Website

Shipping_Country

IIF(NOT(ISNULL(ShippingCountry)),UPPER(ShippingCountry),'')

CurrencyIsoCode

Phone

IIF(NOT(ISNULL(Phone)),Phone,'')

OwnerId

Fax

''

Create_Customer_in_Oracle__c

Accountnumber

''

Service_Hold__c

Website

IIF(NOT(ISNULL(Website)),Website,'')

SFDC_ID__c

Salesperson_Code

UPPER(OwnerId)

Subsidiary__c

OEM

''

Parent_Account_Name__c

Navision_ID__C

''

Credit_Hard_Hold__c

Create_Customer_in_Navision

Create_Customer_in_Oracle__c

 

Site_Number

''

 

Currency_Code

CurrencyIsoCode

 

Subsidiary

Subsidiary__c

 

Customer_Template

UPPER(BillingCountry)

 

Status

'0'

 

Import_Date

TRUNC(sysdate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'0'

 

Parent_Account

IIF(Parent_Account_Name__c !='' ,UPPER(Parent_Account_Name__c) ,'')

 

Cloud_Integration

1

 

Credit_Hard_Hold__Flag

Credit_Hard_Hold__c

 

Service_Hold_Flag

Service_Hold__c

 Taskflow 2: AccountUpdate_SFDC_To_Navision

 

Module List

Python_Migration_AccountUpdate_for_NavCreateCustomer

Python_Migration_AccountUpdate_for_Navision_UpdateCustomer

 

 

Integration Logic

 

Task1:  Python_Migration_AccountUpdate_for_NavCreateCustomer

 

Task

Python_Migration_AccountUpdate_for_NavCreateCustomer

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Account

 

 

 

 

Business logic : After SE entered customer was created in Navision then the program will update back to Salesforce with corresponding Account number and Navision ID

 

Technical Logic:

SFDC Account  filtered by "Status"='1' AND "Subsidiary" IN ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','Willett S.r.l. (Italy)' ,'VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden') AND (DATEDIFF(day,"Process_Date",GETDATE()) BETWEEN 0 and 1)

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

SFDC_ID

Accountnumber

AccountNumber

Accountnumber

Navision_ID__C

Navision_ID__c

Navision_ID__C

 

Sync_Status__c

'Updated'

 

 

Taskflow 2: Python_Migration_AccountUpdate_for_Navision_UpdateCustomer

 

Task

Python_Migration_AccountUpdate_for_Navision_UpdateCustomer

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Account

Target

PROD_SQL_Server_Nav_West_Prod

Target Object

SFDC Account

 

 

 

Business logic: If SE changes account sync status as “Updated” on Salesforce side, then the program will update last modified date and status on existing record in the Naviosn stage table.

 

Technical / Filter conditions

Account  filtered by Sync_Status__c = 'Updated' AND LastModifiedDate >= $LastRunTime AND Subsidiary__c IN ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','VTI Italy' , 'VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden')

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

LastModifiedDate

SFDC_ID

SFDC_ID__c

SFDC_ID__c

Status

'2'

Last_Mod_Time__c

Export_Date

TRUNC(LastModifiedDate)

 

Export_Time

Last_Mod_Time__c

 

 

 

Taskflow 3: AccountOwner_SFDC_To_Navision

 

Module List

Python_Migration_Account_Owner_From_SFDC_To_Navision

PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF

Python_Migration_Account_Owner_Status_From_Navision_To_SFDC

 

 

Integration Logic

 

Task1:

Python_Migration_Account_Owner_From_SFDC_To_Navision

 

Task

Python_Migration_Account_Owner_From_SFDC_To_Navision

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Account_Owner__c

Target

PROD_SQL_Server_Nav_West_Prod

Target Object

SFDC Account

 

Saved Query: Python_Migration_Account_Owner_From_SFDC_To_Navision_SQ

Select Id, Account__c, Account_Owner__c, Account__r.Navision_ID__c, Account__r.AccountNumber, Account__r.Subsidiary__c, Account__r.SFDC_ID__c,

Sync_Status__c FROM Changed_Account_Owner__c where Sync_Status__c != 'Extracted' and

Account__r.Navision_ID__c!=null

and Account__r.Subsidiary__c in ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','VTI Italy' , 'VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden')

 

 

 

Business logic: The program will pick last 10 days modified accounts and it will compare the account owner (sales engineer) information between Navision stage and Salesforce, if not matching they it will sync to Navision.

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

Navision_ID__c

SFDC_ID

SFDC_ID__c

AccountNumber

Name

''

Subsidiary__c

Type

''

SFDC_ID__c

Site

''

Account_Owner__c

Billing_Street

''

 

Billing_City

''

 

Billing_State

''

 

Billing_Postal_Code

''

 

Billing_Country

''

 

Shipping_Street

''

 

Shipping_City

''

 

Shipping_State

''

 

Shipping_Postal_Code

''

 

Shipping_Country

''

 

Phone

''

 

Fax

''

 

Accountnumber

AccountNumber

 

Website

''

 

Salesperson_Code

UPPER(Account_Owner__c)

 

OEM

''

 

Navision_ID__C

Navision_ID__c

 

Create_Customer_in_Navision

''

 

Site_Number

''

 

Currency_Code

''

 

Subsidiary

Subsidiary__c

 

Customer_Template

''

 

Status

'0'

 

Import_Date

Trunc(SysDate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'1'

 

Parent_Account

''

 

Cloud_Integration

''

 

 

 

 

 

Task 2: PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF

 

Task

PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Account_Owner__c

Target

Flat File

Target Object

Changed_Account_Owner__c.csv

 

 

Business logic : Account Owner lookup creating based on sync status and the lookup will be re-used in parent task.

 

Technical Logic/ Filters Conditions

Changed_Account_Owner__c  filtered by Sync_Status__c != 'Extracted' and Subsidiary__c IN ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','VTI Italy' , 'VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden')

 

 

 

Mappings

 

Target Fields

Source Fields

Id

Id

OwnerId

OwnerId

IsDeleted

IsDeleted

Name

Name

CurrencyIsoCode

CurrencyIsoCode

CreatedDate

CreatedDate

CreatedById

CreatedById

LastModifiedDate

LastModifiedDate

LastModifiedById

LastModifiedById

SystemModstamp

SystemModstamp

ConnectionReceivedId

ConnectionReceivedId

ConnectionSentId

ConnectionSentId

Account_Owner__c

Account_Owner__c

Account__c

Account__c

Subsidiary__c

Subsidiary__c

Sync_Status__c

Sync_Status__c

 

Task 3: Python_Migration_Account_Owner_Status_From_Navision_To_SFDC

 

Task

Python_Migration_Account_Owner_Status_From_Navision_To_SFDC

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Changed_Account_Owner__c

 

 

 

Business logic : Custom Navision program will update account stage table if any changes on Account Owner (SE) then changes will to Salesforce custom object.


SFDC Account  filtered by "Action" = '1' AND "Status" = '2' AND "Subsidiary" IN ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','Willett S.r.l. (Italy)','VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden') AND(DATEDIFF(day,"Process_Date",GETDATE()) BETWEEN 0 and 2)

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

lookup( SFDC_ID = Account__c ): Changed_Account_Owner__c.csv.Id

 

Sync_Status__c

'Extracted'

 

 

Taskflow 4: AccountParent_SFDC_To_Navision

Module List

Python_Migration_Account_Parent_From_SFDC_To_Navision

Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF

Python_Migration_Account_Parent_Status_From_Navision_To_SFDC

 

Integration Logic

 

Task1:

Python_Migration_Account_Parent_From_SFDC_To_Navision

 

Task

Python_Migration_Account_Parent_From_SFDC_To_Navision

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Parent_Account__c

Target

PROD_SQL_Server_Nav_West_Prod

Target Object

SFDC Account

 

Saved query: Python_Migration_Account_Parent_From_SFDC_To_Navision

Select Id,

Account__c,

Status__c,

Parent_Account__c,

Parent_Account__r.Name,

Account__r.SFDC_ID__c,

Account__r.Navision_ID__c,

Account__r.AccountNumber,

Account__r.Subsidiary__c FROM Changed_Parent_Account__c

Where  Status__c =''

and Account__r.Navision_ID__c != '' 

and Account__r.Subsidiary__c IN ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','VTI Italy' , 'VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden')

 

 

 

Business logic

NA

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped fields

Name

SFDC_ID

SFDC_ID__c

SFDC_ID__c

Name

''

Navision_ID__c

Type

''

AccountNumber

Site

''

Subsidiary__c

Billing_Street

''

 

Billing_City

''

 

Billing_State

''

 

Billing_Postal_Code

''

 

Billing_Country

''

 

Shipping_Street

''

 

Shipping_City

''

 

Shipping_State

''

 

Shipping_Postal_Code

''

 

Shipping_Country

''

 

Phone

''

 

Fax

''

 

Accountnumber

AccountNumber

 

Website

''

 

Salesperson_Code

''

 

OEM

''

 

Navision_ID__C

Navision_ID__c

 

Create_Customer_in_Navision

''

 

Site_Number

''

 

Currency_Code

''

 

Subsidiary

Subsidiary__c

 

Customer_Template

''

 

Status

'0'

 

Import_Date

Trunc(SysDate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'3'

 

Parent_Account

UPPER(Name)

 

Cloud_Integration

''

 

Credit_Hard_Hold__Flag

''

 

Service_Hold_Flag

''

Task 2: Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF

 

Task

Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Parent_Account__c

Target

Flat File

Target Object

Changed_Parent_Account.csv

 

 

 

Business logic

 

Changed_Parent_Account__c  filtered by Status__c!= 'Extracted' AND Acct_Subsidiary__c IN ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','VTI Italy' , 'VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden')

 

 

Mappings

 

Target Fields

Source Fields

Id

Id

OwnerId

OwnerId

IsDeleted

IsDeleted

Name

Name

CurrencyIsoCode

CurrencyIsoCode

CreatedDate

CreatedDate

CreatedById

CreatedById

LastModifiedDate

LastModifiedDate

LastModifiedById

LastModifiedById

SystemModstamp

SystemModstamp

ConnectionReceivedId

ConnectionReceivedId

ConnectionSentId

ConnectionSentId

Account__c

Account__c

Parent_Account__c

Parent_Account__c

Status__c

Status__c

Acct_Subsidiary__c

Acct_Subsidiary__c

Task 3: Python_Migration_Account_Parent_Status_From_Navision_To_SFDC

 

Task

Python_Migration_Account_Parent_Status_From_Navision_To_SFDC

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Changed_Parent_Account__c

 

 

 

Business logic

 


SFDC Account  filtered by "Action" = '3' AND "Status" = '2' AND (DATEDIFF(day,"Process_Date",GETDATE()) BETWEEN 0 and 2) AND "Subsidiary" IN ('VTI Spain','VTI Portugal','VTI Eire','VTI UK','VTI Switzerland','VTI NL','Willett S.r.l. (Italy)','VTI France','VTI Turkey','VTI Germany','VTI Norway','VTI Dubai','VTI Sweden')

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

lookup( SFDC_ID = Account__c ): Changed_Parent_Account.csv.Id

 

Status__c

'Extracted'

 

Taskflow 5: AccountClassification_SFDC_To_Navision

Python_Migration_Account_Classification_From_Navision_To_SFDC

 

 

Integration Logic

 

Task 1: Python_Migration_Account_Classification_From_Navision_To_SFDC

 

Task

Python_Migration_Account_Classification_From_Navision_To_SFDC

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

"VTI Spain$Contact","VTI UK$Contact","VTI Eire$Contact","VTI Portugal$Contact","VTI Switzerland$Contact","VTI NL$Contact","Willett S_r_l_ (Italy)$Contact",
"VTI France$Contact","VTI Turkey$Contact","VTI Germany$Contact",
"VTI Norway$Contact","VTI Dubai$Contact","VTI Sweden$Contact"

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Account

 

Saved Query:

 

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI Spain$Contact" where "Type"='0' and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI UK$Contact" where "Type"='0' and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI Eire$Contact" where "Type"='0' and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI Portugal$Contact" where "Type"='0' and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking

from "VTI Switzerland$Contact" where "Type"='0' and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI NL$Contact" where "Type"='0' and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "Willett S_r_l_ (Italy)$Contact" where "Type"='0' and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI France$Contact" where "Type"='0' and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI Turkey$Contact" where "Type"='0'and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI Germany$Contact" where "Type"='0'and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI Norway$Contact" where "Type"='0'and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI Dubai$Contact" where "Type"='0'and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

UNION

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "VTI Sweden$Contact" where "Type"='0'and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

 

 

Business logic

The program will sync the status of each account from Navision to Salesforce, for example if an ERP account doesn't have any sales in past #n years then it will become “prospect” else “Active Customer”

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped fields

Number

Id

lookup( Number = Navision_ID__c ): LKP_Account_For_Opp_From_SFDC_FF.csv.Id

Active_Classification

Type

DECODE(TO_CHAR(Active_Classification) , '0' , 'Prospect' , '1' , 'Active Customer' )

 

 

 

 

Taskflow 6: AccountExtract_SFDC_To_Navision_Poland_Russia

 

Module List

 

Python_Migration_AccountExtract_for_NavCreateCustomer_Poland

 

Python_Migration_AccountExtract_for_NavCreateCustomer_Russia

 

 

 

 

 

Integration Logic

 

Task1:

 

 Python_Migration_AccountExtract_for_NavCreateCustomer_Poland

 

Task

Python_Migration_AccountExtract_for_NavCreateCustomer_Poland

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Account

Target

PROD_SQL_Server_Nav_East_Prod

Target Object

SFDC Account

 

 

Business logic

 

Account  filtered by Create_Customer_in_Oracle__c = true AND AccountNumber = '' AND (CreatedDate >= $LastRunTime OR LastModifiedDate >= $LastRunTime) AND Subsidiary__c IN ('VTI Poland')

 

 

Mappings

 

 

 

Source Fields

Target Fields

Source Mapped fields

Name

SFDC_ID

SFDC_ID__c

Type

Name

Name

BillingStreet

Type

Type

BillingCity

Site

''

BillingState

Billing_Street

IIF(NOT(ISNULL(BillingStreet)),BillingStreet,'')

BillingPostalCode

Billing_City

IIF(NOT(ISNULL(BillingCity)),BillingCity,'')

BillingCountry

Billing_State

IIF(NOT(ISNULL(BillingState)),BillingState,'')

ShippingStreet

Billing_Postal_Code

IIF(NOT(ISNULL(BillingPostalCode)),UPPER(BillingPostalCode),'')

ShippingCity

Billing_Country

IIF(NOT(ISNULL(BillingCountry)),UPPER(BillingCountry),'')

ShippingState

Shipping_Street

IIF(NOT(ISNULL(ShippingStreet)),ShippingStreet,'')

ShippingPostalCode

Shipping_City

IIF(NOT(ISNULL(ShippingCity)),ShippingCity,'')

ShippingCountry

Shipping_State

IIF(NOT(ISNULL(ShippingState)),ShippingState,'')

Phone

Shipping_Postal_Code

IIF(NOT(ISNULL(ShippingPostalCode)),UPPER(ShippingPostalCode),'')

Website

Shipping_Country

IIF(NOT(ISNULL(ShippingCountry)),UPPER(ShippingCountry),'')

CurrencyIsoCode

Phone

IIF(NOT(ISNULL(Phone)),Phone,'')

OwnerId

Fax

''

Create_Customer_in_Oracle__c

Accountnumber

''

Service_Hold__c

Website

IIF(NOT(ISNULL(Website)),Website,'')

SFDC_ID__c

Salesperson_Code

UPPER(OwnerId)

Subsidiary__c

OEM

''

Parent_Account_Name__c

Navision_ID__C

''

Credit_Hard_Hold__c

Create_Customer_in_Navision

Create_Customer_in_Oracle__c

 

Site_Number

''

 

Currency_Code

CurrencyIsoCode

 

Subsidiary

Subsidiary__c

 

Customer_Template

UPPER(BillingCountry)

 

Status

'0'

 

Import_Date

TRUNC(sysdate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'0'

 

Parent_Account

IIF(Parent_Account_Name__c !='' ,UPPER(Parent_Account_Name__c) ,'')

 

Cloud_Integration

1

 

Credit_Hard_Hold__Flag

Credit_Hard_Hold__c

 

Service_Hold_Flag

Service_Hold__c

 

 

 

Task 2: Python_Migration_AccountExtract_for_NavCreateCustomer_Russia

 

 

Task

Python_Migration_AccountExtract_for_NavCreateCustomer_Russia

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Account

Target

PROD_SQL_Server_Russia

Target Object

Videojet Technologies$SFDC Account

 

 

Business logic

 

Account  filtered by Create_Customer_in_Oracle__c = true AND AccountNumber = '' AND Subsidiary__c IN ('VTI Russia') AND (CreatedDate >= $LastRunTime OR LastModifiedDate >= $LastRunTime)

 

 

Mappings

 

 

 

Source Fields

Target Fields

Source Mapped fields

Name

SFDC_ID

SFDC_ID__c

Type

Name

Name

BillingStreet

Type

Type

BillingCity

Site

''

BillingState

Billing_Street

IIF(NOT(ISNULL(BillingStreet)),BillingStreet,'')

BillingPostalCode

Billing_City

IIF(NOT(ISNULL(BillingCity)),BillingCity,'')

BillingCountry

Billing_State

IIF(NOT(ISNULL(BillingState)),BillingState,'')

ShippingStreet

Billing_Postal_Code

IIF(NOT(ISNULL(BillingPostalCode)),UPPER(BillingPostalCode),'')

ShippingCity

Billing_Country

IIF(NOT(ISNULL(BillingCountry)),UPPER(BillingCountry),'')

ShippingState

Shipping_Street

IIF(NOT(ISNULL(ShippingStreet)),ShippingStreet,'')

ShippingPostalCode

Shipping_City

IIF(NOT(ISNULL(ShippingCity)),ShippingCity,'')

ShippingCountry

Shipping_State

IIF(NOT(ISNULL(ShippingState)),ShippingState,'')

Phone

Shipping_Postal_Code

IIF(NOT(ISNULL(ShippingPostalCode)),UPPER(ShippingPostalCode),'')

Website

Shipping_Country

IIF(NOT(ISNULL(ShippingCountry)),UPPER(ShippingCountry),'')

CurrencyIsoCode

Phone

IIF(NOT(ISNULL(Phone)),Phone,'')

OwnerId

Fax

''

Create_Customer_in_Oracle__c

Accountnumber

''

Service_Hold__c

Website

IIF(NOT(ISNULL(Website)),Website,'')

SFDC_ID__c

Salesperson_Code

UPPER(OwnerId)

Subsidiary__c

OEM

''

Parent_Account_Name__c

Navision_ID__C

''

Credit_Hard_Hold__c

Create_Customer_in_Navision

Create_Customer_in_Oracle__c

 

Site_Number

''

 

Currency_Code

CurrencyIsoCode

 

Subsidiary

Subsidiary__c

 

Customer_Template

UPPER(BillingCountry)

 

Status

'0'

 

Import_Date

TRUNC(sysdate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'0'

 

Parent_Account

IIF(Parent_Account_Name__c !='' ,UPPER(Parent_Account_Name__c) ,'')

 

Cloud_Integration

1

 

Credit_Hard_Hold__Flag

Credit_Hard_Hold__c

 

Service_Hold_Flag

Service_Hold__c

 

 

Taskflow 7: AccountUpdate_SFDC_To_Navision_Poland_Russia

 

Module List

 

Python_Migration_AccountUpdate_for_NavCreateCustomer_Poland

 

Python_Migration_AccountUpdate_for_Navision_UpdateCustomer_Poland

Python_Migration_AccountUpdate_for_NavCreateCustomer_Russia

Python_Migration_AccountUpdate_for_Navision_UpdateCustomer_Russia

 

 

 

 

Integration Logic

 

Task1:  Python_Migration_AccountUpdate_for_NavCreateCustomer_Poland

 

Task

Python_Migration_AccountUpdate_for_NavCreateCustomer_Poland

Source

PROD_SQL_Server_Nav_East_Prod

Source Object

SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Account

 

 

 

 

Business logic

 

SFDC Account  filtered by "Status"='1' AND "Subsidiary" IN ('Videojet Technologies Sp.zo.o.') AND (DATEDIFF(day,"Process_Date",GETDATE()) BETWEEN 0 and 1)

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

SFDC_ID

Accountnumber

AccountNumber

Accountnumber

Navision_ID__C

Navision_ID__c

Navision_ID__C

 

Sync_Status__c

'Updated'

 

Task 2: Python_Migration_AccountUpdate_for_Navision_UpdateCustomer_Poland

 

Task

Python_Migration_AccountUpdate_for_Navision_UpdateCustomer

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Account

Target

PROD_SQL_Server_Nav_East_Prod

Target Object

SFDC Account

 

 

Business logic

Account  filtered by Sync_Status__c = 'Updated' AND LastModifiedDate >= $LastRunTime AND Subsidiary__c IN ('VTI Poland')

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

LastModifiedDate

SFDC_ID

SFDC_ID__c

SFDC_ID__c

Status

'2'

Last_Mod_Time__c

Export_Date

TRUNC(LastModifiedDate)

 

Export_Time

Last_Mod_Time__c

 

 

Task 3: Python_Migration_AccountUpdate_for_NavCreateCustomer_Russia

 

Task

Python_Migration_AccountUpdate_for_NavCreateCustomer_Russia

Source

PROD_SQL_Server_Russia

Source Object

Videojet Technologies$SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Account

 

 

 

 

Business logic

 

Videojet Technologies$SFDC Account  filtered by "Status"='1' AND "Subsidiary" IN ('Videojet Technologies') AND (DATEDIFF(day,"Process Date",GETDATE()) BETWEEN 0 and 1)

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

SFDC_ID

Accountnumber

AccountNumber

Accountnumber

Navision_ID__C

Navision_ID__c

Navision_ID__C

 

Sync_Status__c

'Updated'

 

Task 4: Python_Migration_AccountUpdate_for_Navision_UpdateCustomer_Russia

 

 

Task

Python_Migration_AccountUpdate_for_Navision_UpdateCustomer_Russia

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Account

Target

PROD_SQL_Server_Russia

Target Object

Videojet Technologies$SFDC Account

 

 

Business logic

 

Account  filtered by Sync_Status__c = 'Updated' AND Subsidiary__c IN ('VTI Russia') AND LastModifiedDate >= $LastRunTime

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

LastModifiedDate

SFDC_ID

SFDC_ID__c

SFDC_ID__c

Status

'2'

Last_Mod_Time__c

Export_Date

TRUNC(LastModifiedDate)

 

Export_Time

Last_Mod_Time__c

 

 

 

Taskflow 8: AccountOwner_SFDC_To_Navision_Poland_Russia

 

Module List

 

Python_Migration_Account_Owner_From_SFDC_To_Navision_Poland

PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF_Poland

Python_Migration_Account_Owner_Status_From_Navision_To_SFDC_Poland

Python_Migration_Account_Owner_From_SFDC_To_Navision_Russia

PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF_Russia

Python_Migration_Account_Owner_Status_From_Navision_To_SFDC_Russia

 

 

 

Integration Logic

 

Task1: Python_Migration_Account_Owner_From_SFDC_To_Navision_Poland

 

Task

Python_Migration_Account_Owner_From_SFDC_To_Navision_Poland

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Account_Owner__c

Target

PROD_SQL_Server_Nav_East_Prod

Target Object

SFDC Account

 

Saved Query: Python_Migration_Account_Owner_From_SFDC_To_Navision_SQ_Poland

Select Id, Account__c, Account_Owner__c, Account__r.Navision_ID__c, Account__r.AccountNumber, Account__r.Subsidiary__c, Account__r.SFDC_ID__c,

Sync_Status__c FROM Changed_Account_Owner__c where Sync_Status__c != 'Extracted' and

Account__r.Navision_ID__c!=null 

and Account__r.Subsidiary__c in ('VTI Poland')

 

 

 

Business logic

NA

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

Navision_ID__c

SFDC_ID

SFDC_ID__c

AccountNumber

Name

''

Subsidiary__c

Type

''

SFDC_ID__c

Site

''

Account_Owner__c

Billing_Street

''

 

Billing_City

''

 

Billing_State

''

 

Billing_Postal_Code

''

 

Billing_Country

''

 

Shipping_Street

''

 

Shipping_City

''

 

Shipping_State

''

 

Shipping_Postal_Code

''

 

Shipping_Country

''

 

Phone

''

 

Fax

''

 

Accountnumber

AccountNumber

 

Website

''

 

Salesperson_Code

UPPER(Account_Owner__c)

 

OEM

''

 

Navision_ID__C

Navision_ID__c

 

Create_Customer_in_Navision

''

 

Site_Number

''

 

Currency_Code

''

 

Subsidiary

Subsidiary__c

 

Customer_Template

''

 

Status

'0'

 

Import_Date

Trunc(SysDate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'1'

 

Parent_Account

''

 

Cloud_Integration

''

 

 

 

 

 

Task 2: PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF_Poland

Task

PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF_Poland

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Account_Owner__c

Target

Flat File

Target Object

Changed_Account_Owner__c.csv

 

 

Business logic

 

Changed_Account_Owner__c  filtered by Sync_Status__c != 'Extracted' AND Subsidiary__c IN ('VTI Poland')

 

 

Mappings

 

Target Fields

Source Fields

Id

Id

OwnerId

OwnerId

IsDeleted

IsDeleted

Name

Name

CurrencyIsoCode

CurrencyIsoCode

CreatedDate

CreatedDate

CreatedById

CreatedById

LastModifiedDate

LastModifiedDate

LastModifiedById

LastModifiedById

SystemModstamp

SystemModstamp

ConnectionReceivedId

ConnectionReceivedId

ConnectionSentId

ConnectionSentId

Account_Owner__c

Account_Owner__c

Account__c

Account__c

Subsidiary__c

Subsidiary__c

Sync_Status__c

Sync_Status__c

 

Task 3: Python_Migration_Account_Owner_Status_From_Navision_To_SFDC_Poland

 

Task

Python_Migration_Account_Owner_Status_From_Navision_To_SFDC_Russia

Source

PROD_SQL_Server_Nav_East_Prod

Source Object

SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Changed_Account_Owner__c

 

 

 

Business logic


SFDC Account  filtered by "Action" = '1' AND "Status" = '2' AND "Subsidiary" IN ('Videojet Technologies Sp.zo.o.') AND(DATEDIFF(day,"Process_Date",GETDATE()) BETWEEN 0 and 2)

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

lookup( SFDC_ID = Account__c ): Changed_Account_Owner__c.csv.Id

 

Sync_Status__c

'Extracted'

 

Task 4: Python_Migration_Account_Owner_From_SFDC_To_Navision_Russia

 

Task

Python_Migration_Account_Owner_From_SFDC_To_Navision_Russia

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Account_Owner__c

Target

PROD_SQL_Server_Russia

Target Object

Videojet Technologies$SFDC Account

 

Saved Query: Python_Migration_Account_Owner_From_SFDC_To_Navision_SQ_Russia

Select Id, Account__c, Account_Owner__c, Account__r.Navision_ID__c, Account__r.AccountNumber, Account__r.Subsidiary__c, Account__r.SFDC_ID__c, Sync_Status__c FROM Changed_Account_Owner__c where Sync_Status__c != 'Extracted' and Account__r.Navision_ID__c!=null 

and Account__r.Subsidiary__c in ('VTI Russia')

 

 

Business logic

NA

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

Navision_ID__c

SFDC_ID

SFDC_ID__c

AccountNumber

Name

''

Subsidiary__c

Type

''

SFDC_ID__c

Site

''

Account_Owner__c

Billing_Street

''

 

Billing_City

''

 

Billing_State

''

 

Billing_Postal_Code

''

 

Billing_Country

''

 

Shipping_Street

''

 

Shipping_City

''

 

Shipping_State

''

 

Shipping_Postal_Code

''

 

Shipping_Country

''

 

Phone

''

 

Fax

''

 

Accountnumber

AccountNumber

 

Website

''

 

Salesperson_Code

UPPER(Account_Owner__c)

 

OEM

''

 

Navision_ID__C

Navision_ID__c

 

Create_Customer_in_Navision

''

 

Site_Number

''

 

Currency_Code

''

 

Subsidiary

Subsidiary__c

 

Customer_Template

''

 

Status

'0'

 

Import_Date

Trunc(SysDate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'1'

 

Parent_Account

''

 

Cloud_Integration

''

 

 

 

Task 5: PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF_Russia

Task

PythonMigration_Lkp_Changed_Account_Owner_from_SFDC_To_FF_Russia

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Account_Owner__c

Target

Flat File

Target Object

Changed_Account_Owner__c.csv

 

 

Business logic

Changed_Account_Owner__c  filtered by Sync_Status__c != 'Extracted' AND Subsidiary__c IN ('VTI Russia')

 

 

Mappings

 

Target Fields

Source Fields

Id

Id

OwnerId

OwnerId

IsDeleted

IsDeleted

Name

Name

CurrencyIsoCode

CurrencyIsoCode

CreatedDate

CreatedDate

CreatedById

CreatedById

LastModifiedDate

LastModifiedDate

LastModifiedById

LastModifiedById

SystemModstamp

SystemModstamp

ConnectionReceivedId

ConnectionReceivedId

ConnectionSentId

ConnectionSentId

Account_Owner__c

Account_Owner__c

Account__c

Account__c

Subsidiary__c

Subsidiary__c

Sync_Status__c

Sync_Status__c

 

Task 3: Python_Migration_Account_Owner_Status_From_Navision_To_SFDC_Russia

 

Task

Python_Migration_Account_Owner_Status_From_Navision_To_SFDC_Russia

Source

PROD_SQL_Server_Russia

Source Object

Videojet Technologies$SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Changed_Account_Owner__c

 

 

 

Business logic


Videojet Technologies$SFDC Account  filtered by "Action"='1' AND "Status"= '2' AND "Subsidiary" IN ( 'Videojet Technologies') AND(DATEDIFF(day,"Process Date",GETDATE()) BETWEEN 0 and 2)

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

lookup( SFDC_ID = Account__c ): Changed_Account_Owner__c.csv.Id

 

Sync_Status__c

'Extracted'

 

 

 

 

 

Taskflow 9: AccountParent_SFDC_To_Navision_Poland_Russia

 

Module List

 

Python_Migration_Account_Parent_From_SFDC_To_Navision_Poland

Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF_Poland

Python_Migration_Account_Parent_Status_From_Navision_To_SFDC_Poland

Python_Migration_Account_Parent_From_SFDC_To_Navision_Russia

Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF_Russia

Python_Migration_Account_Parent_Status_From_Navision_To_SFDC_Russia

 

 

 

Integration Logic

 

Task1:

Python_Migration_Account_Parent_From_SFDC_To_Navision_Poland

 

Task

Python_Migration_Account_Parent_From_SFDC_To_Navision_Poland

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Parent_Account__c

Target

PROD_SQL_Server_Nav_East_Prod

Target Object

SFDC Account

 

Saved query: Python_Migration_Account_Parent_From_SFDC_To_Navision_Poland

Select Id,

Account__c,

Status__c,

Parent_Account__c,

Parent_Account__r.Name,

Account__r.SFDC_ID__c,

Account__r.Navision_ID__c,

Account__r.AccountNumber,

Account__r.Subsidiary__c FROM Changed_Parent_Account__c

Where  Status__c =''

and Account__r.Navision_ID__c != '' 

and Account__r.Subsidiary__c IN ('VTI Poland')

 

 

Business logic

NA

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped fields

Name

SFDC_ID

SFDC_ID__c

SFDC_ID__c

Name

''

Navision_ID__c

Type

''

AccountNumber

Site

''

Subsidiary__c

Billing_Street

''

 

Billing_City

''

 

Billing_State

''

 

Billing_Postal_Code

''

 

Billing_Country

''

 

Shipping_Street

''

 

Shipping_City

''

 

Shipping_State

''

 

Shipping_Postal_Code

''

 

Shipping_Country

''

 

Phone

''

 

Fax

''

 

Accountnumber

AccountNumber

 

Website

''

 

Salesperson_Code

''

 

OEM

''

 

Navision_ID__C

Navision_ID__c

 

Create_Customer_in_Navision

''

 

Site_Number

''

 

Currency_Code

''

 

Subsidiary

Subsidiary__c

 

Customer_Template

''

 

Status

'0'

 

Import_Date

Trunc(SysDate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'3'

 

Parent_Account

UPPER(Name)

 

Cloud_Integration

''

 

Credit_Hard_Hold__Flag

''

 

Service_Hold_Flag

''

Task 2: Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF_Poland

 

Task

Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF_Poland

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Parent_Account__c

Target

Flat File

Target Object

Changed_Parent_Account.csv

 

 

 

Business logic

 

Changed_Parent_Account__c  filtered by Status__c!= 'Extracted' AND Acct_Subsidiary__c IN ('VTI Poland')

 

 

Mappings

 

Target Fields

Source Fields

Id

Id

OwnerId

OwnerId

IsDeleted

IsDeleted

Name

Name

CurrencyIsoCode

CurrencyIsoCode

CreatedDate

CreatedDate

CreatedById

CreatedById

LastModifiedDate

LastModifiedDate

LastModifiedById

LastModifiedById

SystemModstamp

SystemModstamp

ConnectionReceivedId

ConnectionReceivedId

ConnectionSentId

ConnectionSentId

Account__c

Account__c

Parent_Account__c

Parent_Account__c

Status__c

Status__c

Acct_Subsidiary__c

Acct_Subsidiary__c

 

Task 3: Python_Migration_Account_Parent_Status_From_Navision_To_SFDC_Poland

 

Task

Python_Migration_Account_Parent_Status_From_Navision_To_SFDC_Poland

Source

PROD_SQL_Server_Nav_East_Prod

Source Object

SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Changed_Parent_Account__c

 

 

 

Business logic

 


SFDC Account  filtered by "Action" = '3' AND "Status" = '2' AND (DATEDIFF(day,"Process_Date",GETDATE()) BETWEEN 0 and 2) AND "Subsidiary" IN ('Videojet Technologies Sp.zo.o.')

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

lookup( SFDC_ID = Account__c ): Changed_Parent_Account.csv.Id

 

Status__c

'Extracted'

 

 

Task 4: Python_Migration_Account_Parent_From_SFDC_To_Navision_Russia

 

 

Task

Python_Migration_Account_Parent_From_SFDC_To_Navision_Russia

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Parent_Account__c

Target

PROD_SQL_Server_Russia

Target Object

Videojet Technologies$SFDC Account

 

Saved query: Python_Migration_Account_Parent_From_SFDC_To_Navision_Russia

Select Id,

Account__c,

Status__c,

Parent_Account__c,

Parent_Account__r.Name,

Account__r.SFDC_ID__c,

Account__r.Navision_ID__c,

Account__r.AccountNumber,

Account__r.Subsidiary__c FROM Changed_Parent_Account__c

Where  Status__c =''

and Account__r.Navision_ID__c != '' 

and Account__r.Subsidiary__c IN ('VTI Russia')

 

 

Business logic

NA

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped fields

Name

SFDC_ID

SFDC_ID__c

SFDC_ID__c

Name

''

Navision_ID__c

Type

''

AccountNumber

Site

''

Subsidiary__c

Billing_Street

''

 

Billing_City

''

 

Billing_State

''

 

Billing_Postal_Code

''

 

Billing_Country

''

 

Shipping_Street

''

 

Shipping_City

''

 

Shipping_State

''

 

Shipping_Postal_Code

''

 

Shipping_Country

''

 

Phone

''

 

Fax

''

 

Accountnumber

AccountNumber

 

Website

''

 

Salesperson_Code

''

 

OEM

''

 

Navision_ID__C

Navision_ID__c

 

Create_Customer_in_Navision

''

 

Site_Number

''

 

Currency_Code

''

 

Subsidiary

Subsidiary__c

 

Customer_Template

''

 

Status

'0'

 

Import_Date

Trunc(SysDate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'3'

 

Parent_Account

UPPER(Name)

 

Cloud_Integration

''

 

Credit_Hard_Hold__Flag

''

 

Service_Hold_Flag

''

 

Task 5: Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF_Russia

 

Task

Python_Migration_Lkp_Changed_Parent_Account_from_SFDC_To_FF_Russia

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Parent_Account__c

Target

Flat File

Target Object

Changed_Parent_Account.csv

 

 

 

Business logic

 

Changed_Parent_Account__c  filtered by Status__c!= 'Extracted' AND Acct_Subsidiary__c IN ('VTI Russia')

 

Mappings

 

Target Fields

Source Fields

Id

Id

OwnerId

OwnerId

IsDeleted

IsDeleted

Name

Name

CurrencyIsoCode

CurrencyIsoCode

CreatedDate

CreatedDate

CreatedById

CreatedById

LastModifiedDate

LastModifiedDate

LastModifiedById

LastModifiedById

SystemModstamp

SystemModstamp

ConnectionReceivedId

ConnectionReceivedId

ConnectionSentId

ConnectionSentId

Account__c

Account__c

Parent_Account__c

Parent_Account__c

Status__c

Status__c

Acct_Subsidiary__c

Acct_Subsidiary__c

 

Task 6: Python_Migration_Account_Parent_Status_From_Navision_To_SFDC_Russia

 

Task

Python_Migration_Account_Parent_Status_From_Navision_To_SFDC_Russia

Source

PROD_SQL_Server_Russia

Source Object

Videojet Technologies$SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Changed_Parent_Account__c

 

 

 

Business logic

 


Videojet Technologies$SFDC Account  filtered by "Action" = '3' AND "Status" ='2' AND (DATEDIFF(day,"Process Date",GETDATE()) BETWEEN 0 and 2) AND "Subsidiary" IN ('Videojet Technologies')

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

lookup( SFDC_ID = Account__c ): Changed_Parent_Account.csv.Id

 

Status__c

'Extracted'

 

 

Taskflow 10: AccountClassification_SFDC_To_Navision_Poland_Russia

 

Python_Migration_Account_Classification_From_Navision_To_SFDC_Poland

Python_Migration_Account_Classification_From_Navision_To_SFDC_Russia

 

Integration Logic

 

Task 1: Python_Migration_Account_Classification_From_Navision_To_SFDC_Poland

 

Task

Python_Migration_Account_Classification_From_Navision_To_SFDC_Poland

Source

PROD_SQL_Server_Nav_East_Prod

Source Object

“Videojet Technologies Sp_zo_o_$Contact"

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Account

 

Saved Query:

 

select "No." as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act. Class. Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking from "Videojet Technologies Sp_zo_o_$Contact" where "Type"='0'

and (DATEDIFF(day,"Act. Class. Last Changed",GETDATE()) BETWEEN 0 and 3)

 

 

Business logic

 

NA

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped fields

Number

Id

lookup( Number = Navision_ID__c ): LKP_Account_For_Opp_From_SFDC_FF.csv.Id

Active_Classification

Type

DECODE(TO_CHAR(Active_Classification) , '0' , 'Prospect' , '1' , 'Active Customer' )

 

 

Task 2:  Python_Migration_Account_Classification_From_Navision_To_SFDC_Russia

 

Task

Python_Migration_Account_Classification_From_Navision_To_SFDC_Russia

Source

PROD_SQL_Server_Nav_East_Prod

Source Object

 "Videojet Technologies$Contact" 

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Account

 

Saved Query:

 

select "No_" as Number, "Subsidiary" as Subsidiary, "SFDC-ID" as SFDC_ID, "Type", "Active Classification" as Active_Classification, "Act_ Class_ Last Changed" as "Last_Changed_Date" , "Service Item Ranking" Service_Item_Ranking  from "Videojet Technologies$Contact" where "Type"='0' and (DATEDIFF(day,"Act_ Class_ Last Changed",GETDATE()) BETWEEN 0 and 3)

 

Business logic

 

NA

 

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped fields

Number

Id

lookup( Number = Navision_ID__c ): LKP_Account_For_Opp_From_SFDC_FF.csv.Id

Active_Classification

Type

DECODE(TO_CHAR(Active_Classification) , '0' , 'Prospect' , '1' , 'Active Customer' )

 

 

Taskflow 11: Sweden_Account_Owner_Changes_From_Nav_To_SFDC_TF

 

Module List

 

Account_Owner_From_SFDC_To_Navision

Lkp_Changed_Account_Owner_from_SFDC_To_FF

Account_Owner_Status_From_Navision_To_SFDC

 

 Integration Logic

 

Task1: Account_Owner_From_SFDC_To_Navision

 

Task

Account_Owner_From_SFDC_To_Navision

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Account_Owner__c

Target

PROD_SQL_Server_Nav_East_Prod

Target Object

SFDC Account

 

 

Saved query: Account_Owner_From_SFDC_To_Navision_SQ

Select Id, Account__c, Account_Owner__c, Account__r.Navision_ID__c, Account__r.AccountNumber, Account__r.Subsidiary__c,

Account__r.SFDC_ID__c,

Sync_Status__c FROM Changed_Account_Owner__c

where Sync_Status__c != 'Extracted'

and Account__r.Subsidiary__c = 'VTI Sweden'

and Account__r.Navision_ID__c!=null

 

 

Business logic

NA

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

Navision_ID__c

SFDC_ID

SFDC_ID__c

AccountNumber

Name

''

Subsidiary__c

Type

''

SFDC_ID__c

Site

''

Account_Owner__c

Billing_Street

''

 

Billing_City

''

 

Billing_State

''

 

Billing_Postal_Code

''

 

Billing_Country

''

 

Shipping_Street

''

 

Shipping_City

''

 

Shipping_State

''

 

Shipping_Postal_Code

''

 

Shipping_Country

''

 

Phone

''

 

Fax

''

 

Accountnumber

AccountNumber

 

Website

''

 

Salesperson_Code

UPPER(Account_Owner__c)

 

OEM

''

 

Navision_ID__C

Navision_ID__c

 

Create_Customer_in_Navision

''

 

Site_Number

''

 

Currency_Code

''

 

Subsidiary

Subsidiary__c

 

Customer_Template

''

 

Status

'0'

 

Import_Date

Trunc(SysDate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'1'

 

Parent_Account

''

 

Cloud_Integration

''

 

Task 2: Lkp_Changed_Account_Owner_from_SFDC_To_FF

 

Task

Lkp_Changed_Account_Owner_from_SFDC_To_FF

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Account_Owner__c

Target

Flat File

Target Object

Changed_Account_Owner__c.csv

 

 

 

Business logic

 

Changed_Account_Owner__c  filtered by Sync_Status__c != 'Extracted' AND Subsidiary__c='VTI Sweden'

 

 

Mappings

 

Target Fields

Source Fields

Id

Id

OwnerId

OwnerId

IsDeleted

IsDeleted

Name

Name

CurrencyIsoCode

CurrencyIsoCode

CreatedDate

CreatedDate

CreatedById

CreatedById

LastModifiedDate

LastModifiedDate

LastModifiedById

LastModifiedById

SystemModstamp

SystemModstamp

ConnectionReceivedId

ConnectionReceivedId

ConnectionSentId

ConnectionSentId

Account_Owner__c

Account_Owner__c

Account__c

Account__c

Subsidiary__c

Subsidiary__c

Sync_Status__c

Sync_Status__c

 

 

Task 3: Account_Owner_Status_From_Navision_To_SFDC

 

Task

Account_Owner_Status_From_Navision_To_SFDC

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Changed_Account_Owner__c

 

 

 

Business logic

 

SFDC Account  filtered by "Action" = '1' AND "Status" = '2' AND "Subsidiary"='VTI Sweden' AND (DATEDIFF(day,"Process_Date",GETDATE()) BETWEEN 0 and 2)

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id

lookup( SFDC_ID = Account__c ): Changed_Account_Owner__c.csv.Id

 

Sync_Status__c

'Extracted'

 

 

Taskflow 12 : Sweden_Account_Parent_Changes_From_Nav_To_SFDC_TF

 

Module List

 

Account_Parent_From_SFDC_To_Navision

Lkp_Changed_Parent_Account_from_SFDC_To_FF

Account_Parent_Status_From_Navision_To_SFDC

 Integration Logic

 

Task1: Account_Parent_From_SFDC_To_Navision

 

Task

Account_Parent_From_SFDC_To_Navision

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Parent_Account__c

Target

PROD_SQL_Server_Nav_East_Prod

Target Object

SFDC Account

 

 

Saved query: Account_Parent_From_SFDC_To_Navision

 

Select Id,

Account__c,

Status__c,

Parent_Account__c,

Parent_Account__r.Name,

Account__r.SFDC_ID__c,

Account__r.Navision_ID__c,

Account__r.AccountNumber,

Account__r.Subsidiary__c FROM Changed_Parent_Account__c

Where Account__r.Subsidiary__c = 'VTI Sweden'

and Status__c =''

and Account__r.Navision_ID__c != ''

 

Business logic

NA

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

Name

SFDC_ID

SFDC_ID__c

SFDC_ID__c

Name

''

Navision_ID__c

Type

''

AccountNumber

Site

''

Subsidiary__c

Billing_Street

''

 

Billing_City

''

 

Billing_State

''

 

Billing_Postal_Code

''

 

Billing_Country

''

 

Shipping_Street

''

 

Shipping_City

''

 

Shipping_State

''

 

Shipping_Postal_Code

''

 

Shipping_Country

''

 

Phone

''

 

Fax

''

 

Accountnumber

AccountNumber

 

Website

''

 

Salesperson_Code

''

 

OEM

''

 

Navision_ID__C

Navision_ID__c

 

Create_Customer_in_Navision

''

 

Site_Number

''

 

Currency_Code

''

 

Subsidiary

Subsidiary__c

 

Customer_Template

''

 

Status

'0'

 

Import_Date

Trunc(SysDate)

 

Process_Date

MAKE_DATE_TIME(1753,1,1)

 

Process_Time

MAKE_DATE_TIME(1753,1,1)

 

Export_Date

MAKE_DATE_TIME(1753,1,1)

 

Export_Time

MAKE_DATE_TIME(1753,1,1)

 

Error_Message

''

 

Action

'3'

 

Parent_Account

UPPER(Name)

 

Cloud_Integration

''

 

Task 2: Lkp_Changed_Parent_Account_from_SFDC_To_FF

 

Task

Lkp_Changed_Parent_Account_from_SFDC_To_FF

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Changed_Parent_Account__c

Target

Flat File

Target Object

Changed_Parent_Account.csv

 

 

 

Business logic

 

Changed_Parent_Account__c  filtered by Status__c!= 'Extracted' AND Acct_Subsidiary__c='VTI Sweden'

 

 

Mappings

 

Target Fields

Source Fields

Id

Id

OwnerId

OwnerId

IsDeleted

IsDeleted

Name

Name

CurrencyIsoCode

CurrencyIsoCode

CreatedDate

CreatedDate

CreatedById

CreatedById

LastModifiedDate

LastModifiedDate

LastModifiedById

LastModifiedById

SystemModstamp

SystemModstamp

ConnectionReceivedId

ConnectionReceivedId

ConnectionSentId

ConnectionSentId

Account__c

Account__c

Parent_Account__c

Parent_Account__c

Status__c

Status__c

Acct_Subsidiary__c

Acct_Subsidiary__c

 

Task 3: Account_Parent_Status_From_Navision_To_SFDC

 

Task

Account_Parent_Status_From_Navision_To_SFDC

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

SFDC Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Changed_Parent_Account__c

 

 

Business logic

 

SFDC Account  filtered by "Action" = '3' AND "Status" = '2' AND "Subsidiary"='VTI Sweden' AND (DATEDIFF(day,"Process_Date",GETDATE()) BETWEEN 0 and 2)

 

 

Mappings

 

Source Fields

Target Fields

Source Mapped Fields

SFDC_ID

Id


lookup( SFDC_ID = Account__c ): Changed_Parent_Account.csv.Id

 

Sync_Status__c

'Extracted'

 

Taskflow 13: Assets_From_Navision_To_SFDC_TF

 

Module List

 

Navision\Nav_Account_Match_FF
Navision\Nav_Product_Match_FF
Default\Assets_From_Navision_West_To_SFDC
Navision\Assets_From_Navision_Poland_To_SFDC

 

 

 

 

Integration Logic

 

Task1:

Nav_Account_Match_FF

 

Task

Nav_Account_Match_FF

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Account

Target

Flat File

Target Object

Nav_Account_Match.csv

 

 

Business logic


Account  filtered by  Account Number Is Not Null

 

 

Mappings

 

 

Target Fields

Source Fields

Id

Account ID

Name

Name

AccountNumber

AccountNumber

Subsidiary__c

Subsidiary__c

 

Task 2: Nav_Product_Match_FF

 

Task

Nav_Product_Match_FF

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Product

Target

Flat File

Target Object

NavProductMatch.csv

 

 

Business logic


NA

 

 

Mappings

 

Target Fields

Source Fields

Id

Product ID

Name

Name

ProductCode

ProductCode

 

 

Task 3: Assets_From_Navision_West_To_SFDC

 

Task

Assets_From_Navision_West_To_SFDC

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

Account

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Asset

 

Saved Query: SQ_Assets_From_Navision_West_To_SFDC

 

 

 

 

Business logic


NA

 

 

Mappings

 

Source Fields

Target Fields

Source mapped fields

country_code

AccountId

lookup( Customer_No = AccountNumber, subsidiary_code = Subsidiary__c ): Nav_Account_Match.csv.Id

Number

Product2Id

lookup( Item_No = Name ): NavProductMatch.csv.Id

Customer_No

CurrencyIsoCode

Currency_code

Installation_Date

Name

Service_Item_Group_Code

Description

SerialNumber

Serial_No

Item_No

InstallDate

Installation_Date

Service_Item_Group_Code

Status

Status

Serial_No

Price

Price

subsidiary_code

Description

Description

Status

Contract_Number__c

Contract_Number

Price

Navision_ID__c

CONCAT(country_code,CONCAT('-',Number))

Currency_code

Contract_Glb_Number__c

Contract_Number_Glb

Contract_Number

Contract_Opt_Number__c

Contract_Number_Opt

Contract_Number_Glb

Contract_Sup_Number__c

Contract_Number_Sup

Contract_Number_Opt

ERP__c

'Navision'

Contract_Number_Sup

IsExternalLease__c

External_Lease

External_Lease

LeaseStartDate__c

Lease_Start_Date

Lease_Start_Date

LeaseEndDate__c

Lease_End_Date

Bottom of Form

Lease_End_Date

 

 

 

 

 

Task 4: Assets_From_Navision_Poland_To_SFDC

 

 

Task

Assets_From_Navision_Poland_To_SFDC

Source

PROD_SQL_Server_Nav_East_Prod

Source Object

 "Videojet Technologies Sp_zo_o_$Service Item"

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Asset

 

 

Saved Query: SQ_Assets_From_Navision_Poland_To_SFDC

 

SELECT 'PL' country_code,

"No." Number,

"Customer No." Customer_No,

"Installation Date" Installation_Date,

"Description" Description,

"Item No." Item_No,

"Service Item Group Code" Service_Item_Group_Code,

"Serial No." Serial_No,

'VTI Poland' subsidiary_code,

(CASE WHEN "Status"=0 THEN 'Not Active'

                WHEN "Status"=1 THEN 'Own Service Item'

                WHEN "Status"=2 THEN 'Installed'

                WHEN "Status"=3 THEN 'Temporarily Installed'

                WHEN "Status"=4 THEN 'Defective'

                ELSE 'Not Specified'

                END) Status,

"Sales Unit Price" Price,

'PLN' Currency_code,

"Contract No." Contract_Number,

"Contract Starting Date" Contract_Start_Date,

"Contract Expiration Date" Contract_Expiration_Date,

"Contract No. (Glb.)" Contract_Number_Glb,

"Contract Starting Date (Glb.)" Contract_Start_Date_Glb,

"Contr. Expiration Date (Glb.)" Contract_Expiration_Date_Glb,

"Contract No. (Opt.)" Contract_Number_Opt,

"Contract Starting Date (Opt.)" Contract_Start_Date_Opt,

"Contr. Expiration Date (Opt.)" Contract_Expiration_Date_Opt,

"Contract No. (Sup.)" Contract_Number_Sup,

"Contract Starting Date (Sup.)" Contract_Start_Date_Sup,

"Contr. Expiration Date (Sup.)" Contract_Expiration_Date_Sup,

"Last modified Date" Last_modified_Date,

"External Lease",

                (CASE WHEN "Lease Start Date"='1753-01-01' then NULL else "Lease Start Date" end)Lease_Start_Date,

                (CASE WHEN "Lease End Date"='1753-01-01' then NULL else "Lease End Date" end)Lease_End_Date

from "Videojet Technologies Sp_zo_o_$Service Item"

Where "Customer No." <> ''  AND DATEDIFF(day,[Last modified Date],getdate()) between 0 and 3

 

 

 

 

Business logic


NA

 

 

Mappings

 

Source Fields

Target Fields

Source mapped fields

country_code

AccountId

lookup( Customer_No = AccountNumber, subsidiary_code = Subsidiary__c ): Nav_Account_Match.csv.Id

Number

Product2Id

lookup( Item_No = Name ): NavProductMatch.csv.Id

Customer_No

CurrencyIsoCode

Currency_code

Installation_Date

Name

Service_Item_Group_Code

Description

SerialNumber

Serial_No

Item_No

InstallDate

Installation_Date

Service_Item_Group_Code

Status

Status

Serial_No

Price

Price

subsidiary_code

Description

Description

Status

Contract_Number__c

Contract_Number

Price

Navision_ID__c

CONCAT(country_code,CONCAT('-',Number))

Currency_code

Contract_Glb_Number__c

Contract_Number_Glb

Contract_Number

Contract_Opt_Number__c

Contract_Number_Opt

Contract_Number_Glb

Contract_Sup_Number__c

Contract_Number_Sup

Contract_Number_Opt

ERP__c

'Navision'

Contract_Number_Sup

IsExternalLease__c

External_Lease

External_Lease

LeaseStartDate__c

Lease_Start_Date

Lease_Start_Date

LeaseEndDate__c

Lease_End_Date

Bottom of Form

Lease_End_Date

 

 

 

 

 

Taskflow 14: Contracts_From_Navision_To_SFDC_TF

 

Module List

 

Contract_Accounts_From_SFDC_To_FF

Contracts_From_Navision_West_To_SFDC

Contracts_From_Navision_Poland_To_SFDC

Contracts_From_SFDC_To_FF

Cancelled_Contracts_From_Navision_West_To_SFDC

Cancelled_Contracts_From_Navision_Poland_To_SFDC

 

Integration Logic

 

Integration Logic

 

Task1: Contract_Accounts_From_SFDC_To_FF

 

Task

Contract_Accounts_From_SFDC_To_FF

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Account

Target

Flat File

Target Object

Contract_Accounts_From_SFDC_To_FF.csv

 

 

 

Business logic

 

Account  filtered by Navision_ID__c != NULL OR AccountNumber != NULL

 

 

Mappings

 

Target Fields

Source Fields

Id

Id

AccountNumber

AccountNumber

Navision_ID__c

Navision_ID__c

Subsidiary

Subsidiary__c

 

Task 2: Contracts_From_Navision_West_To_SFDC

 

Task

Contracts_From_Navision_West_To_SFDC

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

Saved query

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Contract

 

Tables: "VTI Germany$Service Contract","VTI Germany$Service Item","VTI Germany$Contract Change Log",

"VTI NL$Service Contract","VTI NL$Service Item","VTI NL$Contract Change Log",

"VTI UK$Service Contract","VTI UK$Service Item","VTI UK$Contract Change Log",

"VTI France$Service Contract","VTI France$Service Item","VTI France$Contract Change Log",

"VTI Eire$Service Contract","VTI Eire$Service Item","VTI Eire$Contract Change Log",

"VTI Dubai$Service Contract","VTI Dubai$Service Item","VTI Dubai$Contract Change Log",

"Willett S_r_l_ (Italy)$Service Contract","Willett S_r_l_ (Italy)$Service Item","Willett S_r_l_ (Italy)$Contract Change Log"

"VTI Switzerland$Service Contract","VTI Switzerland$Service Item","VTI Switzerland$Contract Change Log",

"VTI Spain$Service Contract","VTI Spain$Service Item","VTI Spain$Contract Change Log",

"VTI Portugal$Service Contract","VTI Portugal$Service Item","VTI Portugal$Contract Change Log",

"VTI Norway$Service Contract","VTI Norway$Service Item","VTI Norway$Contract Change Log"

"VTI Turkey$Service Contract","VTI Turkey$Service Item","VTI Turkey$Contract Change Log"

Saved query: SQ_Contracts_From_Navision_West_To_SFDC

Mappings:

Source Fields

Target Fields

Source mapped fields

country_code

Account ID

lookup( country_code = Subsidiary, customer_account_no = AccountNumber ): Contract_Accounts_From_SFDC_To_FF.csv.Id

no_of_assets

Currency ISO Code

currency_code

contract_no

Contract Start Date

starting_date

creation_date

Description

Description

contract_group_code_CGC

Contract Type

Type

description

Contract Annual Value

DECODE(ISNULL(contract_amount_annual),True,annual_amount,contract_amount_annual)

description2

Custom Contract End Date

Expiration_Date

contract_status

ERP Contract Number

contract_no

starting_date

Expiration Notice Period

 

Expiration_Date

Product Group

contract_group_code

annual_amount

Contract Status

contract_status

contract_group_code

Number of Units Attached to ...

no_of_assets

customer_account_no

External Unqiue ID

concat(country_code, CONCAT('-',contract_no))

contract_type

Contract Group Code

contract_group_code_CGC

Bottom of Form

Type

 

 

currency_code

 

 

contract_amount_annual

 

 

 

Task 3: Contracts_From_Navision_Poland_To_SFDC

 

 

Task

Contracts_From_Navision_West_To_SFDC

Source

PROD_SQL_Server_Nav_East_Prod

Source Object

Saved query

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Contract

 

Table: "Videojet Technologies Sp_zo_o_$Contract Change Log" , "Videojet Technologies Sp_zo_o_$Service Contract","Videojet Technologies Sp_zo_o_$Service Item

Saved query:

SELECT 'VTI Poland' country_code,

no_of_assets,

CNTR."Contract No." as contract_no,

CNTR."Creation Date" as creation_date,

CNTR."Contract Group Code" as contract_group_code_CGC,

CNTR."Description"as description,

CNTR."Description 2" as description2 ,

(CASE WHEN CNTR."Status"=0 THEN 'Empty'

       WHEN CNTR."Status"=1 THEN 'Signed'

       WHEN CNTR."Status"=2 THEN 'Cancelled'

       ELSE 'Not Specified'

       END) contract_status,

CNTR."Starting Date"as starting_date,

CNTR."Expiration Date" as Expiration_Date,

CNTR."Annual Amount" as annual_amount,

(CASE WHEN CNTR."Contract Group Code"='CP1' THEN 'Equipment'

       WHEN CNTR."Contract Group Code"='CP3' THEN 'Equipment'

       WHEN CNTR."Contract Group Code"='RENTAL' THEN 'Equipment'

       ELSE 'Service'

       END) contract_group_code,

CNTR."Customer No." customer_account_no,

CNTR."Contract Type" contract_type,

(CASE WHEN CNTR."Type"=0 THEN 'Normal contracts'

       WHEN CNTR."Type"=1 THEN 'Care Package 1'

       WHEN CNTR."Type"=2 THEN 'Care Package 2'

       WHEN CNTR."Type"=3 THEN 'Care Package 3'

       WHEN CNTR."Type"=4 THEN '-'

       WHEN CNTR."Type"=5 THEN '-'

       WHEN CNTR."Type"=6 THEN '-'

       WHEN CNTR."Type"=7 THEN 'Global contracts'

       WHEN CNTR."Type"=8 THEN 'Optional contracts'

       WHEN CNTR."Type"=9 THEN 'Supplementary contracts'

       ELSE 'Not Specified'

       END) Type,

'Draft' approval_status,

CNTR."Currency Code" currency_code,

service_item. "Contract Amount Anuual" contract_amount_annual,

service_item.cust_no cust_no,

CHANGE_LOG.date_of_change

FROM "Videojet Technologies Sp_zo_o_$Service Contract" CNTR

LEFT JOIN

(SELECT SUM( ( CAST(ISNULL(CASE(CNTR.Type)

    WHEN 7 THEN SERVGLOB."Contract Amount (Glb.)"

    WHEN 8 THEN SERVOPTI."Contract Amount (Opt.)"

    WHEN 9 THEN SERVSUPP."Contract Amount (Sup.)"

    ELSE  SERVNORM."Contract Amount"

    END,0) AS Float ))) "Contract Amount Anuual",

COUNT(*) no_of_assets,

CUST."No." cust_no ,

SERVNORM."Contract No.",

SERVGLOB."Contract No. (Glb.)",

SERVOPTI."Contract No. (Opt.)",

SERVSUPP."Contract No. (Sup.)"

FROM "Videojet Technologies Sp_zo_o_$Service Contract" CNTR

LEFT JOIN "Videojet Technologies Sp_zo_o_$Customer" CUST

ON  CUST."No." =CNTR."Customer No."

LEFT JOIN "Videojet Technologies Sp_zo_o_$Service Item" SERVNORM

ON SERVNORM."Contract No."=CNTR."Contract No."

LEFT JOIN "Videojet Technologies Sp_zo_o_$Service Item" SERVGLOB

ON SERVGLOB."Contract No. (Glb.)"=CNTR."Contract No."

LEFT JOIN "Videojet Technologies Sp_zo_o_$Service Item" SERVOPTI

ON SERVOPTI."Contract No. (Opt.)"=CNTR."Contract No."

LEFT JOIN "Videojet Technologies Sp_zo_o_$Service Item" SERVSUPP

ON SERVSUPP."Contract No. (Sup.)" =CNTR."Contract No."

GROUP BY CUST."No.",

SERVNORM."Contract No.",

SERVGLOB."Contract No. (Glb.)",

SERVOPTI."Contract No. (Opt.)",

SERVSUPP."Contract No. (Sup.)" ) service_item

ON (service_item."Contract No."= CNTR."Contract No."

OR service_item."Contract No. (Glb.)"= CNTR."Contract No."

OR service_item."Contract No. (Opt.)"= CNTR."Contract No."

OR service_item."Contract No. (Sup.)"= CNTR."Contract No." )

LEFT JOIN (SELECT MAX("Date of Change") date_of_change , "Contract No."

    FROM "Videojet Technologies Sp_zo_o_$Contract Change Log"

    GROUP BY "Contract No.")CHANGE_LOG

ON (CHANGE_LOG."Contract No."= service_item."Contract No."

OR  CHANGE_LOG."Contract No." = service_item."Contract No. (Glb.)"

OR  CHANGE_LOG."Contract No." = service_item."Contract No. (Opt.)"

OR  CHANGE_LOG."Contract No." = service_item."Contract No. (Sup.)")

WHERE CNTR."Status"<>'2' AND CNTR."Status"<>'0' AND DATEDIFF(day,date_of_change,getdate()) between 0 and 3

order by date_of_change desc

 

Mappings:

 

Source Fields

Target Fields

Source mapped fields

country_code

Account ID

lookup( country_code = Subsidiary, customer_account_no = AccountNumber ): Contract_Accounts_From_SFDC_To_FF.csv.Id

no_of_assets

Currency ISO Code

currency_code

contract_no

Contract Start Date

starting_date

creation_date

Description

Description

contract_group_code_CGC

Contract Type

Type

description

Contract Annual Value

DECODE(ISNULL(contract_amount_annual),True,annual_amount,contract_amount_annual)

description2

Custom Contract End Date

Expiration_Date

contract_status

ERP Contract Number

contract_no

starting_date

Expiration Notice Period

 

Expiration_Date

Product Group

contract_group_code

annual_amount

Contract Status

contract_status

contract_group_code

Number of Units Attached to ...

no_of_assets

customer_account_no

External Unqiue ID

concat(country_code, CONCAT('-',contract_no))

contract_type

Contract Group Code

contract_group_code_CGC

Bottom of Form

Type

 

 

currency_code

 

 

contract_amount_annual

 

 

 

 

Task 4: Contracts_From_SFDC_To_FF

Task

Contracts_From_SFDC_To_FF

Source

PROD_SFDC_NA_INTEGRATION

Source Object

Contract

Target

Flat File

Target Object

Contracts_From_SFDC_To_FF.csv

 

Business Logic:

Contract  filtered by  External_Unqiue_ID__c Is Not Null

 

Mappings:

 

Target Fields

Source Fields

Id

Id

External_Unqiue_ID__c

External_Unqiue_ID__c

Contract_Status__c

Contract_Status__c

ERP_Contract_Number__c

ERP_Contract_Number__c

Status

Status

ContractNumber

ContractNumber

 

Task 5: Cancelled_Contracts_From_Navision_West_To_SFDC

 

Task

Cancelled_Contracts_From_Navision_West_To_SFDC

Source

PROD_SQL_Server_Nav_West_Prod

Source Object

SQ_Cancelled_Contracts_From_Navision_West_To_SFDC

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Contract

 

Tables: "VTI Germany$Service Contract","VTI Germany$Contract Change Log",

"VTI NL$Service Contract","VTI NL$Contract Change Log",

"VTI UK$Service Contract","VTI UK$Contract Change Log",

"VTI France$Service Contract",,"VTI France$Contract Change Log",

"VTI Eire$Service Contract","VTI Eire$Contract Change Log",

"VTI Dubai$Service Contract","VTI Dubai$Contract Change Log",

"Willett S_r_l_ (Italy)$Service Contract","Willett S_r_l_ (Italy)$Contract Change Log"

"VTI Switzerland$Service Contract","VTI Switzerland$Contract Change Log",

"VTI Spain$Service Contract","VTI Spain$Contract Change Log",

"VTI Portugal$Service Contract","VTI Portugal$Contract Change Log",

"VTI Norway$Service Contract","VTI Norway$Contract Change Log"

"VTI Turkey$Service Contract","VTI Turkey$Contract Change Log"

 

Saved query:

 

Mappings:

Source Fields

Target Fields

Source mapped fields

Ext_id

Id

lookup( Ext_id = External_Unqiue_ID__c ): Contracts_From_SFDC_To_FF.csv.Id

reason_code

Contract_Status__c

'Cancelled'

 

External_Unqiue_ID__c

Ext_id

 

Cancel_Reason_Code__c

DECODE(ISNULL(reason_code),True,'Other',reason_code)

 

Task 6: Cancelled_Contracts_From_Navision_Poland_To_SFDC

Task

Cancelled_Contracts_From_Navision_Poland_To_SFDC

Source

PROD_SQL_Server_Nav_East_Prod

Source Object

saved query

Target

PROD_SFDC_NA_INTEGRATION

Target Object

Contract

 

Table: "Videojet Technologies Sp_zo_o_$Contract Change Log" , "Videojet Technologies Sp_zo_o_$Service Contract"

 

Saved query:

 

SELECT 'VTI Poland' country_code,

VSC."Contract No." as contract_no,

VSC."Status" as contract_status,

VSC."Cancel Reason Code" as Cancel_reason_code,

'VTI Poland-'+ VSC."Contract No." As Ext_id,

MRC."reason_code",

CHANGE_LOG.date_of_change

FROM "Videojet Technologies Sp_zo_o_$Service Contract" VSC LEFT JOIN

(SELECT "Code"+': '+"Description" as reason_code,"Code" from "_MCC$Reason Code"

  WHERE 1=1

AND "Code" in('SC-CANC-01','SC-CANC-02','SC-CANC-03','SC-CANC-04','SC-CANC-05','SC-CANC-08','SC-CANC-09','SC-CANC-10','SC-CANC-11','SC-CANC-12','SC-CANC-13','SC-CANC-14','SC-CANC-15','SC-CANC-16','SC-CANC-17','SC-CANC-18')) MRC

ON VSC."Cancel Reason Code" = MRC."Code"

LEFT JOIN (SELECT MAX("Date of Change") date_of_change , "Contract No."

        FROM "Videojet Technologies Sp_zo_o_$Contract Change Log"

    GROUP BY "Contract No.")CHANGE_LOG

ON CHANGE_LOG."Contract No." = VSC."Contract No."

WHERE VSC."Status"='2' AND DATEDIFF(day,date_of_change,getdate()) between 0 and 3

 

Mappings:

Source Fields

Target Fields

Source mapped fields

Ext_id

Id

lookup( Ext_id = External_Unqiue_ID__c ): Contracts_From_SFDC_To_FF.csv.Id

reason_code

Contract_Status__c

'Cancelled'

 

External_Unqiue_ID__c

Ext_id

 

Cancel_Reason_Code__c

DECODE(ISNULL(reason_code),True,'Other',reason_code)

 

 

 

 

 

 

 

 

Issue with Source / Target

 

e.g Sales force can send NULLS where as EBS don’t want to have Nulls

Error Conditions:

 

Warning Conditions:

 

 

Incompatibility

Only if applicable

 

Performance Considerations

(E.g. Source Views Performance / Partition / Primary Key Chunk / Batch Size)

Integration Expected Run time:

Increase in Run time post changes:

 

Other Considerations

Scheduling

Scheduled Date / Time /Frequency

Restart Strategy

                                                    

       Steps / Process to be followed before restating job

 

Crash Recovery

 

 

Testing Summary

Unit Test cases / results verifications will come here

 

Unit Testing

Note:Indicate the specific menu options added to access new forms.

Unit Test#

Case

Description

Tested in Dev?

Status(Open/Closed

Date

 

 

 

 

 

 

 

 

 

 

 

 

Note:Add open issues that you identify while writing or reviewing this document to the open issues section.  As you resolve issues, move them to the closed issues section and keep the issue ID the same.  Include an explanation of the resolution.

When this deliverable is complete, any open issues should be transferred to the project- or process-level Risk and Issue Log (PJM.CR.040) and managed using a project level Risk and Issue Form (PJM.CR.040).  In addition, the open items should remain in the open issues section of this deliverable, but flagged in the resolution column as being transferred.

 

Open UAT Issues

 

ID

Issue

Resolution

Responsibility

Target Date

Impact Date

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Closed UAT Issues

 

ID

Issue

Resolution

Responsibility

Target Date

Impact Date

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments

Popular posts from this blog

Finance All Modules Process Flows

  To- Be Process Flow General Ledger Manual Journal Approval Process Flow Journal Management Invoice Process Flow for Equipment Orders Payment Receiving Through Lock Box Process Flow Collections Overview Process Flow Process Flow to Handle Delinquent Customer Collections Process Flow Payable Invoice (PO Matched) workflow process   Payable Invoice (Non PO Matched) Workflow Process Payment Batch Process  IDR Process Flow To-Be Process Flow Bank Reconciliation - Payment Payables to Fixed Assets Flow Process Flow - Transfer Assets Process Flow –Reclassification (Change Category) Process Flow – Retire Asset Process Flow – Reinstate Asset Process Flow – Impairment Process flow- Depreciate Assets CORP Book to Tax Book TO-Be Process Flow – General Ledger Manual Journal Approval Process Flow   Journal Management  

Finance All Modules Process Flows

  To- Be Process Flow General Ledger Manual Journal Approval Process Flow Journal Management Invoice Process Flow for Equipment Orders Payment Receiving Through Lock Box Process Flow Collections Overview Process Flow Process Flow to Handle Delinquent Customer Collections Process Flow Payable Invoice (PO Matched) workflow process   Payable Invoice (Non PO Matched) Workflow Process Payment Batch Process  IDR Process Flow To-Be Process Flow Bank Reconciliation - Payment Payables to Fixed Assets Flow Process Flow - Transfer Assets Process Flow –Reclassification (Change Category) Process Flow – Retire Asset Process Flow – Reinstate Asset Process Flow – Impairment Process flow- Depreciate Assets CORP Book to Tax Book TO-Be Process Flow – General Ledger Manual Journal Approval Process Flow   Journal Management  

Finance All Modules Process Flows

  To- Be Process Flow General Ledger Manual Journal Approval Process Flow Journal Management Invoice Process Flow for Equipment Orders Payment Receiving Through Lock Box Process Flow Collections Overview Process Flow Process Flow to Handle Delinquent Customer Collections Process Flow Payable Invoice (PO Matched) workflow process   Payable Invoice (Non PO Matched) Workflow Process Payment Batch Process  IDR Process Flow To-Be Process Flow Bank Reconciliation - Payment Payables to Fixed Assets Flow Process Flow - Transfer Assets Process Flow –Reclassification (Change Category) Process Flow – Retire Asset Process Flow – Reinstate Asset Process Flow – Impairment Process flow- Depreciate Assets CORP Book to Tax Book TO-Be Process Flow – General Ledger Manual Journal Approval Process Flow   Journal Management