Dostęp do pełnej treści artykułu jest ograniczony.
Jeśli chcesz uzyskać pełen dostęp i przeczytać ten artykuł zaloguj się lub zarejestruj
Wstęp
W tym artykule dowiesz się jak w zapytaniach SQL wywoływanych przez ERP XL umieścić odwołania do zmiennych dynamicznych przechowywanych przez program. Ma to zastosowanie przy tworzeniu filtrów i raportów oraz przy definiowaniu parametrów dynamicznych. Zagadnienie to poruszam na Szkoleniu z administracji Comarch ERP XL przy okazji tworzenia raportów typu wykres i raportów w formacie Crystal Reports.
Pojęcie makr i wyrażeń ma jeszcze inne znaczenie w odniesieniu do schematów księgowań, co omawiam w artykule Schematy księgowań oparte o SQL.
Czym są makra, wyrażenia i funkcje systemowe
Makra są związane z procesem tzw. wstępnego parsowania zapytania SQL. Proces polega na tym, że zanim zapytanie SQL zostanie przesłane do serwera SQL to jest ono poddawane dodatkowej obróbce. W ramach tej obróbki pewne specyficzne ciągi znaków są zamieniane na odpowiednie wyrażenia. Te wyrażenia dotyczą zmiennych przechowywanych przez program ERP XL (np. nazwa zalogowanego użytkownika).
Zazwyczaj wszystkie makra w ERP XL ujęte są w nawiasy klamrowe {}. Wystąpienie w zapytaniu SQL nawiasów klamrowych jest sygnałem, że treść tego wyrażenia ma zostać podmieniona na odpowiednią wartość wyrażenia przed przesłaniem go do serwera SQL.
Wyrażenia to zdefiniowana i zamknięta lista wartości tekstowych odwołująca się do pewnych wartości systemu. Przykładem takiego wyrażenia jest FILTRSQL przekazujące wartość tesktu ujętego w klauzuli WHERE w danym kontekście programu. Przykładowo wyrażenie FILTRSQL w konteście listy faktur sprzedaży w okresie 2021.06 zwróci wartość "(TrN_TrNTyp=3) AND TrN_RokMiesiac=202106".
Wyrażenia mogą się dodatkowo odnosić do tzw. funkcji systemowych. Lista tych funkcji jest również ściśle określona. Funkcje systemowe zwracają pewne zmienne programu. Przykładem funkcji systemowej jest XLOpeIdent() zwracającej identyfikator zalogowanego użytkownika w bieżacej sesji programu. Funkcje systemowe są częścią wyrażenia dlatego muszą zostać ujęte w nawiasach klamrowych. Przykładowe wywołanie tej funkcji będzie więc mieć składnię {XLOpeIdent()}.
Uzupełnieniem powyższych informacji są jeszcze następujące reguły:
- Niedopuszczalne jest zagnieżdżanie wyrażeń. W zapytaniu SQL może występować wiele wyrażeń ale jedno nie może być zawarte w drugim.
- Łączenie tekstów w obrębie wyrażeń (tzw. konkatenacja) odbywa się za pomocą symbolu & (AND).
- Wyrażenie zawsze zwraca goły ciąg znaków nie ujęty w apostrofy wymagane przez SQL. Aby wymusić na wyrażeniu przekazanie apostrofów należy poprzedzić je wyrażeniem _Q. Przykładowo wyrażenie {_QXLOpeIdent()} zwróci wartość 'ADMIN'.
- Wielkość znaków nie ma znaczenia.
Wyrażenia
Dostęp do pełnej treści artykułu jest ograniczony.
Jeśli chcesz uzyskać pełen dostęp i przeczytać ten artykuł zaloguj się lub zarejestruj
Funkcje systemowe
Dostęp do pełnej treści artykułu jest ograniczony.
Jeśli chcesz uzyskać pełen dostęp i przeczytać ten artykuł zaloguj się lub zarejestruj
Raport w oparciu o tabelę zaznaczeń
Dostęp do pełnej treści artykułu jest ograniczony.
Jeśli chcesz uzyskać pełen dostęp i przeczytać ten artykuł zaloguj się lub zarejestruj