Polecenia funkcji external

Polecenia funkcji external

Polecenia funkcji 'external'

Wiele zaawansowanych operacji wykonywanych jest poprzez zdefiniowane w poszczególnych modułach funkcje z grupy "external". "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 pojedynczy 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

Nazwa

Params

Opis

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

DELETE

idt

Usunięcie rekordu o przesłanym idt (rec_type + rec_id)

DEF

pole

zwraca kind rekordu, np: DEFU245T (rekord U, pole 245T) zwróci XTY, gdzie X - oznacza, że pole jest indeksowane.

  • obecnie każde pole zwracane jest jako X, ponieważ nie ma podziału na bazę pól indeksowalnych i nie indeksowalnych

DISCARD

sn

sn|nowy_protokół|nowy_nr_ubytku|

Zwraca dane ubytku: sn|agenda|nr_prot|rejestr|nr_ubytku|

Zmienia wypełnione nowe pola ubytku (protokół i/lub numer ubytku). Zwraca dane poprawionego ubytku.

W przypadku błędu zwraca jego opis poprzedzony znakiem |

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_raw 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.

INDEXES

 

zwraca listę identyfikatorów indeksu "orders" aktywnych dla zalogowanego profilu (rezultat jest stringiem, w którym poszczególne identyfikatory są oddzielone pionową kreską)

IPUB

f

Wykonuje jedną z funkcji IPUB (zob. dalej)

ISBN

isbn

Kontrola poprawności ISBNu, jeśli kod jest poprany, zwraca pusty string, w przeciwnym wypadku komunikat błędu,

LENGTH

<kodowanie><napis>

Zwraca długość napisu w określonym kodowaniu tekstu.

Kodowanie:

U - liczba 16-bitowych znaków Unicode
8 - liczba 8-bitowych znaków w kodowaniu UTF-8

LICENCJA

 

Zwraca wartość linia_1|linia_2 - gdzie linie oznaczają wartości dla dwóch linii drukowanych na nalepkach

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.

MAIL X

smtp|mail|tytuł|mime_type|kind| czyt_id|set_time|treść

Jak MAIL S, ale wymaga podania dodatkowych wartości

  • mime_type

  • kind - rodzaj maila (taki sam jak litera przesyłana do skryptu generującego mail określająca rodzaj operacji)

  • czyt_id - identyfikator rekordu czytelnika (sama liczba)

  • set_time - zakres godzin kiedy e-mail może być wysłany w formacie hh,hh

NEW

dpola

Tworzy nowy dokument typu d - pola to lista pole=wartość, rozdzielane znakiem o kodzie #13 (\r)

OBRZ

data|where

Ustawia datę zwrotu data w tabeli obrotów gdzie spełniony jest SQLowy warunek where.

PROFILE

 

Nazwa profilu bieżącego użytkownika

PROTOCOL

agenda|nr_prot

agenda|nr_prot|nowa_data|nowy_numer|nowy_nr_rej|

Zwraca dane protokołu: data|agenda|nr_prot|rejestr|nr_rej|status|

Zmienia wypełnione nowe pola protokołu. Zwraca dane poprawionego protokołu.

W przypadku błędu zwraca jego opis poprzedzony znakiem |

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_RAW 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

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)

SEARCH

identyfikator

Na podstawie identyfikatora zwraca nazwę indeksu "orders" (np.: dla identyfikatora TY, zwróci "tytuł")

SET

param wartość

Ustawia nową wartość parametru Sowy o nazwie param

SKO

f

Wykonuje jedno z poleceń skontrum (zob. dalej)

SQL

f

Wykonuje jedno z poleceń SQL (zob. dalej)

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 rekordu propagowanego.

THEM

l

ls

la

Zwraca listę publicznych kolekcji tematycznych - jako napis id_kolekcji|opis kolekcji|...

j/w - ale wszystkie kolekcje (także niepubliczne)

Zwraca pełną informację o kolekcjach tematycznych w postaci wierszy zakończonych znakiem o kodzie #13 (\r). Każdy wiersz zawiera: id_kolekcji|waga|właściciel|flagi|opis kolekcji|

Jako flagi mogą wystąpić: private oraz published.

USER

 

nazwa bieżącego zalogowanego użytkownika

WYP

f

wykonuje jedną z funkcji wypożyczalni (zob. dalej)

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 SowaSQL.

Zob. Skrypty akcji formularza#Polecenia-funkcji-external

 

External WYP

Grupa poleceń do obsługi wypożyczalni. Wywołanie: external('WYP<cmd><params>'):

cmd

params

Wynik funkcji

cmd

params

Wynik funkcji

A

sn|rekord|agenda

sn|rekord|agenda|tryb

Udostępnij egzemplarz sn rekordu rekord w agendzie agenda. W razie błędu zwracany jest komunikat o owym.

Opcjonalne wywołanie z atrybutem tryb pozwala ustawić tryb udostępniania (zob. WYPM)

