Delphi/Lazarus i SAP B1 – robił ktoś coś podobnego?

Odpowiedz Nowy wątek
2019-03-26 11:38
0

Jako, że mam w pracy dostęp do SAP-a w wersji Business One, chętnie bym coś podziałał w temacie i szukam rozwiązań dostępnych z poziomu Delphi Community bądź Lazarusa. Znalazłem jakieś szczątki starych przykładów, ale nie wiem czy to obecnie działa i skąd wziąć wszystkie biblioteki.
Jak na razie robiłem jakieś drobne aplikacje wyciągające dane z SAP-a, ale odwołując się bezpośrednio do bazy MS SQL. Teraz chciałbym zrobić to bardziej prawilnie i właściwie, korzystając z oryginalnego API.
Może ktoś już coś robił podobnego?

edytowany 1x, ostatnio: furious programming, 2019-03-27 17:44

Pozostało 580 znaków

2019-03-26 22:19
0

W Delphi masz dedykowane narzędzie
https://www.embarcadero.com/products/enterprise-connectors
z obsługą SAP. Niestety sporo płatne. Przez GetIt możesz pobrać wersje demo i zobaczyć co to jest warte. Niestety nie testowałem więc nie jestem w stanie powiedzieć jak się sprawdza.

Enterprise Connectors require Delphi, C++Builder or RAD Studio 10.2 Professional or higher. - lampasss 2019-03-26 23:03
Racja, nie zauważyłem że chodzi o CU. Chociaż w porównaniu Pro - CU to są te same wersje, poza restrykcjami licencyjnymi. Wydaje mi się że powinno chodzić a ta informacja dotyczyła wersji starter gdzie nie było możliwości niczego dograć. - Clarc 2019-03-27 00:09

Pozostało 580 znaków

2019-03-27 10:14
0

Dzięki za informacje! Chyba jednak spróbuję tego rozwiązania, które znalazłem do Visual C# - czyli dostęp do obiektów COM i DI API.

Pozostało 580 znaków

2019-04-02 10:21
0

Aktualizacja. W międzyczasie dowiedziałem się, że z serwerem SAP B1 można się komunikować wysyłając zapytanie SOAP XML - przetestowałem i działa całkiem fajnie z poziomu Lazarusa / Indy.
A jak rozmawiałem z gościem wdrażającym aplikacje SAP-owskie, działa to ponoć lepiej niż odwołania do obiektów COM.
Generalnie, do aplikacji które mają coś update'ować lub dodawać do SAP - tylko sposób przez serwer DI API, ale jeśli tylko dane chcemy wyciągać, wtedy spokojnie można używać bezpośrednich zapytań do serwera MS SQL - bo działa to szybciej ;-)
PS. ponoć w nowej wersji SAP B1 wchodzi Service Layer i jeszcze lepsza komunikacja, tym razem bez DI API i XML tylko JSON.

edytowany 3x, ostatnio: Kristof, 2019-04-02 14:26
W większości przypadków tak jest. - lampasss 2019-04-02 10:22
międzyczas to jedno słowo, więc w międzyczasie. - furious programming 2019-04-02 13:50

Pozostało 580 znaków

2019-04-03 10:11
Kristof napisał(a):

Aktualizacja. W międzyczasie dowiedziałem się, że z serwerem SAP B1 można się komunikować wysyłając zapytanie SOAP XML - przetestowałem i działa całkiem fajnie z poziomu Lazarusa / Indy.
A jak rozmawiałem z gościem wdrażającym aplikacje SAP-owskie, działa to ponoć lepiej niż odwołania do obiektów COM.

Tak i nie. To zależy co chce się osiągnąć.
Poza tym, zwróć uwagę na licencję dostępową do SAP, ponieważ DI API inaczej alokuje licencje niż COM.

Generalnie, do aplikacji które mają coś update'ować lub dodawać do SAP - tylko sposób przez serwer DI API, ale jeśli tylko dane chcemy wyciągać, wtedy spokojnie można używać bezpośrednich zapytań do serwera MS SQL - bo działa to szybciej ;-)

Gorzej jak to jest SAP HANA, a chcesz mieć uniwersalne rozwiązanie.
Nieee.... lepiej korzystać ze standardowego API, ponieważ po to ono jest zbudowane.
Żadna poważna firma nie zgodzi się na siorbanie danych bezpośrednio z bazy, jeżeli jest do tego dedykowane API.
Tak tylko mówię, a że spotkałem się już z tym niejednokrotnie, to mówię co wiem.

PS. ponoć w nowej wersji SAP B1 wchodzi Service Layer i jeszcze lepsza komunikacja, tym razem bez DI API i XML tylko JSON.

Tak, ale...
W SAP nie wszystko jest oczywiste, a na pewno nic nie jest za darmo.
Trzeba uważać na te licencje...
Sam widziałem taką akcję, że integrator SAP napisał w sumie niewielki dodatkowe do SAP. Ale skorzystał z pewnego API (by był leniwy i podszedł do tematu co najmniej nonszalancko), które jest dodatkowo $$$.
Efekt?
Sama licencja na ten dodatek dla 10 userów -> 36 tyś zł + VAT.
SAP...

