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 tekstovne 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

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 ustrezno znakovno kodiranje datoteke – UTF 8 in ustrezen znak za ločevanje posameznih polj. Ločilo nastavimo tudi kasneje pri prenosu, priporočamo uporabo podpičja (;).

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 naj bodo »komentirane« z znakom # pred ukazom.

Datoteka je sestavljena iz treh sklopov: izvorna baza, ciljna baza in dodatne nastavitve:

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@testserver: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 = select name, shortname, street, town, country, zipcode, postoffice, email, phone, fax, contact, taxnum, companyid, gln, orgunit, extern_id from eba_abtest

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:

SOURCE_TYPE = text
SOURCE = c:\temp\partnerji.csv
SOURCE_ENCODING = UTF-8
COLUMN_SEPARATOR = ;
HAS_TITLE_ROW = true
MOVE_SOURCE = false

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 (pgslq, mssql in oracle):

DESTINATION = pgsql://ebauser:password1@192.168.1.100:1433/ebadb_test
DESTIONATION = mssql://ebauser:oassword1@192.168.1.100:1433/test
DESTINATION = oracle://system:1234@:1521/(DESCRIPTION =(ADDRESS=(PROTOCOL=TCP)(HOST=EBA-DEMO)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)))

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:

extern_id=0
name=1
shortname=2
street=3
town=4
country=7
zipcode=5
postoffice=6
email=8
phone=9
fax=10
taxnum=11
companyid=12


S primera 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. Če imamo v eni koloni podatek za 2 mesti, npr. naziv pošte in kraj, potem uporabimo enako številko: zipcode=4 in town=4.

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.

owner=ebatest

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 -verbose -log "C:\temp\adbt.log"

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

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:

Slika 1: Primer uspešnega adbt.bat prenosa

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:

Slika 2: Primer prenesenih partnerjev v EBA imeniku

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. Odprite Task 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.

4. 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. Priporočamo, da nastavite pot do log datoteke C:\Temp\adbt.log. Če temp mapa ne obstaja, jo prej kreirajte.

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 "C:\temp\adbt.log"

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

  • Neuspešna povezava s SOURCE ali DESTINATION bazo:

    Preverite pravilnost podatkov in zapisa. Predvsem pazite, da ni presledkov. Za pomoč pri povezavi si lahko pomagate z orodjem SQL browser.
  • 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. Pazite, da zbrišete samo tiste vnose, ki imajo v polju inserted_source vrednost adbt!
  • 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.

Kako vam lahko pomagamo?