logo-softwarestudio-2020-600

SQL_execute_sp

Program do awizacji dostaw

Transakcja SQL_execute_sp pozwala na uruchamianie dowolnej procedury składowanej w bazie SQL i przekazanie do niej parametrów. Wykorzystanie transakcji i jej zastosowanie zależy od przygotowanych procedur składowanych.

Możemy uruchamiać procedury składowane z domyślnej bazy danych (ROOT) lub dowolnie wskazanej (CUSTOM), dzięki czemu wdrożeniowiec lub programista może przygotować spersonalizowane rozwiązania i działania na bazie danych.

Program do awizacji dostaw

Uruchomienie

Uruchomienie transakcji /role_sys/SQL_execute_sp.aspx wymaga podania parametrów. Przykładowo:

/role_sys/SQL_execute_sp.aspx?sp=sp_del_x_zestawienia&connection=softwarestudioConnectionString&$REFNO=

pozwala na wykonanie procedury składowanej do usuwania zdefiniowanych widoków oraz powiązanych kolumn dla tych zestawień.

Parametry

Parametr sp

wymagany parametr sp wskazuje na nazwę procedury składowanej, która ma zostać uruchomiona.

Parametr connection

opcjonalny parametr wskazujący na nazwę połączenia do bazy SQL, którą należy wykorzystać, domyślnie następuje połączenie z bazą ROOT (softwarestudioConnectionString)

Parametry przekazywane do procedury składowanej

Ponieważ w zależności do wybranej procedury może występować potrzeba przekazania parametru lub wielu parametrów, program pozwala przekazać listę tych parametrów wg następującej zasady. Każdy parametr rozpoczynający się od znaku at (@) lub znaku dolar($) zostanie przekazany do procedury składowanej. Przykładowo, jeżeli w procedurze składowanej mamy zdefiniowany parametr o nazwie REFNO ($REFNO) to należy przy uruchamianiu podać parametr $REFNO=123

Parametr @KTO

Przekazując do transakcji parametr @KTO program podmieni wartość @KTO na nazwę zalogowanego użytkownika i taką wartość jako parametr przekaże do procedury składowanej. Np. w procedurze chcemy mieć login użytkownika jako @LOGIN, to uruchamiając transakcję podajemy parametr @LOGIN=@KTO. Do procedury zostanie wysłana wartość np. AdamS do parametru @LOGIN.

W takim wypadku program odczyta parametr $REFNO i przekaże do procedury parametr REFNO oraz jego wartość 123.

Parametr caption

Parametr caption pozwala przekazać treść komunikatu, jaki chcemy wyświetlić użytkownikowi przed wykonaniem procedury. Jeżeli parametr nie jest podany to procedura jest uruchamiana automatycznie (bez pytania użytkownika o zgodę na jej wykonanie). Jeżeli parametr podamy to program wyświetli ten komunikat oraz przycisk OK, po kliknięciu zostanie uruchomiona procedura składowana.

Po potwierdzeniu, jeżeli procedura wykona się poprawnie wyświetlony zostanie komunikat:

PRZYKŁAD 1

W bazie danych mamy procedurę składowaną o nazwie sp_del_x_zestawienia, procedura usuwa rekordy z tabel x_zestawienia oraz x_zestawienia_kolumny dla wskazanych pozycji REFNO za pomocą parametru @REFNO.

BEGIN TRANSACTION;

BEGIN TRY
DELETE FROM x_zestawienia WHERE REFNO=@REFNO
DELETE FROM x_zestawienia_kolumny WHERE REFNO=@REFNO
END TRY

BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;

IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
END

W programie ustawiamy uruchomienie transakcji z poziomu j_grid.aspx

/role_sys/SQL_execute_sp.aspx?sp=sp_del_x_zestawienia&@REFNO=

gdzie na końcu system automatycznie doda symbol (wartość) REFNO, które chcemy usunąć.

PRZYKŁAD 2

W bazie danych mamy procedurę składowaną o nazwie sp_menu_copy, procedura kopiuje rekord w ramach tabeli _menu na podstawie identyfikatora wiersza – parametr @ID_X_SHORTCUT.

[dbo]

.[sp_menu_copy]
@ID_X_SHORTCUT varchar(20)
AS
BEGIN
SET NOCOUNT ON;

BEGIN TRANSACTION;

BEGIN TRY

