Akcja „Wykonaj procedurę SQL”

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2021.1.1 autor: Konrad Wojtycza

 

Wprowadzenie

Akcja ‘Wykonaj procedurę SQL’ pozwala na wywołanie procedur SQL z poziomu formularza WEBCON BPS. Procedury SQL pozwalają na przygotowanie uniwersalnych zapytań SQL ze zmiennymi. Funkcjonalność procedur jest ograniczona jedynie możliwościami języka zapytań SQL. W połączeniu z WEBCON BPS, możliwe jest wywoływanie procedur SQL korzystających z danych zawartych na formularzu i wprowadzanie/ aktualizowanie danych w bazie danych.

 

Obiegi testowe

W prezentowanym artykule wykorzystany został zmodyfikowany obieg UK Jobs Change z artykułu Operacje na danych w WEBCON BPS, a także skonfigurowany na potrzeby tego artykułu obieg Update UK Jobs Change. Poniżej streszczone zostało działanie obydwu obiegów, co można potraktować jako propozycję implementacji.

 

Obieg wprowadzania danych

Poniższe ilustracje przedstawiają fragment zmodyfikowanego formularza, zawierającego pola umożliwiające wprowadzenie danych do tabeli EMSI_JobChange_UK (Rys. 1).

Zrzut ekranu 1. Fragment formularza obiegu UK Jobs Change – pola do wprowadzania danych

 

Po przejściu ścieżką „Add data” dane uzupełnione na formularzu zostaną zapisane do tabeli w bazie danych i będą wyświetlane na podglądzie tabeli widocznej na formularzu (Rys. 2).

Zrzut ekranu 2. Fragment formularza obiegu UK Jobs Change –  tabela prezentująca dane

 

Obieg aktualizacji danych

Formularz obiegu Update UK Jobs Change zawiera grupę Data w której konieczny jest wybór wpisu, który powinien zostać zaktualizowany (Rys. 3). Wpis wybierany jest na podstawie pól wyboru Industry oraz SIC_1_name, odpowiadającym kolumnom z tabeli danych o tych samych nazwach. Następnie, w kolejnych polach możliwe jest zaktualizowanie danych (Rys. 4). Procedura aktualizacji wpisu wywoływana jest po wybraniu przycisku Update.

Zrzut ekranu 3. Fragment formularza obiegu UK Jobs Change Update –  wybór wpisu do aktualizacji

 

 

Zrzut ekranu 4. Fragment formularza obiegu UK Jobs Change Update – wprowadzanie zaktualizowanych danych

 

Konfiguracja akcji

Akcja ‘Wykonaj procedurę SQL może zostać skonfigurowana tak jak inne akcje, w zakładce Akcje wybranego kroku na wybrane wydarzenie (przejście ścieżka, timeout, wejście do kroku itd.). Przygotowanie procedury SQL wymaga znajomości języka SQL.

Konto serwisu WEBCON BPS musi posiadać uprawnienia edycji bazy danych, w której znajdują się dane WEBCON BPS, a także do tabeli do której wstawiane będą dane (Rys. 5, Rys. 6).

Zrzut ekranu 5. Identyfikator konta serwisowego znaleźć można w zakładce Ustawienia systemu, Konfiguracja serwisów

 

Zrzut ekranu 6. Uprawnienia konta serwisowego webcon/svc.bps pozwalają na pełne zarządzanie zawartością bazy danych

 

Wprowadzenie wpisu do tabeli w bazie danych

Akcja ‘Wykonaj procedurę SQL’ została skonfigurowana na kroku Insert data, na ścieżce Add data (Rys. 7). Konfiguracja akcji obejmuje zapytanie – procedurę SQL wywoływaną poprzez powyższą akcję na bazie danych.

Zapytanie przedstawione na Rys. 8 to procedura umożliwiająca wprowadzenie danych z formularza do bazy danych. Zmienne z formularza zostały dodane do formularza za pomocą Edytora wyrażeń (Rys. 9).

Zrzut ekranu 7. Konfiguracja akcji wprowadzającej dane – Insert data to table

 

Zrzut ekranu 8. Procedura wprowadzająca dane z formularza do tabeli EMSI_JobChange_UK

 

Zrzut ekranu 9. Edytor wyrażeń

 

W opisany sposób możliwe jest wprowadzanie kolejnych wpisów do tabeli EMSI_JobChange_UK, bez konieczności posiadania bezpośredniego dostępu do bazy danych.

 

Aktualizacja wpisu w tabeli w bazie danych

Akcja ‘Wykonaj procedurę SQL’ została skonfigurowana na kroku Update, na ścieżce Update (Rys. 10). Konfiguracja akcji, tak jak poprzednio, obejmuje zapytanie – procedurę SQL wywoływaną poprzez powyższą akcję na bazie danych (Rys. 11).

Zrzut ekranu 10. Konfiguracja akcji aktualizującej dane – Update data in table

 

Procedura SQL przedstawiona na umożliwia zaktualizowanie wybranego wpisu. Zapytanie wykorzystuje wartości wybrane na formularzu w grupie Data (Rys. 3) oraz wartości wprowadzone w polach edytowalnych.

Zrzut ekranu 11. Procedura aktualizująca dane w tabeli tabeli EMSI_JobChange_UK

Podsumowanie

Przedstawione w niniejszym artykule zastosowania akcji ‘Wykonaj procedurę SQL’ to jedynie przykład z wielu możliwości zastosowań tej akcji, poprzez wykorzystanie w pełni konfigurowalnych procedur SQL. Poprawnie skonfigurowana akcja ‘Wykonaj procedurę SQL’ umożliwia udostepnienie użytkownikowi końcowemu dostępu do zasobów bazy danych, a także edycji tych zasobów bez konieczności znajomości języka SQL przez tego użytkownika. Należy jednak pamiętać, że edycja ta jest ograniczona konfiguracją akcji.

Z powodu wyżej wymienionych możliwości, dostęp do procesów wykorzystujących akcję „Wykonaj procedurę SQL” powinien być ograniczony, gdyż akcja ta pozwala na ingerencję w dane przechowywane w bazie danych.

Wykorzystanie akcji „Wykonaj procedurę SQL”  wraz z API udostępnianym przez WEBCON pozwala na zapisywanie danych z zewnętrznych baz danych, np. systemów ERP, czy niestandardowej struktury organizacyjnej. Pobieranie danych z zewnętrznych systemów może być zorganizowane w czasie i odbywać się cyklicznie, np. w godzinach nocnych. Funkcjonalność taka może być pomocna w przypadku gdy w godzinach pracy występują problemy z wydajnością połączenia.