blog-bg-1

blog. nowości. artykuły.

Dzisiaj kilka słów o nowym narzędziu dostępnym w TaskCentre = Transformation Data, w przykładzie integracja PrestaShop. Narzędzie pojawiło się w nowej wersji TaskCentre 4.7. I jest już dostępne. Narzędzie umożliwia transformację danych z systemu wejściowego na dane pożądane przez system docelowy.

Przydatność, czyli po co to robić?

Po krótkim wstępie, to właściwe miejsce, aby określić czemu taka transformacja danych może służyć. Źródła danych mają różnorodne struktury danych. Dane w polach są identyczne, ale nazwy i typy pół, a także ich umieszczenie w bazie danych jest przeróżne.

Dla przykładu w Subiekt GT dane kontrahenta mieszczą się standardowo w tabelach: kh__kontrahent i adr_ewid, dodatkowo jest informacja dotycząca grup i typów zawarta w słownikach, ale tym się w tym przykładzie nie będziemy zajmować.

TaskCentre Transformation Data służy transkrypcji danych z struktury źródłowej do struktury docelowej, według ustalonego raz mapowania pól.

Co zrobimy, na przykładzie integracja PrestaShop?

Aby przybliżyć możliwości narzędzia posłużę się przykładem, w którym przekształcimy dane zamówień z PrestaShop do bazy demo MSSQL. W szczegółach skupimy się na danych kontrahenta takich jak:

  • nazwa (imię, nazwisko, firma),
  • adres (unica, numer, kod pocztowy, miejscowość, państwo),
  • kontakt (adres email, numer telefonu).

Do dzieła!

Krok po kroku, czyli jak to działa?

Dane wejściowe

Posłużymy się danymi zamówień z PrestaShop, aby przekształcić je do docelowej struktury w bazie MSSQL. Zatem na początek pobieramy dane zamówień z PrestaShop i zapisujemy je na dysku w wybranym miejscu, ja wybrałem:

C:\DEMO\import .

Do łatwego pobrania danych posłuży PrestaShop Connector Tool dostępny w TaskCentre jako dodatkowe rozszerzenie.

Nasz proces na początku wygląda tak:

integracja prestashop

Pobieramy zamówienia i zapisujemy je w kroku Save As File do pliku xml. Dla przypomnienia poniżej ekrany z poszczególnych kroków.

Pobieramy zamówienia:

integracja prestashop orders

Pobieramy szczegóły zamówienia:

integracja prestashop order

I zapisujemy we wskazanym katalogu jako plik xml.

integracja prestashop

Narazie na tym kroku kończy się nasz proces. Idziemy zatem dalej:

Dodajemy narzędzie XML Document Import, aby wczytać pobrany XML,

integracja prestashop

podajemy folder, gdzie jest plik XML,

integracja prestashop

oraz wskazujemy plik. Oczywiście przypominam o wczytaniu i walidacji schematu xml. Oraz przeciągnięciu Save As File na Import Document XML, celem połączenia kroków.

integracja prestashop

Przyjrzyjmy się fragmentowi pliku XML, gdzie znajdują się potrzebne nam dane:

integracja prestashop

Przygotujmy docelową strukturę danych:

Na serwerze MSSQL utworzyłem 2 tabelki: tabela KONTRAHENT będzie zawierała dane Klienta i tabela DOSTAWA będzie zawierała dane miejsca dostawy zamówienia.

integracja prestashop

Teraz zabierzmy się za transformację danych. Przeciągamy narzędzie Transformation Data na panel taska:

integracja prestashop

Otwieramy narzędzie i wskazujemy źródło danych, w tym przypadku OutputXML z kroku XML Document Import. Na liście rozwijanej zauważysz, że jest możliwość bezpośredniego wskazania wtyczki PrestaShop, co polecam przetestować samodzielnie.

integracja prestashop

Wjdź na chwilę na zakładkę Mapping, a zobaczysz, że pola danych z źródła XML są już widoczne. Przełącz się na zakładkę Main, gdzie zdefiniujesz pola docelowe danych, które potem trafią do bazy MSSQL w określone tabelki.

Najpierw dodaj główny element przyciskiem Add Node, nazwij go jak chcesz pamiętając, aby nie zawierał znaków specjalnych i spacji.

integracja prestashop

Dalej dodaj kolejne elementy, pola dla danych, przyciskiem Add Element. Możesz określić w prawym panelu oprócz nazwy również typ pola.

integracja prestashop

Czas na zmapowanie pól danych. Na zakładce Mapping po lewej stronie masz strukturę danych z PrestaShop, a po prawej strukturę Twojej bazy danych. Wystarczy, że odpowiednio przeciągniesz z lewej na prawą stronę pole, na pole docelowe metodą przeciągnij-i-upuść. Po zmapowaniu zapisz krok i połącz poprzedni z Transformation Data.

Teraz potrzebujemy zapisać otrzymane dane. Wykorzystamy narzędzie XML to Recordset do przygotowania danych, dla procedury bazy danych. Przeciągamy narzędzie na pulpit taska,

integracja prestashop

i ustawiamy źródło danych na Output XML z kroku Transform Data. Zaznaczamy dane, które chcemy wykorzystać do zapisania w bazie danych, w panelu poniżej.

integracja prestashop

Przygotowaną procedurą T-SQL możemy wskazać tabele i pola, gdzie mają trafić dane. Przykładowa procedura poniżej, wprowadza dane do obu tabel: KONTRAHENT, DOSTAWA. Przygotowaną procedurę wywołamy za pomocą ostatniego kroku Call Procedure (OLEDB). (Należy pamiętać, aby dodać wcześniej źródło danych.)

integracja prestashop

Wybieramy bazę danych oraz stworzoną procedurę składowaną, (w opisywanym przykładzie nazywa się dodaj_dane).

integracja prestashop

Następnie mapujemy pola XML to Recordset do poszczególnych pól procedury składowanej.

integracja prestashop

Kompletny proces wygląda następująco:

integracja prestashop

Efekt działania jest następujący: do bazy DEMO zostały dodane dane kontrahenta w tabeli KONTRAHENT oraz dane dostawy w tabeli DOSTAWA.

Tabela KONTRAHENT zawiera dane:

integracja prestashop

Tabela DOSTAWA zawiera dane:

integracja prestashop

Podsumowanie

Opisany przykład jest prosty w istocie, ale skutecznie pokazuje, proces przetwarzania danych. Myślę, że już widzisz jakie dane i jak możesz przetwarzać, aby zaoszczędzić czas w Twojej firmie.

W razie pytań, uwag, refleksji zapraszam do kontaktu.

About the Author:

Leave A Comment