Tabelimport definities

<< Click to Display Table of Contents >>

Navigation:  Integratie >

Tabelimport definities

Previous pageReturn to chapter overviewNext page

 

Voor praktisch alle objecten, zoals Contactpersoon, Bedrijf en Contract,  bestaat de mogelijkheid tabelimport definities aan te maken. Met behulp van tabelimport kunnen gebruikers gegevens importeren uit externe informatiesystemen of -bronnen, zoals webwinkels. In tegenstelling tot de importdefinities kunnen de gegevens bij een tabelimport slechts naar één Object tegelijk worden geïmporteerd.

 

 

Een nieuwe Tabelimport definiëren

Selecteer vanuit de menugroep Integratie de optie Tabelimport

Druk op de knop [Nieuw] of gebruik het Snelmenu

 

Er wordt nu een wizardvenster geopend. Het definieren van een nieuwe tabelimport vindt in een aantal stappen plaats:

 

 

1. Importtype

In de eerste stap moet de gebruiker aangeven naar welk object de gegevens moeten worden geimporteerd en in welk formaat de te importeren gegevens is opgeslagen.

 

Objecttype*

Kies het gewenste objecttype waarvoor een tabelimport definitie wordt gedefinieerd. Het objecttype is niet meer te wijzigen zodra wordt begonnen met de conversie of als de Tabelimport definitie is opgeslagen.

 

Uitvoertabel

Als de gebruiker een standaard Object heeft geselecteerd, dan zal Logicworks CRM hier de bijbehorende tabel invullen. Als is gekozen voor een User Defined Table, dan moet de gebruiker zelf de tabel selecteren waarin de te importeren gegevens moeten worden opgeslagen.

 

Bestandsformaat

De onderstaande bestandsformaten worden onderstaand bij het definieren van de tabelimport.

 

Bestandsformaat

Toelichting

CSV

De afkorting staat voor 'Comma Separated Values', waarmee oorspronkelijk de scheiding tussen de te importeren veldwaarden werd bedoeld. In hoofdlijnen komt het erop neer dat ieder record op een nieuwe regel wordt begonnen en dat de velden worden gescheiden door een specifiek scheidingsteken.

 

Restricties aan het gebruik het CSV-bestandsformaat:

1. Eventuele kopteksten mogen geen spaties bevatten.

Microsoft Excel

De gegevens bevinden zich in een Microsoft Excel bestand, aangeduid met de extensie 'XLS' bij Excel 2003 en 'XLSX' vanaf Excel 2007 en hoger.

XML

Deze afkorting staat voor 'Extensible Markup Language'. Dit formaat wordt tegenwoordig zeer veel gebruikt om gegevens uit te wisselen tussen verschillende informatiesystemen of te presenteren op het internet.

dBase, Foxpro

Dit tabelformaat is ontstaan in de jaren '80, maar is nog steeds zeer populair. De bestandsextensie eindigt altijd op 'DBF'. Er zijn nogal wat varianten op het dBase-formaat ontwikkeld, vooral in combinatie met Foxpro bestaan vele toepassingen.

 

Restricties aan het gebruik een dBase-bestandsformaat:

1. De bestandsnaam mag niet langer zijn dan 8 tekens.

2. Foxpro DBF-bestanden mogen geen Memo-velden bevatten

Microsoft Access

Microsoft Access 2000 of hoger worden ondersteund.

Microsoft SQL Server

Alle versies vanaf Microsoft SQL Server, MSDE en Microsoft SQL Server Express worden ondersteund.

MySQL

MySQL versies vanaf versie 4 worden ondersteund bij de tabelimport.

 

Naam

Geef een korte omschrijving van de te definieren tabelimport.

 

Omschrijving

In dit veld kan bijvoorbeeld het doel of reden van de tabelimport worden opgegeven.

 

 

2. Database connectie

Afhankelijk van het gekozen import bestandsformaat moeten de benodigde gegevens worden ingevoerd.

 

Bestandsformaat

Toelichting

CSV

- Selecteer het te importeren bestand

dBase, Foxpro

- Selecteer het te importeren bestand

Microsoft Excel

- Selecteer het te importeren bestand

