Datasync
Hvordan er datasync satt opp hos Løvenskiold?
Integrasjonen har 6 forskjellige jobber. De er som følger:
Alle jobbene kjører hver tredje time:
Videre så kopieres det også filer hver tredje time i samme schedule task jobb. Det er følgende kopiering som da skjer:
copy /y "\lv001data$SOProff_ARCSOProff_Imp_ExpPRODCustomer_Contactid.txt" "D:SuperOfficeAdwizaDataSync.netDAX filer"
copy /y "\lv001data$SOProff_ARCSOProff_Imp_ExpPRODCustomer.txt" "D:SuperOfficeAdwizaDataSync.netDAX filer"
copy /y "\lv001data$SOProff_ARCSOProff_Imp_ExpPRODProject_Contactid.txt" "D:SuperOfficeAdwizaDataSync.netDAX filer"
copy /y "\lv001data$SOProff_ARCSOProff_Imp_ExpPRODProject.txt" "D:SuperOfficeAdwizaDataSync.netDAX filer"
- Customer_Contactid
Denne jobben leser fra en txt fil som ligger her som vi nok får fra DAX: D:SuperOfficeAdwizaDataSync.netDAX filerCustomer_Contactid.txt.
Altså ligger original filen på \lv001data$SOProff_ARCSOProff_Imp_ExpPROD. Ref kopiering over.
Fra den filen så leser den følgende felter, oversikt over mapping følger:
Den bruker altså "superiofficeid" fra fila og nøkler det mot Contact_ID som er unik nøkkel for firma i SuperOffice. Videre så skriver den data til feltene du ser over. SuperOffice felter markert rødt.
- CreditLimit
Denne jobben leser fra en pbase databasen ved bruk av SuperOffice sin ODBC kilde og at CRM SQL login har db_datareader access på pbase.
select
distinct cl.SOID,
CAST(cl.CreditLimit AS INTEGER) as CreditLimit,
CAST(cl.Total AS FLOAT) as Total,
CAST(cl.AvailableCredit AS FLOAT) as AvailableCredit,
cl.Blocked,
cl.CUSTPAYMTERMID
from pbase.dbo.creditlimit cl
INNER JOIN SO_Proff_SuperOffice.crm7.CONTACT c ON cl.SOID = c.contact_id
where cl.SOID like '[0-9]%'
Mappingene her er som følger:
Nøkkel er igjen SuperOffice sin contact_id og feltene det skrives til er på firma og markert rødt.
- Customer
Jobben leser fra fil som ligger her: D:SuperOfficeAdwizaDataSync.netDAX filerCustomer.txt, igjen etter kopiering ref over.
Det er mappet slik:
Legg merke til at denne benytter accountnum fra fila og matcher mot nummer feltet i SuperOffice.
- Kundekort
Denne jobben leser fra en pbase databasen ved bruk av SuperOffice sin ODBC kilde og at CRM SQL login har db_datareader access på pbase.
select
distinct kk.customerid,
CAST (kk.ItemGrossMarginPct AS FLOAT) as ItemGrossMarginPct,
CAST (kk.ItemGrossMarginYtdPct AS FLOAT) as ItemGrossMarginYtdPct,
CAST (kk.BudgetGmPct AS FLOAT) as BudgetGmPct,
CAST (kk.BudgetGMPctYTD AS FLOAT) as BudgetGMPctYTD,
CAST (kk.ItemSalesNetAmt AS FLOAT) as ItemSalesNetAmt,
CAST (kk.BudgetSales AS FLOAT) as BudgetSales,
CAST (kk.ItemSalesNetYTDAmt AS FLOAT) as ItemSalesNetYTDAmt,
CAST (kk.BudgetSalesYTD AS FLOAT) as BudgetSalesYTD,
CAST (kk.ItemSalesNetYTDLY AS FLOAT) as ItemSalesNetYTDLY
from pbase.dbo.kundekort kk
INNER JOIN SO_Proff_SuperOffice.crm7.CONTACT c on kk.customerid = c.number2
where kk.customerid like '[0-9]%'
Mappings:
Merk at denne jobben leser også fra pbase, men benytter customerid derfra til å matche mot nummer i SO.
- Project_contactid
Leser fra fil: D:SuperOfficeAdwizaDataSync.netDAX filerProject_Contactid.txt
Mappings:
Benytter superofficeid fra fila og matcher mot project_id på prosjekt i SuperOffice for å vite hvem den skal oppdatere. Skriver til felter markert rødt.
- Project
Leser fra fil: D:SuperOfficeAdwizaDataSync.netDAX filerProject.txt
Mappings:
Benytter accountnum fra fila og matcher mot prosjektnummer i SO. Oppdaterer felter markert.
Alt dette kjøres via en modul som heter DataSync på SO-Proff01(172.16.208.44). Det er altså schedule task jobben nevnt først som trigger jobbene. Den starter også kopieringen av filene.