ALL-CRM AC-DataLink 7.Functionele en Technische beschrijving
Auteur: Datum: Versie: Reference:
Ger van Boxtel 31-12-2012 v0.1
© 2013, All-CRM
1 Inhoudsopgave 1 Inhoudsopgave
2
2 Document geschiedenis
3
3 Disclaimer & Legal
4
4 Inleiding
5
5 Mappenstructuur
6
5.1 5.2 5.3 5.4 5.5 5.6
StartActivities.exe.config Importsettings_F1.ini Log / Logboeken Starten van AC-StartActivities XAML Bestanden XML Bestanden
Date: 28-1-2013
7 8 24 26 27 29
V 1.2
page 2 of 31
2 Document geschiedenis Versie 0.1
Date: 28-1-2013
Datum 31-12-2012
Auteur GvB
Aanpassingen Initial version.
V 1.2
page 3 of 31
3 Disclaimer & Legal Alhoewel dit document met de grootste zorg is samengesteld kan het fouten bevatten of incompleet zijn. Er kunnen geen rechten aan dit document worden ontleend. De inhoud van dit document is vertrouwelijk van aard. Het wordt onder de nadrukkelijke voorwaarde van non-disclosure ter beschikking gesteld. The disclosed information is the (intellectual) property of All-CRM copying it or using it in any way other than the intended purpose of cooperation is a breach of copyrights and the agreement under which this document has been supplied. All rights reserved © 2013 All-CRM.
Date: 28-1-2013
V 1.2
page 4 of 31
4 Inleiding Dit document beschrijft de technische functionaliteit en de installatie opties voor ACDataLink 7.- Het is primair voor intern gebruik en niet geschikt als gebruikershandleiding. In dit document wordt de wijze waarop AC-DataLink wordt ingericht beschreven.
Date: 28-1-2013
V 1.2
page 5 of 31
5 Mappenstructuur De mappenstructuur voor AC-Datalink is volgens het onderstaande schema: ROOTH Flipse Importsettings_F 1.ini Flipse_Log Flipse_XAML
Flipse_XML
Import
MsAccess_Flipse
Empty
OLD SuperOfficeExport.mdb _SuperOfficeExport.mdb DeltaSuperOfficeExport. mdb
Hier staat de exe files, de Dll’s en de ACStartActivities.exe.config Naam van het Back-Office systeem waaruit de gegevens worden geïmporteerd. De configuratie instellingen die worden gebruikt voor de import. Hierin staan de specifieke instellingen voor de import Hier komen de logbestanden te staan. In de logbestanden zijn per import alle afwijkingen te vinden. In deze bestanden staat beschreven op welke wijze de Delta in SO wordt gelezen. De XAML bestanden kunnen per BackOffice systeem verschillen. In deze bestanden staat welke velden waar moeten worden geplaatst in SO. Deze bestanden zijn per organisatie verschillend. In deze map staan de bestanden die direct afkomstig zijn uit het backoffice systeem In deze map staat de lege SuperOfficeExport.mdb. Een kopie wordt voor de import in de bovenliggende map geplaatst Hierin staan oudere versie van de _SuperOfficeExport.mdb en de Delta Dit is de mdb die is gevuld met de gegevens uit de importmap. Dit is het bestand dat bij de vorige import is aangemaakt. Wordt gebruikt om de Delta te maken Deze database bevat het verschil tussen de beide SuperOfficeExport.mdb’s Dit bestand wordt gebruikt voor de import naar SO
Hierna worden de belangrijke bestanden nader toegelicht.
Date: 28-1-2013
V 1.2
page 6 of 31
5.1 StartActivities.exe.config In dit bestand wordt de verbinding met de SQL server ingesteld. Het belangrijkste deel van de config is hierna weergegeven.
<Session> <Explicit>
De in vet weergegeven delen in de config moeten worden aangepast zodat met de juiste server verbinding wordt gemaakt. De in te vullen gegevens spreken voor zich.
Date: 28-1-2013
V 1.2
page 7 of 31
5.2 Importsettings_F1.ini De Importsettings.ini is een bestand dat is opgebouwd volgens de “oude” methode. Het kent blokken met parameters i.p.v. het moderne systeem met xml structuren. De volgende blokken zijn te onderscheiden: [Path] [Import] [Source] [Skip] [Defaults] [Run] [DuplicateCompanies]
L L
[LogBook] [DuplicatePersons] [Brandstofsoort] [VestigingAankoop] [Medewerkers]
L L L
In dit onderdeel staan de paden naar de verschillende bestanden die worden gebruikt bij de conversie. In Import staan de specifieke settings die nodig zijn voor het importeren van (tekst-)bestanden en de aanmaak van de Delta.mdb Aanduidingen voor het BackOffice systeem. Ondermeer de voorloopletter Geeft aan of, en zo ja welke gegevens niet mogen worden geïmporteerd in SO. Dit betreft vooral een filtering op bepaalde namen Wordt niet meer gebruikt Wordt niet meer gebruikt Hierin staan de criteria op basis waarvan wordt vastgesteld of een bedrijf al in SO voorkomt of nieuw moet worden toegevoegd. Bevat instellingen die bepalen op welke wijze en hoe diepgaand de gegevens over het proces moeten worden vastgelegd. Hierin staan de criteria op basis waarvan wordt vastgesteld of een contactpersoon al in SO voorkomt of nieuw moet worden toegevoegd. Wordt niet meer gebruikt Wordt niet meer gebruikt Wordt niet meer gebruikt
Hierna wordt per blok aangegeven wat de mogelijke opties zijn. Natuurlijk wordt de werking waarnodig toegelicht.
Date: 28-1-2013
V 1.2
page 8 of 31
5.2.1 Path In dit onderdeel worden de paden vastgelegd. De volgende opties zijn mogelijk: Mdb Bijvoorbeeld:
Mdb=B:\Flipse\MsAccess_Flipse\DeltaSuperOfficeExport.mdb of Mdb=Gids\MsAccess_Gids\DeltaSuperOfficeExport.mdb
Functie: Opgegeven van het path naar de DeltaSuperOfficeExport.mdb. In principe kan ook een relatief path worden opgegeven. LET OP: Bij Creenib cars is geen ToFillMdb opgegeven. Bij Greenib cars wordt de sleutel Mdb= gebruikt om de database te specificeren die moet worden gevuld. ToFillMdb Bijvoorbeeld: ToFillMdb=B:\Flipse\MsAccess_Flipse\SuperOfficeExport.mdb
Functie: Geeft de locatie van de (lege) SuperOfficeExport.MDB aan. Deze instelling wordt natuurlijk gebruikt voor het vullen van deze database. XAML....... Bijvoorbeeld: XAMLContact=Gids\Gids_XAML\ContactImport.xaml
Functie: De verschillende stappen in het conversie proces worden per stap steeds aangestuurd met een XAML bestand. In dit bestand staat beschreven wat er moet worden gedaan in de betreffende stap. Bij het starten van AC-StartActivities.exe wordt meegegeven welke XAML moet worden uitgevoerd. De XAML Naam is tevens gekoppeld aan de XML naam die erbij hoort. XML......... Bijvoorbeeld:
XMLContact=Gids\Gids_XML\AC-DataLinkCompany.xml
Functie: In de xml staat de veldmapping die wordt gebruikt tijdens de xaml stap met dezelfde naam. Naast de veldmapping staat in de xml ook de conversie van lijstjes die in SO worden gebruikt. Het is niet perse noodzakelijk om de xml hier op te geven. Ze kunnen ook in de SO database worden geplaatst.
Date: 28-1-2013
V 1.2
page 9 of 31
5.2.2 Import Hier staan de instellingen die noodzakelijk zijn voor de import van gegevens uit de Tekstbestanden naar de Delta. Textpath Bijvoorbeeld: Textpath=B:\Flipse\Import
Functie: Wijst de map aan met daarin de textbestanden waarin de te importeren gegevens staan. De namen van de verschillende tekstbestanden worden vastgelegd in de betreffende XAML bestand. In dit bestand staat naast de naam van het bestand dat moet worden ingelezen, tevens de conversie van elke kolom in het bestand. EncodingMethod Bijvoorbeeld:
EncodingMethod=Default
Functie: Geeft aan welke karakterset is gebruikt bij de aanmaak van de CSV. Welke methode moet worden gebruikt is een questie van expirimenteren. Meestal geeft “Default” het beste resultaat. Beschikbare opties zijn: EncodingMethod=DEFAULT Meestal een goed resultaat EncodingMethod=ASCII EncodingMethod=UNICODE UNIX / Apple als aanleverend systeem EncodingMethod=UTF8 EncodingMethod=UTF7 EncodingMethod=UTF32 EncodingMethod=BIGENDIANUNICODE EmptyMdbFile Bijvoorbeeld: EmptyMdbFile=B:\Flipse\MsAccess_Flipse\Empty\SuperOfficeExport.mdb
Functie: Wijst de locatie aan waar het programma de lege (te vullen) database kan vinden. Van deze database wordt een kopie gemaakt. Deze kopie wordt geplaatst in de map die is aangegeven in [PATH] mdb=. Zie betreffende hoofstuk. SQLEmptyMdbFile Bijvoorbeeld: SQLEmptyMdbFile=Provider~SQLOLEDB;Data Source~PC-GER;Initial Catalog~DataLink7;User ID~crm7;Password~crm7myd
Functie: Deze optie biedt de mogelijkheid om in plaats van de Access database een SQL server te gebruiken als “Lege MDB” . In de praktijk blijkt de SQL server 3 maal zo langzaan als een Access database. Deze optie is niet volledig uitgewerkt.
Date: 28-1-2013
V 1.2
page 10 of 31
DecimalSign Bijvoorbeeld: DecimalSign=.
Functie: Welk teken wordt in het import bestand als decimaal scheidings teken gebruikt. Meestal of de punt of de komma. ThousandSepSign Bijvoorbeeld: ThousandSepSign=
Functie: Welk teken wordt gebruikt om de duizendtallen van elkaar te scheiden. Meestal de punt of komma, kan ook leeg blijven als geen gebruik wordt gemaakt van een scheidingsteken tussen de duizendtallen. Extension Bijvoorbeeld: Extension=CSV Functie: Wat is de extentie die de bestanden hebben die moeten worden geïmporteerd. Meestal CSV of TXT. IncludeFuellContractsInCalculations Bijvoorbeeld: IncludeFuellContractsInCalculations=False
Functie: Bepaalt of bij de import van Filpse en ... bij het berekenen van de omzetbedragen de brandstof contracten worden meegenomen of niet. Standaard wordt IncludeFuellContractsInCalculations=True gebruikt. Dus als het niet wordt opgegeven worden alle contracten in de berekening meegenomen. Om de brandstof contracten niet mee te laten nemen moet de optie op False of Nee worden gezet. (De filter werkt feitelijk op de letters F en N). De optie is voor Xlease en Achillis ingebouwd. Bij deze bedrijven moet dus deze instelling op False worden gezet.
Date: 28-1-2013
V 1.2
page 11 of 31
5.2.3 Source In dit hoofdstuk staat informatie over het bronsysteem. Addition Bijvoorbeeld: Addition=G
Functie: Een aanduiding, meestal 1 Letter die aangeeft wat het BackOffice systeem is waaruit de gegevens afkomstig zijn. Wordt ondermeer gebruikt als voorloopletter in de ForeignKey tabel. Description Bijvoorbeeld:
Description=GIDS
Functie: Omschrijving van het systeem waaruit de gegevens afkomstig zijn. Wordt feitelijk niet gebruikt. Location Bijvoorbeeld: Location=
Functie: Wordt feitelijk niet gebruikt. Prefix Bijvoorbeeld: Prefix=AE
Functie: Wordt feitelijk niet gebruikt.
Date: 28-1-2013
V 1.2
page 12 of 31
5.2.4 Skip Met skip kan worden aangegeven of bepaalde gegevens niet moeten worden geïmporteerd op basis van het feit dat er bepaalde tekens voorkomen in de naam of omschrijving. SkipCompaniesBeginWith Bijvoorbeeld:
SkipCompaniesBeginWith= xxx|yyy|zzz|**
Functie: Sla die Contacts over waarvan de naam begint met de opgegeven tekenreeks. Meerdere reeksen waarop kan worden gecontroleerd worden vanelkaar gescheiden door middel van een | (Pipeline symbool). SkipCompaniesContaining Bijvoorbeeld: SkipCompaniesContaining=xxx
Functie: Sla die Contacts over waarvan in de naam de opgegeven tekenreeks voorkomt. Meerdere reeksen waarop kan worden gecontroleerd worden vanelkaar gescheiden door middel van een | (Pipeline symbool). SkipPersonsBeginWith Bijvoorbeeld:
SkipPersonsBeginWith= xxx|yyy|zzz|**
Functie: Sla die persons over waarvan de naam begint met de opgegeven tekenreeks. Meerdere reeksen waarop kan worden gecontroleerd worden vanelkaar gescheiden door middel van een | (Pipeline symbool). SkipPersonsContaining Bijvoorbeeld: SkipPersonsContaining=xxx
Functie: Sla die persons over waarvan in de naam de opgegeven tekenreeks voorkomt. Meerdere reeksen waarop kan worden gecontroleerd worden vanelkaar gescheiden door middel van een | (Pipeline symbool). SkipProjectsWithLessMembersThen Bijvoorbeeld: SkipProjectsWithLessMembersThen=3
Functie: Met deze functie kan worden voorkomen dat projecten worden aangemaakt waaraan geen contacts of persons zijn gekoppeld. Op dit moment jan 2012 werkt de functie niet goed. Dit omdat eerst een nieuw project wordt aangemaakt en pas daarna projectleden kunnen worden gekoppeld.
Date: 28-1-2013
V 1.2
page 13 of 31
Op 4 jan 2013 is de functie aangepast en telt hij ook de projectleden die in sAuto zijn benoemd mee. Maximaal kunnen via sAuto 3 leden worden meegenomen.
Date: 28-1-2013
V 1.2
page 14 of 31
5.2.5 Defaults In deze groep zijn de volgende instellingen beschikbaar. Eigenaar=2 Factuur=2 Bestuurder=2 Business=2 Associate=2 Geen van de instellingen wordt nog gebruikt. Daarom worden ze niet nader uitgewerkt.
Date: 28-1-2013
V 1.2
page 15 of 31
5.2.6 Run De navolgende instelling is in deze groep beschikbaar: X_Last=22135985 Hij wordt echter niet (meer) gebruikt.
Date: 28-1-2013
V 1.2
page 16 of 31
5.2.7 Appointment De navolgende instellingen zijn beschikbaar: TaskType=2 TaskTypeNewCar=2 TaskTypeUsedCar=2 Ze worden echter niet meer gebruikt.
Date: 28-1-2013
V 1.2
page 17 of 31
5.2.8 DuplicateCompanies Met behulp van deze instellingen kan de ontdubbeling van de contacts worden geregeld. Door een juist gebruik van deze instellingen kan worden voorkomen dat bij de import nieuwe bedrijven worden aangemaakt, terwijl ze in feite al voorkomen in SO. Deze functie is vooral van belang bij de eerste import van een nieuw bedrijf. Immers nadat het bedrijf is toegevoegd wordt een relatie gelegd op basis van de Foreign Key. De volgende instellingen zijn beschikbaar: ScoreZipcode Bijvoorbeeld: ScoreZipcode=20
Functie: Geeft de waarde van een match op postcode ( Waarde tussen 0-49) Een spatie tussen de cijfers en de letters heeft geen gevolgen ScoreHouseNr Bijvoorbeeld: ScoreHouseNr=20
Functie: Geeft de waarde van een match op huisnummer ( Waarde tussen 0-49) ScoreName Bijvoorbeeld: ScoreName=20
Functie: Geeft de waarde van een match op achternaam/ bedrijfsnaam ( Waarde tussen 0-49) De tekst wordt letterlijk genomen. ScoreEmail Bijvoorbeeld: ScoreEmail=20
Functie: Geeft de waarde van een match op Email adres ( Waarde tussen 0-49) ScorePhone Bijvoorbeeld: ScorePhone=20
Functie: Geeft de waarde van een match op telefoonnummer ( Waarde tussen 0-49) ScoreUpperMargin Bijvoorbeeld: ScoreUpperMargin=75
Functie:
Date: 28-1-2013
V 1.2
page 18 of 31
Van alle onderdelen die hiervoor genoemd zijn wordt de score opgeteld indien de bestaande contact dezelfde waarde heeft als de nieuw te importeren contact. Komt de totale score boven de ScoreUpperMargin dan wordt de nieuw te importeren contact samengevoegd met de bestaaande contact. Is de score lager dan wordt een nieuwe Contactkaart aangemaakt in SuperOffice. Let op de ScoreUpperMargin kan niet lager zijn dan 50 (en niet hoger dan 100). ScoreLowerMargin Wordt niet meer gebruikt. Had voorheen een signaleringsfunctie.
Date: 28-1-2013
V 1.2
page 19 of 31
5.2.9 DuplicatePersons Met behulp van deze instellingen kan de ontdubbeling van de contacts worden geregeld. Door een juist gebruik van deze instellingen kan worden voorkomen dat bij de import nieuwe bedrijven worden aangemaakt, terwijl ze in feite al voorkomen in SO. Deze functie is vooral van belang bij de eerste import van een nieuw bedrijf. Immers nadat het bedrijf is toegevoegd wordt een relatie gelegd op basis van de Foreign Key. De volgende instellingen zijn beschikbaar: ScoreLastname Bijvoorbeeld: ScoreLastname=20
Functie: Geeft de waarde van een match op achtenaam van de betreffende persoon ( Waarde tussen 0-49) ScoreEmail Bijvoorbeeld: ScoreEmail=20
Functie: Geeft de waarde van een match op Email adres ( Waarde tussen 0-49) ScoreFirstname Bijvoorbeeld: ScoreFirstname=20
Functie: Geeft de waarde van een match op voornaam ( Waarde tussen 0-49) Noot in deze kolom staan de Initialen van de betreffende persoon. ScorePhone Bijvoorbeeld: ScorePhone=20
Functie: Geeft de waarde van een match op telefoonnummer ( Waarde tussen 0-49) ScoreUpperMargin Bijvoorbeeld: ScoreUpperMargin=75
Functie: Van alle onderdelen die hiervoor genoemd zijn wordt de score opgeteld indien de bestaande persoon dezelfde waarde heeft als de nieuw te importeren persoon. Komt de totale score boven de ScoreUpperMargin dan wordt de nieuw te importeren persoon samengevoegd met de bestaaande persoon. Is de score lager dan wordt een nieuwe persoonskaart aangemaakt in SuperOffice.
Date: 28-1-2013
V 1.2
page 20 of 31
Let op de ScoreUpperMargin kan niet lager zijn dan 50 (en niet hoger dan 100). ScoreLowerMargin Wordt niet meer gebruikt. Had voorheen een signaleringsfunctie.
Date: 28-1-2013
V 1.2
page 21 of 31
5.2.10
LogBook
In dit onderdeel wordt ingesteld op welke wijze en hoe nauwkeurig de gegevens over het proces moeten worden vastgelegd in de logboeken. Voor dit proces zijn de volgende parameters beschikbaar. LogLevel Bijvoorbeeld: LogLevel=5
Functie: Legt het niveau van logging vast. Dit niveau bepaald welke berichten wel en welke berichten niet in het logbestand worden vastgelegd. Het systeem kent de volgende niveau’s: Proces Critical Error Info Message Debug
-1 1 2 3 4 5
DeleteAfter Bijvoorbeeld: DeleteAfter=5
Functie: Geeft aan hoe lang, in dagen de logbestanden moeten worden bewaard, en dus kunnen worden ingezien. Gezien de omvang van de bestanden wordt aangeraden deze niet te lang te bewaren. NOOT: De SuperOfficeExport.MDB en de delta worden altijd 5 dagen bewaard. LongLog Bijvoorbeeld:
LongLog=Flipse\Flipse_Log\LongLog.txt
Functie: Path en de naam voor het bestand waarin de uitgebreide log informatie in moet worden geplaatst. Dit bestand wordt een aantal dagen bewaard. Zie “DeleteAfter”. ShortLog Bijvoorbeeld: ShortLog=Flipse\Flipse_Log\ShortLog.txt
Functie: Voor testdoeleinden is het gewenst om min of meer “on the fly” te kunnen monitoren hoe de import verloopt. Hiervoor wordt de ShortLog bijgehouden. De ShortLog wordt bij elke melding vernieuwd, en kan periodiek worden uitgelezen. In de shortlog is de actuele voortgang zichtbaar.
Date: 28-1-2013
V 1.2
page 22 of 31
5.2.11
Brandstofsoort
Wordt in de huidige Datalink niet meer gebruikt. De volgende entries waren beschikbaar: X_Entry0=Diesel#50 (Diesel) X_Entry1=Euro loodvrij#48 (Euro 95) X_Entry2=Super loodvrij#49 (Euro 98) X_Entry3=B#48 (Euro 95) X_Entry4=E#49 (Euro 98) X_Entry5=D#50 (Diesel) X_Entry6=G#51 (LPG) X_Entry7=LPG#51 (LPG) X_Entry8=S#49 (Euro 98)
5.2.12
VestigingAankoop
Wordt in de huidige Datalink niet meer gebruikt. De volgende entries waren beschikbaar: X_Entry0=ALKMA#57 (Hoofdvestiging) [Categorie] X_Entry0=Klant#10 (Klant) X_Entry1=Niet-klant#20 (Niet-klant) X_Entry2=Lg#19 (Lg)
5.2.13
Medewerkers
Wordt in de huidige Datalink niet meer gebruikt. De volgende entries waren beschikbaar: X_Entry0=VERG#6 (LG) X_Entry1=VEN#6 (LG) X_Entry2=ARNO#59 (ARNO) X_Entry3=GIEL#60 (GIEL)
Date: 28-1-2013
V 1.2
page 23 of 31
5.3 Log / Logboeken Tijdens het proces worden de werkzaamheden vastgelegd in logboeken. Deze bestanden zijn te vinden in de map zoals gespecialiseerd in de Settings.ini. Zoals al eerder aangegeven zijn er steeds 2 logboeken, een kort samenvattend logbook dat de actuele stand van zake toont, zie voorbeeld hierna en een uitgebreid logboek. Voorbeeld van het korte logboek Datum / Tijd Versie applicatie Systeem Verwerkte records Toegevoegde records Verwijderde records Bijgewerkte records Afgekeurde records Records in log gezet Aantal opgetreden fouten
: : : : : : : : : :
08-01-2013 13:57:04 70.0.40.2307 \Flipse_Projecten.xaml 2051 (2 Regels/seconde) 27 4033 2024 0 0 0 (zie log)
Het uitgebreide logbook bevat veel meer informatie en toont des gewenst tot op detail niveau het procesverloop. Tot welk niveau het proces moet worden gevolgt wordt in de Settings.ini opgegeven. Een voorbeeld van het meest uitgebreide logbook is hierna gegeven: 2013-01-08 13:41:05 | | _______________________________________________________________________________ | | ProgramStartup | | Product : 7.0.0.2130 | | CodeActivity : 70.0.40.2307 | | DatalinkConfig7: <||>2012.04.05.1607<||> | | Part[0] : FKLI | | Part[1] : FKLI | | Part[2] : XAMLFlipse_Projecten | | Part[3] : Flipse\Importsettings_F1.ini 2013-01-08 13:41:05 | Message | Ingelogd door middel van Username en wachtwoord. 2013-01-08 13:41:05 | Message | Start Verwerking van: Flipse\Flipse_Projecten.xaml 2013-01-08 13:41:05 | Debug | IniFileContainingSettings:Flipse\Importsettings_F1.ini 2013-01-08 13:41:05 | Debug | XMLFieldMappingAndListsFile: AC-DataLinkProject.xml 2013-01-08 13:41:05 | Debug | Data Source: DeltaSuperOfficeExport.mdb 2013-01-08 13:41:07 | | _______________________________________________________________________________ | | OleDbSQL | | ConnectionString :\DeltaSuperOfficeExport.mdb | | SQL :Delete from S_auto where relatienummer_eigenaar is 0 2013-01-08 13:41:07 | Message | Er zijn geen rijen veranderd door de query 2013-01-08 13:41:07 | | _______________________________________________________________________________ | | ReadForeignkey | | Voorloopletter : F | | Nummer : F01021 | | Entiteit : 3 2013-01-08 13:41:07 | Debug | Gevonden: 9148 2013-01-08 13:41:07 | | _______________________________________________________________________________ | | GetDuplicateProjects | | KentekenCode :F01021 / 49PFG7 | | Contractnummer : | | Al eerder gevonden RecordID :9148 2013-01-08 13:41:07 | Debug | Project was al gevonden. Geen zoekactie gestart. | Debug | ExecuteTime: 0ms 2013-01-08 13:41:07 | |
Date: 28-1-2013
V 1.2
page 24 of 31
In het scherm hiervoor zijn een aantal onderdelen te zien. In de eerste kolom staat de datum en het tijdstip waarop de gebeurtenis is opgetreden. In de tweede kolom staat het type gebeurtenis. In het voorbeeld zijn alleen meldingen zichtbaar van het type Message en Debug. In de derde kolom staat een nadere toelichting van het bericht. Deze toelichting kan zich over meerdere regels uitstrekken. In het voorbeeld is dit ook zichtbaar.
Date: 28-1-2013
V 1.2
page 25 of 31
5.4 Starten van AC-StartActivities Datalink Bestaat uit een groot aantal bestanden. Datalink wordt feitelijk gestart met het programma AC-StartActivities. Bij het starten van AC-StartActivities moeten een aantal parameters op de commandline worden meegegeven. Zonder deze parameters zal het programma niet starten / niet weten wat er moet worden gedaan. Hierna worden de parameters toegelicht. De algemene aanroep voor het programma is als volgt: AC-StartActivities.exe "crm5,crm5myd,XAMLDataLink,F\Importsettings_F.ini" De betekenis van de verschillende onderdelen is: Item AC-StartActivities.exe
Verplicht JA
SO_User
JA
SO_Password
JA
XAMLDataLink
JA
XMLDataLink
NEE
F\Importsettings_F.ini
JA
Toelichting Programma naam. Moet exact zo worden overgenomen De gebruikersnaam waarmee verbinding kan worden gelegd met SuperOffice. Indien de naam leeg wordt gelaten, dan zal het programma starten zonder verbinding met SuperOffice te maken. Het wachtwoord waarmee verbinding kan worden gelegd met SuperOffice. Het XAML bestand met daarin de beschrijving van de activiteiten die moeten worden uitgevoerd. De opgegeven naam moet voorkomen in de Settings.ini (Zie betreffende onderdeel.) Indien opgegeven wordt de betreffende XML opgezocht in de Settings.Ini. Wordt de parameter niet opgegeven dan wordt deze afgeleidt van de XAML naam. (Voor de XML wordt de XAML naam gebruikt zonder de A.) Het (relatieve) path naar de Settings.ini
Door een speciale XAML workflow te maken kunnen de verschillende XAML na elkaar worden gestart vanuit een aanroep, waarbij tevens wordt gecontroleerd of er geen problemen zijn opgetreden tijdens de import van de gegevens. Bijvoorbeeld de workflow Flipse_DataLink.XAML. Een voorbeeld van de Batchfile is: E: CD\All-Crm\DataLink AC-StartActivities.exe "crm5,crm5myd,XAMLDataLink,Flipse\Importsettings_F.ini"
Date: 28-1-2013
V 1.2
page 26 of 31
5.5 XAML Bestanden Datalink maakt gebruik van zogenoemde XAML bestanden. In deze bestanden is het conversie proces tot in detail beschreven. Het zijn dus eigenlijk de blauwdrukken die worden gebruikt voor het converteren en importeren van de gegevens. In principe worden deze XAML bestanden 1 maal per conversietype aangemaakt. Daarna is het feitelijk niet noodzakelijk deze nog te wijzigen. In de ontwerpweergave ziet een XAML bestand er als volgt uit:
Hetzelfde bestand ziet er in de Edit mode als volgt uit:
Date: 28-1-2013
V 1.2
page 27 of 31
Indien een XAML wordt gekopieerd, ontstaan er foutmeldingen. Deze worden veroorzaakt door het feit dat elke XAML een parameter heeft die uniek moeten zijn. Deze parameter is: x:Class="ImportFlipse"
Daarnaast is het handig om ook de filenaam goed te zetten:
sad:XamlDebuggerXmlReader.FileName="C:\Flipse\Flipse_DataLink.xaml"
De verschillende onderdelen in de XAML kunnen worden uitgezet door in de titel de tekst “DISABLED” te plaatsen (in hoofdletters, zonder de “”) Zie voorbeeld:
In de Edit mode kan een module worden uitgeschakeld door het onderstaande deel aan te passen: DisplayName="CSV to DELTA DISABLED" Beide voorbeelden hebben betrekking op hetzelfde onderdeel.
Date: 28-1-2013
V 1.2
page 28 of 31
5.6 XML Bestanden Datalink maakt ook gebruik van zogenoemde XML bestanden. Deze bestanden worden gebruikt om AC-DataLink op “maat” te maken. Dit betekent dat elke organisatie zijn / haar eigen set XML bestanden heeft. Per XAML wordt een XML bestand gemaakt. Hierna wordt tot in detail beschreven op welke wijze de XML bestanden zijn opgebouwd en kunnen worden bewerkt. Op de fieldmapping na kunnen de XML bestanden ook worden bewerkt in AC-ACC. Omdat daarbinnen een gebruikersvriendelijke interface beschikbaar is, wordt aangeraden de mutaties zo veel als mogelijk binnen AC-ACC uit te voeren. Elk XML bestand kent in grote lijnen de volgende opbouw.
<Sources> <Source name="MEDEWERKER" sname="SALESMDW" type="INTEGER" list="ASSOCIATE" default="155" />
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
Hierna worden de verschillende onderdelen toegelicht. Hierbij wordt verwezen naar de regelnummers zoals in het bovenstaande voorbeeld zijn gebruikt.
5.6.1 Description (regel 2) De description geeft aan waarvoor de xml wordt gebruikt. Deze informatie is alleen zichtbaar in de xml zelf. Hij wordt verder nergens gebruikt of getoond. Op dezelfde regel staat ook de tekst “type="msaccess" kind="Generic"”. Deze tekst mag niet worden aangepast! Voor de duidelijkheid de tekst achter Description kan zonder problemen worden aangepast en kan een toelichting bevatten mbt het doel van de xml
Date: 28-1-2013
V 1.2
page 29 of 31
5.6.2 Field (regel 4 t/m 10) De feitelijke veldmapping wordt uitgevoerd op de regels 4 t/m 10. Deze regels kunnen naar behoefte worden herhaald. Elke veldmapping kent een bepaalde structuur. Op de eerste regel (regel 4 en 5) staan 4 parameters die betrekking hebben op de bestemming in SuperOffice: name=
"MEDEWERKER"
De naam van het veld is louter informatief. Voor zover bekent wordt dit niet in de code gebruikt. Let wel dit gegeven wordt ook bij problemen getoond!
pname=
"ASSOCIATE*AssociateId"
De PName is de veldnaam, zoals deze binnen de SuperOffice objecten wordt gebruikt. Het gebruik van het * geeft aan dat het veld onderdeel uitmaakt van een subobject. Associate is in dit geval het subobject. Velden uit het hoofdobject zelf kunnen direct met de veldnaam worden aangeduid. De meervelden worden aangegeven met bijvoorbeeld: UDPERSM_STRING05
Length=
"15"
Mogelijk wordt Length bij stringvelden gebruikt om een maximale lengte van het veld op te geven. Verdere toepassingen zijn in de code niet gevonden.
Originate=
"GENERALASSOCIATELIST"
Wat hier wordt geplaatst is feitelijk niet van belang, zolang het maar niet de tekst: "NOFUNCTION" is. Deze tekst geeft namelijk aan dat er niets met het veld moet worden gedaan. Als aanvullende informatie wordt de Orginate gevuld met het type veld waarnaar wordt geschreven. Noodzakelijk is dit echter niet.
5.6.3 Sources / Source (regel 6 t/m 9) Met Sources / source wordt de bron van de informatie aangegeven. Met andere woorden met welke informatie moet het veld in SuperOffice worden gevuld. Er kunnen meerdere Sources zijn die samen 1 veld in SuperOffice opleveren. Hierna wordt uitgelegd op welke wijze de individuele Source regel wordt opgebouwd. (De uitkomsten van elke source regel worden bij elkaar gevoegd tot een totaal.)
Date: 28-1-2013
V 1.2
page 30 of 31
name=
"MEDEWERKER"
Omschrijving van de bron. Deze informatie is puur informatief en wordt verder niet gebruikt.
Sname=
"SALESMDW"
De naam van het bronveld. Dit is de naam zoals deze in de (Access) database voorkomt.
type=
"INTEGER"
Hiermee wordt het formaat van de informatie aangegeven zoals deze wordt geleverd door de functie. Dit hoeft niet noodzakelijkerwijs het formaat te zijn van het bronveld.
[list=]
"ASSOCIATE"
Optioneel een lijst in hetzelfde xml document met daarin een opsomming van waarden zoals deze in het importbestand voorkomen en de overeenkomstige waarden in SuperOffice (meestal een numerieke waarde) Dit betreft meestal een keuzelijst in het backoffice systeem. In SuperOffice is een gelijkwaardige lijst gemaakt.
[default=]
"155"
De standaard waarde die moet worden gebruikt indien geen waarde door het backoffice systeem is gegeven.
In plaats van een echt veld in de bron database kan ook een fictief veld worden aangeduid. Bijvoorbeeld: “<Source name="SPATIE" sname="SPATIE" type="STRING" />” De opgegeven naam, SPATIE moet voorkomen in de lijst met ValueConstants. Er kunnen meerdere <Source….. /> regels in een <Sources> …
Date: 28-1-2013
V 1.2
page 31 of 31