- Geef de naam van het werkblad in de Excel-sheet op

XML

- Selecteer het te importeren bestand

Microsoft Access

- Selecteer de gegevensbron, dit is de locatie en bestandsnaam van het MSAccess-bestand

- Geef eventueel de gebruikersnaam en het wachtwoord op als het MSAccess-bestand is beveiligd

- Selecteer de tabel waar de te importeren gegevens in liggen opgeslagen

Microsoft SQL Server

- Voor de servernaam in waar SQL Server draait

- Voer bij de gegevensbron de naam van de database in

- Geef de gebruikersnaam en het wachtwoord op waarmee SQL Server is beveiligd

- Selecteer de tabel waar de te importeren gegevens in liggen opgeslagen

MySQL

- Voor de servernaam in waar MySQL draait

- Voer bij de gegevensbron de naam van de database in

- Geef de gebruikersnaam en het wachtwoord op waarmee MySQL is beveiligd

- Selecteer de tabel waar de te importeren gegevens in liggen opgeslagen  

 

 

3. Importspecificaties

Voor sommige bestandsformaten is het noodzakelijk aanvullende gegevens over de opbouw en opmaak van het importbestand op te geven.

 

Koptekst (CSV, XLS)

Bestaat de eerste regel in het te importeren uit een regel met veldnamen, activeer deze optie dan. Tijdens de import zelf wordt deze regel dan overgeslagen. Ook zal nu bij vastleggen van de conversie in het volgende tabblad de kolom-naam worden getoond.

 

Scheidingsteken (CSV)

De veldwaarden in een CSV-bestand moeten altijd worden gescheiden door een scheidingsteken. Meestal is dit een komma (,), maar het is ook mogelijk andere scheidingstekens te selecteren.  

 

note_10x16Bij een CSV-import is het gebruik van een komma als decimaalteken én als scheidingsteken niet toegestaan.

 

Decimaalteken (CSV)

Afhankelijk van het informatiesysteem waarmee het te importeren bestand is aangemaakt kan een afwijkend decimaalteken zijn gebruikt. In Europa wordt veel gebruik gemaakt van de komma (,) en in Amerika van de punt (.) als decimaalteken.

 

Ja/Nee formaat (CSV, XLS, XML)

Geef de tekstwaarden op welke moeten worden gebruikt voor logische/bit velden, welke alleen de waarden Waar (Ja) of Onwaar (Nee) kunnen bevatten. De beide waarden moeten worden gescheiden met een puntkomma. Bijvoorbeeld: Ja;Nee, True;False, 1;0, Yes;No.

 

 

4. Importmethode

In deze pagina kan opgegeven worden hoe de externe gegevens aan de CRM database moeten worden toegevoegd. Het is mogelijk de externe gegevens toe te voegen aan de bestaande gegevens, maar het is ook mogelijk bestaande gegevens bij te werken met de aangeleverde gegevens

 

Bijwerkactie

Er worden een aantal bijwerkacties ondersteund tijdens de tabelimport. Afhankelijk van de situatie moet de juiste bijwerkactie worden geselecteerd.

 

Bestaande regels overslaan

Bij een standaard import zal de gebruiker dubbele gegevens in zijn database willen vermijden. De keuzelijst zal dan ook standaard deze optie tonen. Als op grond van de sleutelvelden een record wordt gevonden, dan wordt het record uit het importbestand niet geimporteerd. Wordt het record op grond van de sleutelvelden niet gevonden, dan worden de gekoppelde gegevens toegevoegd aan de database van Logicworks CRM.

 

Bestaande regels bijwerken

Deze optie is van toepassing als een externe applicatie als bronsysteem fungeert. Ook als bepaalde gegevens in meerdere systemen beschikbaar zijn, dan is het niet verstandig om gegevens op meerdere plaatsen bij te werken. In de praktijk wordt er meestal voor gekozen om 1 systeem als bronsysteem aan te wijzen. De gegevens in andere systemen worden vervolgens periodiek bijgewerkt vanuit het bronsysteem. Als op grond van de sleutelvelden een record wordt gevonden, dan wordt het record in Logicworks CRM bijgewerkt.