INSERT INTO [_menu]
(
[ACH]
,[ROLA]
,[PRX]
,[TYPDOK]
,[GRUPA]
,[NAME]
,[TEKST]
,[SEKCJAFRAMEWORK]
,[IMAGE]
,[IMAGE32]
,[IMAGE48]
,[IMAGEFRAMEWORK]
,[TOOLTIP]
,[TARGETURL]
,[GOFUNCTION]
,[GOVIEW]
,[KTO]
,[KOLEJNOSC]
,[POZX]
,[POZY]
,[AKTYWNE]
,[KIEDY]
,[WIDOCZNE]
,[TARGETPARAMETERS]
,[DIALOGBOX]
,[DIALOGBOXSIZE]
,[DIALOGBOXREFRESH]
,[SYSTEMOWE]
,[IKONA]
,[BACKCOLOR]
,[IMAGE24]
,[ZAPYTANIESQL]
,[ZAPYTANIECONNECTION]
,[SZEROKOSC]
,[WYSOKOSC]
,[ZAPYTANIETEKST]
,[WARUNEKWIDOCZNOSCI]
)
SELECT TOP(1)
[ACH]
,[ROLA]
,[PRX]
,[TYPDOK]
,[GRUPA]
,[NAME]
,[TEKST]
,[SEKCJAFRAMEWORK]
,[IMAGE]
,[IMAGE32]
,[IMAGE48]
,[IMAGEFRAMEWORK]
,[TOOLTIP]
,[TARGETURL]
,[GOFUNCTION]
,[GOVIEW]
,[KTO]
,[KOLEJNOSC]
,[POZX]
,[POZY]
,[AKTYWNE]
,[KIEDY]
,[WIDOCZNE]
,[TARGETPARAMETERS]
,[DIALOGBOX]
,[DIALOGBOXSIZE]
,[DIALOGBOXREFRESH]
,[SYSTEMOWE]
,[IKONA]
,[BACKCOLOR]
,[IMAGE24]
,[ZAPYTANIESQL]
,[ZAPYTANIECONNECTION]
,[SZEROKOSC]
,[WYSOKOSC]
,[ZAPYTANIETEKST]
,[WARUNEKWIDOCZNOSCI]
FROM [_menu]
WHERE ID_X_SHORTCUT=@ID_X_SHORTCUT
END TRY

BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;

IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
END

Ustawiamy w programie wywołanie:

role_sys/SQL_execute_sp.aspx?sp=sp_menu_copy&caption=Czy skopiować ustawienia bieżącej pozycji ?&refno=1&@ID_X_SHORTCUT=

program wyświetli komunikat z pytaniem: “Czy skopiować ustawienia bieżącej pozycji ?” po potwierdzeniu uruchomiona zostaje procedura, która skopiuje rekord przekazany jako parametr @ID_X_SHORTCUT.

Uwaga: ponieważ chcemy przekazać na końcu wartość identyfikatora wiersza tabeli j_grid to w wywołaniu konieczny jest parametr o nazwie REFNO, dlatego w wywołaniu dodany jest parametr refno=1, którego jedynym zadaniem jest powiadomić transakcję j_grid, że chcemy dodać id wiersza tabeli (w naszym wypadku identyfikatorem jest unikalna wartość kolumny ID_X_SHORTCUT).

Czytaj więcej:

  • Kurier.aspx

    Integracja z firmami kurierskimi to kolejny krok w udoskonalaniu platformy StudioSystem. Łącząc się z głównymi przewoźnikami, firmy mogą usprawnić przetwarzanie zamówień i proces śledzenia sklepów. Pozwala to na sprawniejsze zarządzanie zamówieniami i dostawami oraz szybsze terminy dostaw.

    Transakcje SYS

  • decrypt.aspx

    Transakcja decrypt.aspx jest transakcją pozwalającą na odszyfrowanie zapisanych w bazie, przy pomocy transakcji j_insert_update.aspx, zaszyfrowanych danych – np. haseł. Parametry transakcji Parametry jakie musimy przekazać podczas wywołania transakcji: tabela – parametr identyfikujący tabelę, w której znajdują się zaszyfrowane danekolumna – kolumna, w której znajdują się zaszyfrowane daneklucz – klucz domyślny tabelirefno – ostatni parametr, identyfikujący wiersz tabeli bazy

    Transakcje SYS

  • j_grid.aspx – dopisanie, edycja widoku

    Platforma StudioSystem oferuje użytkownikom niespotykany dotąd poziom kontroli i możliwości dostosowywania w zakresie tworzenia danych i zarządzania nimi. Jedną z najważniejszych funkcji platformy jest możliwość konfigurowania kolumn w tabeli. Ta funkcja umożliwia użytkownikom dostosowanie struktury i formatu danych, ułatwiając zarządzanie i analizę.

    Konfiguracja Transakcje SYS

  • showdatafromsql.aspx

    Program magazynowy na androida Prezentowanie danych zapisanych w bazie SQL.  Parametry Transakcja wymaga podania parametrów za pomocą, których program odczyta dane z bazy SQL i wyświetli na formularzu. tabela Wskazuje na nazwę tabeli z której mają być pobrane dane kolumna Wskazuje na nazwę kolumny w tabeli where Przekazuje warunek filtrowania, który pozwala zidentyfikować wiersz w tabeli. Przykład uruchomienia role_sys/showdatafromsql.aspx?tabela=dpdok&kolumna=uwagi&where=refno= W połączeniu z poleceniem javascrit wyświetlającym okno

    Transakcje SYS

  • sql_proxy_rma_v

    Transakcja role_proxy/jqs_proxy_rma_v.js pozwala na sprawdzenie statusu reklamacji w trybie proxy (bez logowania). Do poprawnego działania wymagane jest podanie parametru key=, który odnosi się do skorowidza o PRX=PROXY, przykład: https://root.softwarestudio.com.pl/role_proxy/DefaultJqs.aspx?kod=JQS_PROXY_RMA_V&key=1746A9C8-455F-4AS0-B098-49642B4BC430&refno=6365376038183081 W przypadku wywywołania transakcji z parametrem refno, należy wpisać tylko numer RMA. Parametr refno= uzupełnia automatycznie pole odpowiadające za numer referencyjny. W przypadku wywołania transakcji bez wskazania wartości refno, należy

    Konfiguracja