edytowany 1x, ostatnio: wloochacz, 2019-04-03 11:16

Pozostało 580 znaków

2019-04-03 10:49
0

@wloochacz Dziekuję bardzo za ciekawe rozwinięcie tematu. Co do przypisanych licencji - na razie używałem loginu i hasła istniejącego użytkownika. Działało również na użytkowniku z minimalnymi uprawnieniami, który może korzystać tylko z wersji webowej SAP-a. To jest klasyczny SAP B1 na MSSQL a nie HANA, ale generalnie wgryzam się w temat!
Dzięki i pozdrawiam!

PS. taki żart... gość z firmy, która wdraża SAP-a, jak się dowiedział, że programuje w Pascalu / Delphi /Lazarus powiedział:
"Kiedyś ogłoszono wielką konferencję programistów Delphi. Niestety się nie odbyła, bo jeden programista nie zdążył na samolot a drugi się rozchorował" ;-)

edytowany 2x, ostatnio: Kristof, 2019-04-03 10:55

Pozostało 580 znaków

2019-04-03 11:25
1
Kristof napisał(a):

@wloochacz Dziekuję bardzo za ciekawe rozwinięcie tematu. Co do przypisanych licencji - na razie używałem loginu i hasła istniejącego użytkownika. Działało również na użytkowniku z minimalnymi uprawnieniami, który może korzystać tylko z wersji webowej SAP-a. To jest klasyczny SAP B1 na MSSQL a nie HANA, ale generalnie wgryzam się w temat!
Dzięki i pozdrawiam!

U Ciebie nie HANA, ok...
Jak piszesz na wewnętrzne potrzeby to oczywiście można sobie pofolgować.
Jednak dobrze znać inne możliwości i fajnie, że to rozumiesz.
Działaj, działaj - może i ja skorzystam kiedyś z Twojego doświadczenia :)

PS. taki żart... gość z firmy, która wdraża SAP-a, jak się dowiedział, że programuje w Pascalu / Delphi /Lazarus powiedział:
"Kiedyś ogłoszono wielką konferencję programistów Delphi. Niestety się nie odbyła, bo jeden programista nie zdążył na samolot a drugi się rozchorował" ;-)

Taaak... mam to dokładnie tam co ględzą niby-specjaliści. Sorry, ale największa banda wszystko-wiedzących-asów jest w grupie konsultantów ERP.
Wiem, bo sam nim daaawno temu byłem :P

A też mam (nie)jedną anegdotę. Kiedyś pracowałem w pewnej dużej firmie produkcyjnej jako analityk systemowy.
Wdrożyliśmy tam pewnego WMSa.
No i ten ich cudny system, nie potrafił w tej fabryce wykonać raportu stan magazynu na dzień w czasie krótszym niż... 24h.
Czyli co do zasady, nie dało się wykonać raportu na dzień :D
Popatrzyłem jak to jest robione i złapałem się za głowę (kursor, kursorem poganiał wykonanie procedur składowanych dla jednego wiersza - miliony niepotrzebnych operacji).
Usiadłem i zrobiłem to samo (oczywiście przy pomocy Delphi, ale gro zadań wykonywał SQL Server) tak, że ten raport trwał max 5 minut.
Konsultanci z tej firmy nigdy potem nie próbowali nawet dyskutować, zwłaszcza że po naszym wdrożeniu, to było ostatnie wdrożenie ich systemu w PL...
Zarzucili ten cud współczesnej informatyki po całości.

skoro ich nie ma już w Polsce to może zdradzisz, co to było za profesjonalne rozwiązanie? - cerrato 2019-04-03 12:30
Nie ma opcji, to miała być anegdota, a nie wycieczki do jakiejś firmy. To nie miejsce na takie dyskusje... - wloochacz 2019-04-03 13:39
Każde miejsce jest odpowiednie, ale spoko, nie chcesz to nie mów, nie naciskam :P - cerrato 2019-04-03 13:51

Pozostało 580 znaków

2019-04-03 12:11
1

PS. taki żart... gość z firmy, która wdraża SAP-a, jak się dowiedział, że programuje w Pascalu / Delphi /Lazarus powiedział:
"Kiedyś ogłoszono wielką konferencję programistów Delphi. Niestety się nie odbyła, bo jeden programista nie zdążył na samolot a drugi się rozchorował" ;-)

Kiedyś mnie ten żart bulwersował, teraz trochę faktycznie śmieszy. Oczywiście w każdej technologii można osiągnać wysoki poziom zawaansowania i dobrze zarabiać, ale obecnie Delphi cienko stoi. Najbardziej boli, że byle junior javy/.neta idzie do korpo i ma 5k netto na start, a znałem gości co pracowali 15 lat przy delphi i dostawali mniej. Ot taka anegdotka. :)

edytowany 1x, ostatnio: lampasss, 2019-04-03 12:12

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0