Deze bijwerkactie kent als extra optie 'Nieuwe records toevoegen'. Wordt deze optie geactiveerd, dan worden nog niet bestaande gegevens toegevoegd aan Logicworks CRM. Wordt de optie uitgeschakeld, dan worden alleen bestaande records bijgewerkt en worden nieuwe gegevens genegeerd.

 

Regels altijd toevoegen

De derde optie kan worden gebruikt om alle aangeleverde records toe te voegen, ongeacht of deze gegevens al voorkomen in Logicworks CRM. Deze optie kan worden gebruikt bij een initiële dataconversie na installatie van Logicworks CRM.

 

Uitvoertabel leegmaken en regels toevoegen

Tenslotte wordt nog een vierde bijwerkactie ondersteund indien is gekozen voor het importeren van een zogenaamde User Defined Table. Bij het toepassen van deze optie wordt eerst de uitvoertabel leeggemaakt, waarna de gegevens uit het importbestand worden toegevoegd.

 

Sleutelvelden

Om te voorkomen dat gegevens dubbel ingelezen worden kunnen de relevante sleutelvelden van het geselecteerde object worden opgegeven. Tijdens de import zal Logicworks CRM controleren of een object-item bestaat waarvan de kolomwaarden overeenkomen met de waarden van de gekoppelde velden uit de importregel. De import van dit record zal in dat geval worden overgeslagen.

 

note2010_14x14Voor de bijwerkacties Bestaande regels overslaan en Bestaande regels bijwerken is het verplicht om één of meerdere sleutelvelden op te geven.

 

 

5. Importgegevens koppelen

In deze laatste stap moeten de kolommen uit het importbestand aan de kolommen van de geselecteerde Logicworks CRM tabel worden gekoppeld. Kolommen uit het importbestand welke niet worden gekoppeld aan een Logicworks CRM kolom worden tijdens de import genegeerd. In de onderstaande schermafdruk wordt een voorbeeld weergegeven.

 

tableimportmapping_scaled

 

Het bovenste deel van het venster toont alle velden uit het importbestand. Als het bestand een koptekst-regel bevat, zoals in het voorbeeld, dan wordt in de kolom Naam de gevonden kolomnaam getoond. Heeft het bestand geen koptekst, dan wordt als naam F1, F2, etc. gebruikt. De tweede kolom bevat het veldtype. In de praktijk zal Logicworks CRM het veldtype niet altijd correct interpreteren. In dat geval kan met een keuzelijst het veldtype (Tekst, Numeriek of Ja/nee) worden gewijzigd, zodat de conversie correct wordt uitgevoerd. Als een veldtype is gewijzigd, verlaat dan altijd de regel, anders zal deze wijziging niet worden bewaard. De derde kolom toont een voorbeeld van de gevonden regelwaarden in het importbestand.

 

Het onderste gedeelte van het venster toont alle beschikbare velden, gebaseerd op het geselecteerde objecttype. Hierbij wordt zowel de technische veldnaam (kolom 1) als de lokale veldbenaming (kolom 2) weergegeven. De derde kolom geeft aan welk veld uit het importbestand tijdens de conversie zal worden gebruikt. In de vierde kolom wordt het resultaat van de conversie getoond. Wanneer aan het veld een keuzelijst of opzoeklijst wordt gekoppeld, dan zal de gevonden naam/omschrijving worden getoond. In de laatste kolom (Actie) kan aangegeven worden of de te importeren waarde de actuele veldwaarde moet Overschrijven of moet Toevoegen aan de actuele waarde.

 

In het onderste deel van het venster worden tevens de sleutelvelden getoond. Eventuele koppelingen naar dit databaseveld vanuit het importbestand zal tijdens de daadwerkelijke tabelimport worden genegeerd. Logicworks CRM genereert namelijk altijd zelf een eigen unieke sleutelwaarde voor deze sleutelvelden.

 

Koppel een veld uit het importbestand aan een databaseveld

Selecteer het te importeren veld in het bovenste deel van het tabblad.

Houdt de muisknop ingedrukt en sleep het veld naar het juiste veld in het onderste deel van het tabblad. Het icon van de muiswijzer zal tijdens het slepen veranderen, zie schermvoorbeeld.  Als de muisknop wordt losgelaten, dan zal Logicworks CRM de import/exportvelden aan elkaar koppelen.

 

