Polecenia funkcji 'external'
Wiele zaawansowanych operacji wykonywanych jest poprzez zdefiniowane w poszczególnych modułach funkcje z grupy "external". Część z nich dostępna jest w serwerze aplikacji SOWA2 (kolumna DBF), a część tylko w SOWA2SQL (kolumna SQL). "Externale" przeznaczone dla skryptów wykonywanych przez program klienta (ACT) są uniwersalne dla wszystkich serwerów aplikacji, ale można z nich korzystać tylko w skryptach akcji.
Zarówno nazwa jak i atrybuty "externali" podawane są jako pojedyńczy parametr funkcji external(line).
Polecenia bazowe
To są pojedyncze polecenia, których wywołanie polega na przekazaniu do funkcji external parametru line, złożonego z nazwy i parametrów externala (bez spacji). o wartości podanej w poniższej tabeli:
Nazwa | Params | Opis | DBF | SQL |
---|---|---|---|---|
AKCESJA | f | wykonuje jedną z funkcji akcesji (zob. dalej) | T | N |
BLO | f | wykonuje jedną z funkcji operacji na plikach binarnych (zob. dalej) | T | T |
CFG | parametr | Pobiera wartość parametru głównej bazy | T | N |
CLEARDB | Kasuje całą bazę poza tabelami tbl_users, tbl_params, tbl_params_templates, tbl_kinds, tbl_versions BEZZWROTNIE... I ustawia wewnętrzne liczniki indeksów, na podstawie zawartości wyczyszczonej bazy. | N | T | |
CMD | komenda | Wykonuje komendę administracyjną komenda | T | N |
CZT | data|agenda|rejestr|liczba | do zmiany wpisu w tabeli czytelni dla podanej daty, agendy i kodu (jeśli liczba = 0, wiersz zostanie wykasowany), próba aktualizacji nie istniejącego wiersza, będzie ignorowana i nie zwróci błędu | N | T |
COLLECTION | +rekord|kolekcja|kolekcja... | Wymusza umieszczenie rekordu we wskazanych kolekcjach stałych | T | N |
?rekord | Zwraca listę nazw kolekcji stałych, w których jest rekord | T | N | |
rekord|kolekcja | Zwraca + jeśli rekord jest w kolekcji, '-' jeśli nie ma go w kolekcji lub '' jeśli nie ma takiej kolekcji stałej | T | N | |
nazwa | Zwraca listę rekordów ze wskazanej kolekcji stałej | T | N | |
DELETE | idt | Usunięcie rekordu o przesłanym idt (rec_type + rec_id) | T | T |
GET | parametr | Dla skryptów uruchamianych na bazie czytelników, pobiera wartość parametru parametr z bazy głównej (uwaga: wymagana spacja między GET a nazwą parametru). W SOWA-SQL jest to niepotrzebne, gdyż baza parametrów jest wspólna i można używać standardowej funkcji cfg(parametr). | T | N |
HELLO | Zwraca łańcuch znaków, za pomocą którego klient SOWY przedstawił się w serwerze (poleceniem hello) | T | T | |
DEF | pole | zwraca kind rekordu, np: DEFU245T (rekord U, pole 245T) zwróci XTY, gdzie X - oznacza, że pole jest indeksowane.
| T | T |
EGZ | od|do | Kasuje wszystkie egzemplarze z przesłanego zakresu (od - do). Operacja kasowania wykonywana jest wyłącznie na tabelach wypożyczalni (obroty, egzemplarze, ubytki, itd). External nie ma wpływu na tabelę z opisem rekordów (tbl_items_idx i tbl_items_full). Format przesłanych sn jest bez znaczenia (mogą być z kreskami, lub bez). Jeśli chcemy wykasować tylko jeden sn, wówczas podajemy go w obu parametrach, aczkolwiek, z punktu widzenia wydajności kasowanie zakresu jest dużo lepszym rozwiązaniem. | N | T |
FIELD | rekord|pole | Zwraca wartość wskazanego pola | T | N |
INDEX | ix | zwraca nazwę indeksu dla podanego identyfikatora indeksu ix | T | N |
INDEXES | zwraca listę identyfikatorów indeksu "orders" aktywnych dla zalogowanego profilu (rezultat jest stringiem, w którym poszczególne identyfikatory są oddzielone pionową kreską) | T | T | |
IPUB | f | Wykonuje jedną z funkcji IPUB (zob. dalej) | T | |
ISBN | isbn | Kontrola poprawności ISBNu, jeśli kod jest poprany, zwraca pusty string, w przeciwnym wypadku komunikat błędu, | T | |
LICENCE | sekcja|pole | Zwraca wartość pola z wybranej sekcji licencji | T | N |
LICENCJA | Zwraca wartość linia_1|linia_2 - gdzie linie oznaczają wartości dla dwóch lini drukowanych na nalepkach | N | T | |
MAIL S | smtp|mail|tytuł|treść | Wysyła maila przez konfigurację SMTP o symbolu smtp (pusta wartość to konfiguracja domyślna, pozostałe wartości są zdefiniowane w CFG_MAIL_SENDERS), na adres odbiorcy mail o podanych tytule i treści. | T | T |
MAIL X | smtp|mail|tytuł|mime_type|kind| czyt_id|set_time|treść | Jak MAIL S, ale wymaga podania dodatkowych wartości
| N | T |
NEW | dpola | Tworzy nowy dokument typu d - pola to lista pole=wartość, rozdzielane znakiem o kodzie #13 (\r) | T | T |
OK | tekst | Ustawia (tekst<>'')/ odczytuje (tekst='') zmienną lokalną OK operacji. Zmienna ustawiana jest automatycznie na N jeśli wystąpił błąd zapisu kolejnego rekordu. | T | N |
OBRZ | data|where | Ustawia datę zwrotu data w tabeli obrotów gdzie spełniony jest SQLowy warunek where. | N | T |
PROFILE | Nazwa profilu bieżącego użytkownika | T | ||
RANGE | od|do|kind | Polecenie zwraca listę rekordów (oddzielonych pionową kreską) dla których zostanie wykonane następujące zapytanie SQL: SELECT * FROM TBL_ITEMS_IDX WHERE FLD_STR_FIELD >= OD AND FLD_STR_FIELD <= DO AND FLD_KIND = KIND czyli zostanie zwrócona lista rekordów, których wartość pola fld_str_field znajduje się w zakresie wartości od - do | - | T |
REPLACE | typ_rekordu|sql_where| stary|nowy | Wyszukuje POLA należące do rekordów typu typ_rekordu, zgodne z SQLowym warunkiem sql_where, następnie w tak znalezionych polach, jest zamieniany ciąg znaków stary na nowy. Nie są wykonywane skrypty otwarcia, zamknięcia czy propagacji, tabela items_idx_full jest automatycznie aktualizowana o przeprowadzone zmiany. External jest dostępny wyłącznie dla użytkownika sokrates, z maszyny lokalnej (jeśli mamy lokalną wersję serwera), lub zalogowanego zdalnie z naszego IP. | N | T |
RIGHT | r | wartość atrybutu przypisanego do uprawnienia o nazwie r dla bieżącego użytkownika. Jeżeli użytkownik nie ma uprawnienia r to wynikiem jest '*' (gwiazdka) | T | T |
SEARCH | identyfikator | Na podstawie identyfikatora zwraca nazwę indeksu "orders" (np.: dla identyfikatora TY, zwróci "tytuł") | ? | T |
SET | param wartość | Ustawia nową wartość parametru Sowy o nazwie param | ? | T |
SKO | f | Wykonuje jedno z poleceń skontrum (zob. dalej) | T | |
SKR_SETDONT_CHECK | Wywołanie tego externala, spowoduje, że program wykonywany na kolekcji NIE zostanie przerwany, jeśli podczas obróbki któregoś z rekordów wystąpi błąd. | N | T | |
SQL | f | Wykonuje jedno z poleceń SQL (zob. dalej) | N | T |
STA | rekord|operacja|rekord nadrzędny | Dodaje wpis do tabeli statystycznej dla rekordu rekord, z informacją o rodzaju operacji operacja (P - propagacja, A - dodanie, U - aktualizacja, D - usunięcie). Jeśli operacją jest propagacja, wówczas wymagany jest jeszcze trzeci parametr rekord nadrzędny, który zawiera identyfikator rekorda propagowanego. | N | T |
USER | nazwa bieżącego zalogowanego użytkownika | T | T | |
USERS | USERS? USERS#user,profil,prawa | Składnia praw dla komendy USERS# jest identyczna jak dla komendy user klienta administracyjnego. External USERS? zwróci listę wszystkich użytkowników systemu, w formacie identycznym jak komenda users export klienta administracyjnego, z tą różnicą iż zamiast podziału na linie, poszczególne wpisy są oddzielone pionowa kreską (|). Komenda USERS#, przyjmuje argumenty w identycznym formacie, można przy jej pomocy zmieniać prawa i profil już istniejącego użytkownika, bądź dodać nowego (zostanie utworzony z hasłem: 1). Komenda USERS# ma dwa dodatkowe znaczniki. Jeśli przed nazwą użytkownika wstawimy:
| N | T |
WERSJA | Zwraca datę wersji i opcjonalnie /ID10 | T | N | |
WRDUOP | |rekord|pole | N | ||
WYP | f | wykonuje jedną z funkcji wypożyczalni (zob. dalej) | T | T |
Externale skryptów ACT
Są to polecenia dedykowane dla skryptów ACT (akcje formularzy w programie klienta systemu SOWA) i niedostępne w innych typach skryptów, które uruchamiane są po stronie serwera SOWY.
Nazwa | Params | Opis |
---|---|---|
A | t|lista | wprowadź nowy rekord typu t Lista to kolejne pola nowego rekordu rozdzielone znakiem o kodzie #13 (\r), np. 159Z.1.1.1.1=aaa |
B | i|s | wydruk naklejki o identyfikatorze i oraz sygnaturze s |
CV | adres|typ|ix|klucz | Przeglądanie CKHW, np. CV$CFG_CKHW_A$|A|HH |
DE | |napis | okno dialogowe z opisem błędu |
DF | |pole | wybór czcionki |
DL | |lista | wybór z listy - gdzie lista jest zdefiniowana jako ciąg par <kod>#1<opis>#1 - wynikiem jest wybrany z z okna <kod>. |
DM | |napis | okno dialogowe z informacją |
DO | |file|opis|ext | dialog pobrania nazwy pliku (odczyt) |
DP | |fld|before|after|lines | uaktywnienie menu tekstów dla wskazanego pola |
DQ | |napis | okno dialogowe z zapytaniem tak/nie |
DS | |file|opis|ext | dialog pobrania nazwy pliku (zapis) |
DT | |lista | wybór z listy prezentowanej w formie drzewa - elementy drzewa to krotki <poziom>|<kod>|<opis> rozdzielane znakiem #13 |
DW | |napis | okno dialogowe z ostrzeżeniem |
ELZb | kod|pole | znajdź ostatni wpis w bazie - ELZb<kod>|949Z |
FO | |file | pobranie zawartości pliku |
FS | |file|contents | zapisanie pliku |
FT | |file | pobranie pliku tekstowego bez sygnalizacji braku |
FW | ścieżka do katalogu roboczego | |
F | file|opis|ext | wyszukanie pliku |
HO | lista rekordów otwieranych | |
HZ | lista rekordów zapisywanych | |
I | f|x|h | wywołanie formatowania KHW (<format>|<ix>|<hardkey>) |
J | file | wyszukanie pliku |
L | ix | wartość ostatniego wpisu w indeksie ix opcjonalnie można podać prefix w L<ix>|<prefix> |
MC | id | pozaekranowa edycja rekordu - anuluj edycję rekordu |
MO | id | pozaekranowa edycja rekordu - otwórz rekord bez formularza |
MS | id|data | pozaekranowa edycja rekordu - zapisz rekord bez formularza |
N | d|pola | Dodaje bez edycji nowy rekord typu d i ustawia pola (pole=wartość) |
O | rekord | Otwiera rekord do edycji |
PO | edycja helpów - pobierz plik pomocy | |
PS | edycja helpów - zapisz plik pomocy | |
R | d | dialog wyszukiwania rekordu danego typu (np. RU) (szukania referencji dokumentu) |
S | prefix | Zawartość słownika <prefix> (tylko Sowa1) |
UN | Nazwa bieżącego użytkownika | |
UP | Profil bieżącego użytkownika | |
UR | Prawa bieżącego użytkownika | |
V | id | wynik skryptu referencja dla rekordu id |
V | id|name | wynik skryptu o podanej nazwie name dla rekordu id |
W | f|id | znajdź opis dokumentu <format>|<idt> |
X | x|l | dialog wyszukiwania KHW w indeksie x dla pola l (np. XXa|pole) |
Y | ix|klucz | wybiera z KHW wartość pola 'full' |
Z | pole | wyszukaj numer zamówienia (SOWA2) |
! | file | Uruchom program skojarzony z file |
? | zwraca położenie kursora | |
*ELZb |
External AKCESJA
Grupa poleceń do obsługi akcesji. Wywołanie: external('AKCESJA <cmd>|<params>'):
cmd | params | Wynik funkcji |
---|---|---|
L | id | zamówione|przyjęte|zrealizowane|, gdzie zamówione jest liczbą zamawianych egzemplarzy (bieżące zamówienie) rekordu id, przyjęte - liczbą egzemplarzy na zamówieniach zamkniętych, zrealizowane - liczbą dostarczonych egzemplarzy dla bieżąco zalogowanej placówki lub zbiorczo (logowanie w centrali) |
N | ||
S2 | ||
S3 | ||
T | id | Lista elementów postaci filia|zamówione|przyjęte|zrealizowane|, gdzie filia jest kodem placówki, zamówione - liczbą zamawianych egzemplarzy (bieżące zamówienie) dla rekordu id, przyjęte - liczbą egzemplarzy na zamówieniach zamkniętych, zrealizowane - liczbą dostarczonych egzemplarzy. |
U | data|filia|id|akcesja|liczba | Aktualizuje liczbę dostarczonych egzemplarzy dla podanych parametrów. Niepusty rezultat jest komunikatem błędu. |
# |
External WYP
Grupa poleceń do obsługi wypożyczalni. Wywołanie: external('WYP<cmd><params>'):
cmd | params | Wynik funkcji | DBF | SQL |
---|---|---|---|---|
A | sn|rekord|agenda | Udostępnij egzemplarz sn rekordu rekord w agendzie agenda. W razie błędu zwracany jest komunikat o owym. | T | T |
a | czytelnik|rekord|dni | Prolongata zamówionego przez czytelnika rekordu o podaną ilość dni. | N | T |
B | sn|rekord|agenda|powod|agenda_d | Zgłoś do wycofania egzemplarz sn rekordu rekord z agendy agenda z powodu powod. Gdy agenda ubytkowania jest inna niż udostępniania, podać należy agenda_d. W razie błędu zwracany jest komunikat. | T | T |
Cop | rekord|agenda|op_params | Zmiana danych czytelnika. Drugi znak komendy precyzuje operację (i dereminuje też op_params, które zawierają kolejne parametry). Dostepne wartości op: K - kod kreskowy. Rejestruje nowy kod kreskowy dla czytelnika i wizytę czytelnika w agendzie. op_params zawierać winno nowy kod kreskowy. jeśli zostanie podany pusty - unieważnia bieżący kod kreskowy czytelnika. L - limit wypożyczeń. op_params zawiera nowy limit wypożyczeń. W - data ważności. op_params zawiera nową datę ważności konta B - blokada. op_params zawiera treść blokady konta Z - korekta daty zapisu. op_params zawiera nową datę zapisu czytelnika | T | T |
D | rekord | Usunięcie danych czytelnika. W razie błędu zwracany jest komunikat. | T | T |
F | rekord|f | Pobiera pole f rekordu czytelnika o identyfikatorze rekord. Np. WYPFO123|Z.1 pobiera pierwsze wystąpienie pola Z rekordu O123 W przypadku SOWYSQL można tym samym eksternalem pobierać pola rekordu bazy podstawowej. (zob. eksternal WYPP). | T | T |
f | type|hard|filter | Zwraca listę rekordów z bazy czytelników (typ pola, klucz hard i klucz soft) | T | N |
G | rekord | Informacja o globalnym stanie konta czytelnika (we wszystkich agendach). Zwraca: <wyp>|<rez>|<zam>|<kary>|<prz> <wyp> - liczba wypożyczonych pozycji | T | T |
K | sn | Zwraca kwotę kary za przetrzymanie egzemplarza o identyfikatorze sn. Dotyczy przetwarzania rekordu czytelnika. | T | T |
L | rekord | Zwraca kod kreskowy czytelnika o identyfikatorze rekord | T | N |
H | sn | Informacja o wypożyczeniu egzemplarza o identyfikatorze sn z uwzględnieniem prolongat. Zwraca: <czytelnik>|W|<data_wyp>|<data_zwr> | T | N |
I | rekord|agenda | Informacja o stanie konta czytelnika w agendzie. Zwraca: <wyp>|<rez>|<zam>|<kary>|<kaucje>|<wizyta>|<prz> <wyp> - liczba wypożyczonych pozycji UWAGA1: w SOWA2 jeśli rozliczanie=zawiera A (w sowa.inf) lub CFG_ROZLICZANIE zawiera A (parametr) to działa jak wyżej, inaczej zwraca wartości globalne (nie w agendzie). Dla SOWA2SQL analogiczną rolę pełni parametr wyp.penalty.default.settlements UWAGA2: w SOWA2 jeśli rozliczanie=zawiera C (w sowa.inf) lub CFG_ROZLICZANIE zawiera C (parametr) to kwota niezapłaconych kar zwracana jest globalnie, inaczej zwraca wartości w agendzie. Dla SOWA2SQL analogiczną rolę pełni parametr wyp.penalty.default.settlements | T | T |
J | barkod | Sprawdza czy podany barkod jest wolny. Jeśli jest to barkod egzemplarza, wraca <rekord>|<sn>, jeśli jest to barkod czytelnika zwraca <rekord>|<czy_ważny>, a jeśli jest wolny to zwraca pustą wartość. | T | T |
N | n lub prefix|n | Znajduje wolny kod kreskowy n-znakowy. Jeśli podano prefix, znajduje wolny kod zaczynający się od podanego prefiksu. | T | T |
Oop | rekord|op_params | Informacja o zawartości konta czytelnika. Drugi znak komendy precyzuje operację i determinuje op_params. W przypadku zwracania listy - kolejne wiersze rozdzielane są znakiem o kodzie #13 (\r). Dostepne wartości op: A - informacja o agendzie zapisu (zwraca numer agendy) W - bieżący stan wypożyczeń. Zwraca listę wartości <sn>|<agenda>|<data_wyp>|<data_zwr> H - historia wypożyczeń. Zwraca listę wartości <sn>|<agenda>|<data_wyp>|<data_zwr> R - bieżący stan rezerwacji. Zwraca listę wartości <sn>|<agenda>|<status>|<data_rez>|<czas_rez> Z - bieżący stan zamówień. Zwraca listę wartości <rekord>|<agenda>|<data_zam>|<czas_zam>|<data_max> K - kary do zapłacenia. Zwraca listę wartości <agenda>|<data_nal>|<flag>|<sn>|<wartość> P - wpłaty/wypłaty. Zwraca listę wartości <agenda_w>|<data_wpl>|<rodzaj>|<kwit>|<wartość> O - odwiedziny. Jako op_params można podać numer agendy, jeśli się nie poda, zwraca listę dla wszystkich agend. Zwraca listę: <data>|<agenda> o - Jako op_params należy podać <data>| lub <data>|<agenda> - Jeśli data odwiedzin wskazanej agendy jest większa lub równa podanej, zwracana jest ta data. W przypadku nie podania agendy, sprawdzane są wszystkie agendy. w - Jako op_params należy podać <data>| lub <data>|<agenda> - Jeśli data wypożyczenia we wskazanej agendzie jest większa lub równa podanej, zwracana jest ta data. W przypadku nie podania agendy, sprawdzane są wszystkie agendy. M - czyt|sn - zwraca liczbę wygenerowanych monitów | T | T |
P | rekord|f | Pobiera pole f rekordu bazy podstawowej o identyfikatorze r. Np. WYPPU123|245Z.1.1.1.1 pobiera pierwsze wystąpienie pola 245 opisu w MARC21 rekordu U123 | T | N |
p | type|hard|filter | Lista rekordów z bazy podstawowej | T | N |
R | sn | Informacja o rezerwacji egzemplarza o identyfikatorze sn. Zwaca: <czytelnik>|<agenda>|<status>|<data_rez>|<czas_rez> | T | T |
S | sn | Sprawdza status dostępności i agendę dla egzemplarza o identyfikatorze sn. Zwraca łańcuch postaci <dostępność>|<agenda> - gdzie <dostępność> wyrażona jest kodem: D - dostępne, Nx - niedostępne z powodu x (Z - zarezerwowane, W - wypożyczone). Np. NZ|0 - egzemplarz należy do agendy o numerze "0", nie jest dostępny gdyż jest zarezerwowany. W przypadku pozycji ubytkowanej dodatkowo zwracane jest <agenda>|<data>|<dokument>|<pozycja>|<nr_kol> W przypadku pozycji zgłoszonej do ubytkowania (dostępność Nx gdzie x <> W i Z): <ubytek>|<data_wp><agenda>, zaś jeśli <ubytek>=P, dodatkowo <dokument>|<pozycja> | T | T |
U | rekord | Informacja o dacie usunięcia czytelnika o identyfikatorze rekordu rekord | T | N |
W | sn | Informacja o wypożyczeniu egzemplarza o identyfikatorze sn. Zwraca: <czytelnik>|<kas>|<data_wyp>|<data_zwr> | T | T |
X | sn | Informacja o wypożyczeniu egzemplarza o identyfikatorze sn. Zwraca: <czytelnik>|<kas>|<data_wyp>|<data_zwr>|<prolongaty_automatyczne> | ? | T |
Z | rekord|agenda | Czy wydanie było zamawiane. Nie podanie agendy sprawdza wszystkie agendy. Zwraca liczbę zamówień. | T | T |
Z? | rekord|agenda | Zwraca identyfikatory rekordów czytelników, którzy zamawiali wydanie. Nie podanie agendy sprawdza wszystkie agendy. Rekordy separowane są znakiem |, np. O123|O345| | T | T |
# | sn|rekord | Przenieś egzemplarz sn do innego rekordu rekord. W razie błędu zwracany jest komunikat o owym. | T | T |
> | sn|nsn | Zmiana identyfikatora egzemplarza z sn na nsn w bazach wypożyczalni. | T | T |
? | tabela|index| | Eksport tabeli wg wskazanego indeksu | T | N |
& | parametry | Wykonuje polecenie zgodne z protokołem samoobsługowego zamawiania i rezerwowania. | T | T |
+ | Opole|wartość|... | Dodaje i zwraca identyfikator nowego rekordu czytelnika (o kodzie rekordu "O"). Dalsze części do pary pole|wartść, które określają pola nowo tworzonego rekordu. Np. A.1|123|Z.1|michal@sokrates.pl|V.1|373298238232|. Polecenie to zawsze zwraca nowy rekord ID, nawet jeśli doszło do błędu, więc nie wiadomo czy dodano czytelnika, czy nie UWAGA: w SOWA-SQL odpowiednikiem (ale zwracającym rezultat w razie błędu) jest external NEWOpole|wartość|... | T | N |
-op | op_params | Usuwanie pozycji. Drugi znak precyzuje operację i determinuje op_params (niżej podane zaraz za kodem operacji). DOstępne wartości op: Z - rekord_ks|rekord_czt - Usunięcie zamówienia na rekord_ks dla czytelnika rekord_czt R - sn - Usunięcie rezerwacji bez obsługi zamówienia A - sn - Realizacja zamówienia na egzemplarz E - sn - Usuwa egzemplarz ze wszystkich baz SowaSQL nie obsługuje operacji: E | T | T* |
* | url | Jako rezultat zwraca wynik operacji HTTP GET na przesłanym URL. | T | |
: | agenda | Zamienia ustawienia prawa wypożyczanie (&W) oraz inne (&I) dla aktualnie zalogowanego użytkownika. Ustawia przesłaną agendę jako nową agendę główną dla prawa wypożyczanie, jednocześnie przenosząc agendę z tego prawa, do prawa inne. przykład przed: &W=01;&I=00,03,04,05,06 operacja: WYP:03 po: &W=03;&I=00,04,05,06,01 Zwraca komunikat błędu, lub pusty string. | T | |
=?O | typ | zwraca kind rekordu z bazy czytelników, np: WYP=?OB (rekord O, pole B) zwróci XCB, gdzie X - oznacza, że pole jest indeksowane (w SowaSQL można użyć eksternala DEF). | T | N |
External SKO
Grupa poleceń do obsługi skontrum. Wywołanie: external('SKO<cmd> <params>'):
cmd | params | Wynik funkcji | DBF | SQL |
---|---|---|---|---|
Q? | sn | Zwróci 'S' jeśli egzemplarz o podanym sn jest brakiem stałym, '+' jeśli jest oznaczony jako "na półce" lub pusty string, jeśli status jest nie określony. | N | T |
Q+ | sn | Oznacza egzemplarz o podanym sn jako znajdujący się na półce, zwraca '+' | N | T |
Q- | sn | Oznacza egzemplarz o podanym sn jako nie znajdujący się na półce, zwraca '-' | N | T |
Q* | sn | Jeśli egzemplarz o podanym sn jest "na półce" ściąga go i zwraca '-', jeśli go nie ma dodaje go i zwraca '+' | N | T |
S | sn | Status egzemplarza. Zawsze zwraca co najmniej: <dostęp><powód>|<agenda>. Jeśli <dostęp>=U dodatkowo zwraca informację o pozycji ubytkowanej, tj: <data>|<dokument>|<pozycja>|<nr_kol> Jeśli <dostęp>=N zaś <powód> nie jest W lub Z dodatkowo zwraca informację o pozycji zgłoszonej do ubytkowania, tj: <ubytek>|<data_wp>, a jeśli <ubytek>=P to jeszcze <dokument>|<pozycja>
| T | T |
U | sn | Czy jest stały ubytek. Jeśli nie, zwracany jest pusty łańcuch. | T | T |
- | rekord|lista sn | Aktualizuje bazę skontrum na podstawie przesłanej listy snów i identyfikatora rekord. Porównuje listę egzemplarzy należących do rekordu i tych które znajdują się w tabeli skontrum. Jeśli w tabeli skontrum znajduje się egzemplarz, który nie został przesłany na liście sn, wówczas jest on kasowany z tabeli skontrum. | N | T |
External IPUB
Grupa poleceń do obsługi powiązań rekordów z IPUBem oraz dostępu i zmiany informacji o stanie zmian w opisach bibliograficznych i dostępności egzemplarzy.
W zwracanych wartościach znaczenie poszczególnych elementów jest nastepJeśli nie podano inaczej, funkcje zwracają: <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp>
Wywołanie: external('IPUB <cmd><params>'):
cmd | params | Wynik funkcji | DBF | SQL |
---|---|---|---|---|
+ | rekord | Oznaczenie dodania lub zmiany rekordu. Zwraca <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp>, gdzie: <rec_id>/<wersja> - numer rekordu wraz z numerem wersji (numer wersji zwiększa się w przypadku ponownego dodania wcześniej usuniętego rekordu o tym samym numerze) | T | N |
- | rekord | Oznaczenie usunięcia rekordu. Zwraca j.w. | T | N |
? | rekord|agenda | Pobranie informacji o wysłanym stanie egzemplarzy (nie trzeba podawać agendy). Zwraca listę wierszy (oddzielanych znakiem o kodzie #13): <agenda>|<il_dostepnych>|<il_wypozyczonych>|<il_nieznane>|<il_namiejscu> | T | N |
# | rekord|agenda | Aktualizuje informacje o wysłanym stanie egzemplarzy (nie trzeba podawać agendy) | T | N |
* | rekord | Zapisanie informacji o konieczności wysłania stanu egzemplarzy. Nic nie zwraca. | T | N |
! | rekord | Pobranie informacji o powiązaniu rekordu i zarezerwowanie daty, czasu i numeru pliku dla operacji. W przypadku SOWA2 zwraca <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp> (znaczenie jak w +); | T | T |
: | rekord | Pobranie informacji o powiązaniu rekordu i daty, czasu oraz numeru pliku ostatniej wykonanej na nim operacji. W przypadku SOWA2 zwraca <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp> (znaczenie jak w +); | T | T |
= | rekord|ipub_id | Zmiana wartości powiązania rekordu z IPUB . | T | N |
M+ | rekord|nazwa | Informacja o dodanym pliku multimedialnym (nazwa - nazwa zewnętrzna pliku, zob. BLO). Nic nie zwraca. | T | N |
M- | rekord|nazwa | Informacja o usuniętym pliku multimedialnym. Nic nie zwraca. | T | N |
NR | od|do | Zwraca liczbę rekordów aktualizowanych w podanym czasie. Parametry od i do postaci rrrrmmddhhmmss | T | T |
NL | od|do | Zwraca liczbę rekordów które zmieniły stan dostępności aktualizowanych w podanym czasie. Parametry od i do postaci rrrrmmddhhmmss | T | N |
TR | od|do | Zwraca listę rekordów aktualizowanych w podanym czasie. Parametry od i do postaci rrrrmmddhhmmss. Zwraca listę wierszy (oddzielanych znakiem o kodzie #13): <datoczas>|<rec_id>|<wersja>|<status_zmiany> gdzie jako status zmiany można otrzymać: N - rekord nowo dodany do katalogu | T | T |
TL | od|do | Zwraca listę rekordów które zmieniły stan dostępności w podanym czasie. Parametry od i do postaci rrrrmmddhhmmss. Zwraca listę wierszy (oddzielanych znakiem o kodzie #13): <datoczas>|<rec_id>|<wersja>|<status_zmiany> | T | N |
LR | Zwraca listę rekordów wraz z ich powiązaniami. Zwraca listę wierszy (oddzielonych znakiem o kodzie #13): <rec_id>|<wersja>|<status_zmiany>|<ipub_id> | - | - |
External BLO
Grupa poleceń do obsługi załączników do rekordów (plików binarnych). Wywołanie: external('BLO<cmd><params>'):
cmd | params | Wynik funkcji | DBF | SQL |
---|---|---|---|---|
B | file | zawartość wskazanego pliku | T | T |
D | filename | usuwa plik | T | N |
E | rekord|pole|ext | Wirtualna nazwa pliku | T | T |
H | file | zawartość hehadecymalna wskazanego pliku | T | T |
I | rekord|file | Wewnętrzna nazwa pliku | T | T |
L | rekord | Lista identyfikatorów multimediów | T | T |
M | w|file | pobranie miniatury - parametru w| (szerokość) nie trzeba podawać, wówczas przyjmuje 200px | T | T |
N | ext|treść | tworzy i zwraca unikalną nazwę pliku (treść szesnastkowo), niepowiązanego z rekordem | T | N |
X | file | szerokość obrazka | T | T |
Y | file | wysokość obrazka | T | T |
External STN w SowaSQL
cmd | params | Wynik funkcji | DBF | SQL |
---|---|---|---|---|
STN+ | agenda|stanowisko|status|czytelnik|od|do | dodaje nowy status | N | T |
STN- | agenda|stanowisko|od | kasuje określony wpis | N | T |
STN! | agenda|stanowisko|do | zwrot (zamiana W na w) i ustawienie nowego do UWAGA: w wyniku tej operacji, może nastąpić przecięcie zakresów, gdy ktoś odda komputer po terminie rozpoczęcia innej rezerwacji albo blokady, jest to sytuacja dopuszczalna i trzeba z nią żyć ;) | N | T |
STN* | agenda|stanowisko|od|do | zmiana do na nowe, (czyli skrócenie, albo przedłużenie, bez zmiany statusu) skrócić można zawsze przedłużyć, tylko, jeśli przedłużenie nie zahaczy o nowy zakres (np. rezerwacji) | N | T |
Każdy z externali STN zwraca:
External SQL
Grupa poleceń do wykonywania zapytań SQL (UWAGA: używanie ich jest niezalecane i powinny być stosowane w ostateczności). Wywołanie: external('SQL<cmd> <params>'):
cmd | params | Wynik funkcji | DBF | SQL |
---|---|---|---|---|
EXECUTE | <query_id> | komunikat błędu, lub pusty string jeśli OK | N | T |
FROM | <query_id>|<nazwa_tabeli> | komunikat błędu, lub pusty string jeśli OK | N | T |
FULL | <query_id>|<lista_pól>|<nazwa_tabeli>|<warunek_zapytania>|<kolejność_sortowania>|<oczekiwana_ilość_rekordów> | komunikat błędu, lub pusty string jeśli OK | N | T |
GET | <query_id> |
| N | T |
LIMIT | <query_id>|<oczekiwana_ilość_rekordów> | komunikat błędu, lub pusty string jeśli OK | N | T |
ORDERBY | <query_id>|<kolejność_sortowania> | komunikat błędu, lub pusty string jeśli OK | N | T |
PREPARE | brak | QUERY_ID | N | T |
SELECT | <query_id>|<lista_pól> | komunikat błędu, lub pusty string jeśli OK | N | T |
UNPREPARE | <query_id> | komunikat błędu, lub pusty string jeśli OK | N | T |
WHERE | <query_id>|<warunek_zapytania> | komunikat błędu, lub pusty string jeśli OK | N | T |
Szczegółowe informacje na temat externali SQL są dostępne tutaj