1. Prva stran
  2. Dokumentacija
  3. EBA Tools
  4. Addressbook transfer

Addressbook transfer

Navodila so namenjena prenosu imenika poslovnih partnerjev z zunanjega izvora – baze podatkov ali .csv datoteke v EBA DMS klient.

1.Priprava

Če želimo prenesti partnerje direktno iz obstoječe baze, potem preskočite na korak 1.2, v primeru, da prenašamo podatke iz .CSV datoteke, pa je le-to potrebno ustrezno pripraviti.

1.1 Priprava .CSV datoteke

Za pripravo .csv datoteke priporočamo odprto kodni program LibreOffice Calc.

Podatki, ki so priporočljivi za EBA imenik so:

1. zunanji ID (ID raznih ERP programov, npr. SAOP ipd.)
2. Kratko ime (naziv) podjetja
3. Dolgo ime podjetja
4. Naslov s hišno št.
5. Pošta številka
6. Naziv pošte
7. Država
8. Davčna št.
9. Matična št.

Priporočljivo je, da skrčite oziroma dopolnite podatke, da bodo ustrezali zgornjim zahtevam.

Pri shranjevanju datoteke poskrbite za nastavitev strig delimiter in field delimiter, po navadi uporabljamo dvojne narekovaje za string delimiter in podpičje za field delimiter, primer slika spodaj:

Datoteko shranite kot plain text v UTF-8 formatu.

1.2 Priprava .INI datoteke

V tem koraku bomo v datoteki addressbooktransfer.ini nastavili potrebne parametre za prenos podatkov. Datoteka se nahaja v mapi C:/Program Files/EBA/bin oziroma v mapi, kamor ste namestili EBA DMS.

Datoteko odprite s programom za tekstovno urejanje.