Het onderste deel van het venster heeft tevens een gekoppeld snelmenu, welke met een druk op de rechtermuisknop kan worden geopend. Afhankelijk van het geselecteerde veld worden de volgende menuopties getoond:

 

Default waarde

Hiermee vult u een vaste waarde in voor een veld. Is geen veld voorhanden in het importbestand waarmee een databaseveld kan worden gevuld, dan kan gebruik gemaakt worden van een vaste waarde. Het opgegeven databaseveld wordt tijdens de conversie altijd met deze waarde gevuld.

 

Selecteer het databaseveld in het onderste deel van het tabblad

Open het Snelmenu met een druk op de rechter muisknop en kies de optie [Default waarde]

 

Er wordt nu een detailvenster geopend waarin de gewenste waarde kan worden ingevoerd. Is het databaseveld gekoppeld aan een keuzelijst, opzoeklijst of collectie, dan kunnen alleen geldige lijstwaarden worden selecteren. In het schermvoorbeeld wordt het veld Adrestype tijdens de import altijd standaard gevuld met de default waarde 'Vestigingsadres'.

 

Overschrijven

Regelmatig wordt de importfunctie gebruikt om gegevens uit 2 systemen met elkaar te synchroniseren. Als Logicworks CRM niet het bronsysteem is, dan zullen wijzigingen uit externe systemen periodiek worden gekopieerd naar Logicworks CRM. Meestal moeten bestaande gegevens in Logicworks CRM worden overschreven met de gegevens uit het externe systeem. Wilt u de gegevens echter toevoegen aan een bestaand veld, schakel dan de optie 'Overschrijven' uit. Nu zullen de nieuwe gegevens worden toegevoegd aan het bestaande gegevens.

 

note2010_14x14Worden numerieke data toegevoegd aan bestaande Logicworks CRM data, dan wordt beide waarden bij elkaar opgeteld en weggeschreven.

 

Sleutelveld wijzigen

Met deze optie koppelt u een veld via een afwijkend sleutelveld. De functie zal worden toegelicht aan de hand van een voorbeeld.

 

Het is mogelijk tijdens de import van nieuwe Contactpersonen direct het Bedrijf te koppelen. Als het importveld Bedrijfsnaam aan het exportveld Contacts.AccountId is gekoppeld, dan zal de tekst 'Parker & Zn.' tijdens de import rechtstreeks worden overgenomen in dit veld. Omdat 'Parker & Zn.' niet voorkomt in Accounts.AccountId resulteert dit in een ongeldige databaserelatie, waardoor de export zal worden afgebroken. Aangezien we in het importbestand alleen beschikken over de bedrijfsnaam gaan we het sleutelveld wijzigen naar Accounts.Name, welke de bedrijfsnaam bevat. Tijdens de import zal Logicworks CRM de waarde van Contacts.AccountId nu opzoeken door de waarde van het importveld Bedrijfsnaam op te zoeken in Accounts.Name. Wordt de bedrijfsnaam gevonden, dan wordt het bijbehorende sleutelveld (Accounts.AccountId) overgenomen in het exportveld Contacts.AccountId.

 

Koppel het importveld aan het exportveld

Selecteer het exportveld in het onderste deel van het tabblad

Open het Snelmenu met een druk op de rechter muisknop en kies de optie [Sleutelveld wijzigen]

Selecteer het gewenste veld dat de uiteindelijke waarde bepaald

 

changekeyfield_scaled

 

 

Conversielijst

Iedere applicatie codeert op een geheel eigen wijze de opzoeklijsten en keuzelijsten. In systeem A wordt Klanttype wellicht aangeduid met de letter 'K', in systeem B met 'Klant' en systeem 3 weer als '001'. Om ervoor te zorgen dat dergelijke waarden op een juiste wijze kunnen worden geimporteerd kan gebruik gemaakt worden van een conversielijst.  

 

Koppel het importveld aan het exportveld

Selecteer het exportveld in het onderste deel van het tabblad

Open het Snelmenu met een druk op de rechter muisknop en kies de optie [Conversielijst]