a

czytelnik|rekord|dni

Prolongata zamówionego przez czytelnika rekordu o podaną ilość dni.

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.

Cop

rekord|agenda|op_params

Zmiana danych czytelnika. Drugi znak komendy precyzuje operację (i determinuje też op_params, które zawierają kolejne parametry). Dostępne 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

C - zmiana kategorii czytel;nika. op_params zawiera nową kategorię czytelnika

F

rekord|f

Pobiera pole f rekordu czytelnika o identyfikatorze rekord. Np. WYPFO123|Z.1 pobiera pierwsze wystąpienie pola Z rekordu O123

Tym samym eksternalem można pobierać pola rekordu bazy podstawowej. (zob. eksternal WYPP).

G

rekord

Informacja o globalnym stanie konta czytelnika (we wszystkich agendach). Zwraca:

<wyp>|<rez>|<zam>|<kary>|<prz>

<wyp> - liczba wypożyczonych pozycji
<rez> - liczba rezerwacji
<zam> - liczba zamówień
<kary> - kwota niezapłaconych kar
<prz> - liczba pozycji przetrzymanych (których data zwrotu upłynęła)

K

sn

Zwraca kwotę kary za przetrzymanie egzemplarza o identyfikatorze sn. Dotyczy przetwarzania rekordu czytelnika.

I

rekord|agenda

Informacja o stanie konta czytelnika w agendzie. Zwraca:

<wyp>|<rez>|<zam>|<kary>|<kaucje>|<wizyta>|<prz>

<wyp> - liczba wypożyczonych pozycji
<rez> - liczba rezerwacji
<zam> - liczba zamówień
<kary> - kwota niezapłaconych kar
<kaucje> - kwota wpłaconych kaucji
<wizyta> - data ostaniej wizyty
<prz> - liczba pozycji przetrzymanych (których data zwrotu upłynęła)

UWAGA1: jeśli parametr wyp.penalty.default.settlements zawiera A to działa jak wyżej, inaczej zwraca wartości globalne (nie w agendzie).  

UWAGA2: jeśli parametr wyp.penalty.default.settlements zawiera C to kwota niezapłaconych kar zwracana jest globalnie, inaczej zwraca wartości w agendzie. 

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ść.

M

sn

sn=tryb

Sprawdza lub ustawia tryb udostępniania. Obecnie jedynym obsługiwanym trybem jest "nobooking".

N

n lub prefix|n

Znajduje wolny kod kreskowy n-znakowy. Jeśli podano prefix, znajduje wolny kod zaczynający się od podanego prefiksu.

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). Dostępne 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

R

sn

Informacja o rezerwacji egzemplarza o identyfikatorze sn. Zwaca:

<czytelnik>|<agenda>|<status>|<data_rez>|<czas_rez>

Od wersji 1.74.07 zwraca dodawkowo |<odbior>|<timeout>

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>

W

sn

Informacja o wypożyczeniu egzemplarza o identyfikatorze sn. Zwraca:

<czytelnik>|<kas>|<data_wyp>|<data_zwr>

X

sn

Informacja o wypożyczeniu egzemplarza o identyfikatorze sn. Zwraca:

<czytelnik>|<kas>|<data_wyp>|<data_zwr>|<prolongaty_automatyczne>

Z

rekord|agenda

Czy wydanie było zamawiane. Nie podanie agendy sprawdza wszystkie agendy. Zwraca liczbę zamówień.

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|

$

typ_kary|kwota|data_od|data_do [#13 data_wpl|kwota_wpl|...]

Wyznacza odsetki od podanej kwoty. Jeśli mają być wzięte pod uwagi wpłaty cząstkowe (co pomniejsza odsetki), to po znaku #13 należy podać kolejne wpłaty.

Jeśli podany jest prawidłowy typ kary, to odsetki są wyznaczane tylko jeśli parametry systemu są skonfigurowane do naliczania kar dla tego typu. Podanie zamiast typu wartości * powoduje wyliczanie odsetek niezależnie od tego, czy system jest pod to skonfigurowany.

#

sn|rekord

Przenieś egzemplarz sn do innego rekordu rekord. W razie błędu zwracany jest komunikat o owym.

>

sn|nsn

Zmiana identyfikatora egzemplarza z sn na nsn w bazach wypożyczalni.

-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

External SKO

Grupa poleceń do obsługi skontrum. Wywołanie: external('SKO<cmd> <params>'):

cmd

params

Wynik funkcji

cmd

params

Wynik funkcji

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.

Q+

sn

Oznacza egzemplarz o podanym sn jako znajdujący się na półce, zwraca '+'

Q-

sn

Oznacza egzemplarz o podanym sn jako nie znajdujący się na półce, zwraca '-'

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 '+'

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>

 

U

sn

Czy jest stały ubytek. Jeśli nie, zwracany jest pusty łańcuch.

-

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.

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

cmd

params

Wynik funkcji