Pomembno! Datoteka adressbooktransfer.ini je skupna tako za bazni kot tekstovni prenos, zato poskrbite, da bodo ustrezne nastavitve in ukazi ne bodo »komentirani« (znak #), odvečne nastavitve pa bodo »komentirane« z znakom # pred ukazom.

Datoteka je sestavljena iz treh sklopov: izvorna baza, ciljna baza in mapiranje kolon:

Primer baznega vira (prenos iz podatkovne baze)

  • Source_type: database ali text, v tem primeru database
  • Source: vpišemo podatke in pot do baze v formatu, kot je zapisano:
    dbtype://username:password@hostname:port/dbname

dbtype = tip baze (oracle, msql, postgresql, sqlite)
username, password = podatki za dostop do baze
hostname:port = Hostname (lahko tudi IP) in vrata serverja
dbname = ime podatkovne baze

Primer:

SOURCE = msql://testeba:eba123@localhost:1433/ebatest
  • Source query: določimo iz katerih kolon ter seveda baze bomo pobirali podatke, nazive kolon vnesemo med besedi select in from, za from vnesemo ime tabele.

Primer:

SOURCE_QUERY =selectname, shortname, street, town, country, zipcode, postoffice, email, phone, fax, contact, taxnum, companyid, gln, orgunit, extern_id fromeba_abtest

Slika primera prenosa iz podatkovne baze:

Če ste pozorni, se dobro vidi, da ustrezne nastavitve nimajo predznaka # oziroma so »od-komentirane«.

Primer tekstovnega vira (.csv datoteka)

Postopek je zelo podoben kot da bi prenašali podatke iz baze, le da v tem primeru nastavimo lokalno pot do .cvs datoteke, iz katere bomo prenašali podatke.

  • Source_type:text
  • Source: vpišemo celotno pot do .csv datoteke, primer: c:\Users\ebadms\Desktop\Baza_partnerjev.csv
  • Source_encoding:Privzeto je UTF-8, priporočamo, da tudi vi nastavite .csv datoteko na UTF-8.
  • Column_separator:nastavimo field delimiter, v našem primeru podpičje ;
  • Has_title_row:Izberemo true, v kolikor imamo v datoteki heading vrstico, drugače false.

Primer nastavitev za prenos iz .csv datoteke:

Nastavitev ciljne baze

Podobno, kot smo nastavili bazo za vir podatkov, tako moramo nastaviti tudi ciljno bazo – bazo EBA DMS programa.

Edina nastavitev, ki je tu potrebna, se nahaja pod izrazom DESTINATION:

  • Destination:dbtype://username:password@hostname:port/dbname
  • Enako kot pri izvoru vnesemo ustrezne nastavitve.

Primer:

Mapiranje kolon

Zelo pomemben korak nastavitev je ustrezno mapiranje kolon iz izvornih podatkov v ciljne.

Parametri, katere moramo nastaviti: extern_id, name, shortname, street, zipcode, town, postoffice, country, taxnum. 

Na primer, če se nam v izvorni bazi (ali .csv datoteki) naziv podjetja shranjuje v kolono z naslovom »naziv_podjetja«, potem moramo za uspešen prenos parameter »name« v nastavitveni datoteki ustrezno oštevilčiti, torej, če imamo kolono »naziv_podjetja« na prvem mestu, potem bomo nastavili parameter »name« na številko 1 in tako naprej za vse ostale kolone.

Primer:

S slike vidimo, da imamo sledeče kolone: ID, naziv, naziv 2, naslov, mesto. Vse te podatke želimo prenesti v EBA DMS, zato bomo pod map fields nastavili slednje atribute:

extern_id=0, shortname=1, name=2, street=3, town=4 in tako naprej za vsako kolono posebej. Če podatka nimamo oziroma ga ne potrebujemo, potem parameter preprosto komentiramo z znakom # in skripta te kolone ne bo upoštevala.

Na koncu moramo nastaviti še parameter owner.Ta podatek pridobimo iz EBA DMS programa in sicer tako, da odpremo EBA program, se pomaknemo na meni Orodja, nato Imenik, pritisnemo enter in s seznama izberemo podjetje, za katerega urejamo podatke (nosilec programa). Pri privzeti namestitvi programa je to tudi edini vnos v imeniku.

Z desnim klikom pritisnemo na podjetje ter nato na Podrobnosti. Odpre se nam okno s podatki podjetja in čisto zadnje polje (EBA ID) nam da podatek za parameter Owner.

1.3 Priprava .bat datoteke

V namestitveno lokacijo EBA DMS programa v mapi bin kreiramo datoteko adbt.bat – najlažje je kreirati nov dokument v programu Notepad ali Notepad++. Pazimo, da ima datoteka .bat končnico. Ko kreiramo adbt.bat, skopiramo spodnjo vrstico:

"C:\Program Files\EBA\bin\addressbooktransfer.exe" -ini "C:\Program Files\EBA\bin\addressbooktransfer.ini" -unique_field extern_id

Preverimo, ali so izpisane poti prave, če niso, jih ustrezno popravimo. Če niste spreminjali privzete namestitvene lokacije, potem spremembe niso potrebne.

Primer vsebine adbt.bat datoteke:

2. Izvedba

Odpremo ukazno vrstico (command prompt) in se premaknemo v mapo, kjer se nahaja datoteka adbt.bat. 
Vpišemo ime datoteke adbt.bat in pritisnemo enter, s tem poženemo skripto. 

Na koncu se nam izpišejo podatki, če je bil prenos uspešen, ali so se vnosi prepisali ter če je prišlo do napake.

Primer uspešno opravljene izvedbe:

3. Test

Za zaključek preverimo, če so se vnosi uspešno prenesli. Odpremo program EBA DMS, izberemo meni Orodja, Imenik. Pritisni ENTER za izpis podatkov. V kolikor so podatki v redu, potem smo nalogo opravili, v nasprotnem primeru pa glejte naprej pod točko 5. Primer uspešnega prenosa:

4. Nastavitev samodejnega prenosa

Če bi radi redno posodabljali imenik v EBA DMS, potem lahko s pomočjo Task Scheduler nastavimo, da se skripta izvaja samodejno ob določenem času.

1.OdpriteTask Scheduler, kreirajte novo mapo (npr. EBA) ter kreirajte novo opravilo »Create Basic Task«.

2.Poimenujte opravilo ter nato izberete, kdaj naj se sproži. Tu imate več možnosti, izberite ustrezno.

3. Izberite »Start a program«. Izberite program/skripto s klikom na »Browse«. Izberite skripto ADBT.bat, ki smo jo prej kreirali.

6. Preverite nastavitve in kliknite na »Finish«. Program se bo samodejno izvajal v ozadju ob določenih terminih.

5. Morebitne težave in odpravljanje le-teh

Pri odpravljanju težav si lahko pomagamo z log datoteko, ki jo program kreira ob izvedbi. Log datoteko vklopimo tako, da v datoteki adbt.bat ukazu na koncu dodamo -debug -log. Privzeta pot do log datoteke je C:\Temp\adbt.log.

Primer ukaza z log datoteko:

"C:\Program Files\EBA\bin\addressbooktransfer.exe" -ini "C:\Program Files\EBA\bin\addressbooktransfer.ini" -unique_field extern_id -debug -log

Najpogostejše težave oziroma napake pri prenosu podatkov:

  • Napačno mapirana polja: dobro preverite pozicije kolon v izvoru in .ini nastavitveni datoteki. Če prenašate iz podatkovne baze, bodite pozorni, če ste nastavili ustrezne kolone in tabelo v nastavitveni datoteki pod parametrom SOURCE_QUERY.
  • Težave s šumniki:priporočamo uporabo odprto kodnega programa Notepad++ ter prav tako odprto kodnega programa LibreOffice Calc. Najprej s programom Calc uredite podatke in shranite .csv datoteko v UTF-8 formatu, nato isto datoteko odprite s programom Notepad++ in v meniju Formatting izberite »Convert to UTF-8 with BOM«.
  • Če je potrebno pobrisati (izprazniti) celoten imenik v EBA DMS programu, je najlažje izvesti TRUNCATE tabele v bazi. Podatki se zapisujejo v tabelo eba_addressbook.
  • Samodejni prenos ne deluje:Preverite, če so pravilno nastavljene poti, predvsem se to lahko zgodi, če posodabljate starejšo verzijo EBA DMS, ki je 32 bitna z novejšo, 64bitno.