Geef de gewenste conversies aan en sluit af met [OK]

 

In het onderstaande scherm wordt een schermvoorbeeld van een Conversielijst getoond. In de linker kolom kunnen de geldige importwaarden worden opgegeven. Initieel zal Logicworks CRM deze waarden op basis van het actieve importbestand reeds invullen. De lijst is echter handmatig uit te breiden met extra waarden. Selecteer vervolgens in de rechterkolom de overeenkomstige converseiwaarde in Logicworks CRM.

 

conversionlist_scaled

 

 

Script

Er zijn situaties denkbaar waarin het niet mogelijk is om met de standaard drag-and- drop functie een importbestand juist te importeren. In dat geval kan gebruik gemaakt worden van VBScript om de conversie op correcte wijze te realiseren.

Koppel het importveld aan het exportveld

Selecteer het exportveld in het onderste deel van het tabblad

Open het Snelmenu met een druk op de rechter muisknop en kies de optie [Script]

De Script Editor wordt nu geopend, waarna het gewenste script kan worden gebouwd. Het resultaat van de functie crmScript() wordt uiteindelijk als exportwaarde gebruikt.

 

note2010_14x14Als u als resultaat van de crmScript() de tekstwaarde "NULL" retourneert, dan wordt deze waarde genegeerd.

 

 

Conversieregel verwijderen

Selecteer het databaseveld in het onderste deel van het tabblad

Open het Snelmenu met een druk op de rechter muisknop en kies de optie [Conversie verwijderen]

 

 

Verwijder alle conversieregels ( new16x16)

Druk op de knop [Nieuw] in de knoppenbalk tussen beide grids, waarna alle bestaande conversieregels worden verwijderd.

 

 

Filter optie (importfilter-16x16)

Met deze knop kan met VBScript een filter worden gedefinieerd, waarna alleen regels welke aan de criteria van dit filter voldoen worden verwerkt. Zoals bij veel andere VBScript mogelijkheden in Logicworks CRM dient het script uiteindelijk een True of False waarde te retourneren. Als een True wordt teruggegeven, dan wordt de betreffende regel verwerkt. Alle andere waarden zal ervoor zorgen dat de regel wordt overgeslagen. In het script kan gebruik gemaakt worden van de waarden uit het importbestand. De waarden kunnen worden ingevoegd in het script via de menuoptie: Invoegen > Veld. Het ingevoegd veld dient altijd te worden omsloten door accolades. Stel het importbestand bevat een veld met naam 'debiteurnummer', dan kan hier in het script naar worden gerefereerd als '{debiteurnummer}'.

 

Een voorbeeld van een Filter script kan zijn:

Function crmScript

 'Importeer alleen regels met een ingevuld debiteurnummer

 crmScript = Len(Trim( {debiteurnummer} )) > 0

End Function

 

 

Bladeren door het resultaat van de export ( moveleft_16x16,moveright_16x16)

Met de knoppen [Vorige item] en [Volgende item] in de werkbalk tussen beide grids kan worden gebladerd door de regels van het importbestand. Hierbij wordt tevens de conversie uitgevoerd, welke in het onderste deel van het tabblad wordt getoond.

 

 

Het gebruik van schema.ini bij CSV-importbestanden

Het importeren van een CSV-bestand vindt plaats met behulp van een OLEDB dataprovider. Voordat het importbestand wordt geopend wordt in de map waar het bestand zich bevindt een extra bestand schema.ini aangemaakt. Dit bestand beschrijft de layout en indeling van het CSV- importbestand, zoals vastgelegd bij de tabelimport definitie. Dit betekent dat de gebruiker schrijfrechten moet hebben in de map waar het importbestand zich bevindt. Als schema.ini niet kan worden weggeschreven in de map, dan wordt de import afgebroken.

 

 

Conversie uitvoeren

Als de tabelimport definities gereed is, dan kan deze worden uitgevoerd door in het  snelmenu van het hoofdvenster de optie Import uitvoeren te activeren. De conversie is ook uit te voeren vanuit het hoofdvenster. Selecteer daartoe de gewenste tabelimport definitie en kies uit het Snelmenu de optie [Import uitvoeren].