Datové zdroje
Seznam definic datových zdrojů použitelných v SCM.
Obsažené záložky:
Seznam | Detail | Ochrana dat | IoT data | Úkoly | X-vazby | Parametry | Překlady |
V číselníku Datové zdroje jsou definovány zdroje dat, pomocí kterých se získávají data pro agendy SCM (Bilance, Vývoj, ...), pro QR funkce a pro OLE rozhraní. Každý datový zdroj obsahuje SQL dotaz, pomocí kterého se budou načítat data z databáze, pokud bude použit tento zdroj resp. definice sloupců nebo sada datových zdrojů, která tento zdroj obsahuje. Dále obsahuje seznam sloupců, které se mají zobrazovat (které bude datový zdroj vracet). Pro každý sloupec je uveden jeho datový typ a další informace.
Druhy datových zdrojů:
Každý datový zdroj je nějakého druhu. Druh se volí v definici datového zdroje v položce Druh a určuje, co zdroj vrací, k čemu je určen, jaké jsou povinné položky apod.:
- Obecný - připraven pro budoucí využití.
-
Stavový - vrací informace o určité stavové informaci, např. datový zdroj vracející stav skladu (např. může zahrnovat dílčí skladové karty, které mají nenulový stav).
Do této skupiny patří také systémové zdroje související s procesním řízením skladových dokladů - Plánované příjmy, Plánované výdeje, Příjmy v přípravě a Výdeje v přípravě.
- Dokladový - vrací informace o budoucích skladových pohybech, např. informace o objednávkách přijatých.
- Skladové karty - používá se pro získání seznamu skladových karet, tj. odkazuje se na něj položka Datový zdroj skladových karet z nastavení SCM.
- Sklady - používá se pro získání seznamu skladů, tj. odkazuje se na něj položka Datový zdroj skladů z nastavení SCM.
Z výše uvedeného tedy plyne, že je možné si nejen definovat vlastní zdroje vracející informace o pohybech z dokladů, o stavech skladů apod., ale i definovat si vlastní zdroje pro seznam skladových karet a pro seznam skladů (viz též pevné sloupce Bilance) a sloupce z těchto zdrojů následně použít v omezení v agendách SCM. (Sestavování omezujících prvků v Omezení viz kap. Záložka Omezení funkčních agend SCM.)
Povinné výstupní položky:
Každý dat. zdroj (podle svého druhu) musí obsahovat některé položky povinně. Tzn. že v subzáložce Položky musí povinně obsahovat následující výstupní položky (položky s následujícími názvy) a v subzáložce SQL musí obsahovat SQL dotaz s aliasy odpovídajícími následujícím názvům povinných položek:
- Dokladový:
- StoreCard_ID - IDskladové karty. Kód a Název skladové karty pro její zobrazení ve sloupcích v Bilanci se přebere automaticky z číselníku sklad. karet.
- Store_ID - IDskladu. Kód a Název skladu pro jeho zobrazení ve sloupcích v Bilanci se přebere automaticky z číselníku skladů.
- Date$DATE - Datum budoucího pohybu. Může být nulové.
- Quantity - Pro zobrazení množství.
- Document_ID - ID dokladu.
- DocumentName - Složené číslo dokladu.
- Description - Popis pohybu.
- Firm_ID - IDfirmy na dokladu. Kód a název firmy pro její zobrazení (např. v Omezení v Bilanci) se přebere automaticky z číselníku firem.
Středisko, zakázka, obchodní případ, projekt zde nejsou povinné (bez ohledu na nastavení jejich používání ve firemních parametrech).
- Stavový:
- StoreCard_ID
- Store_ID
- Date$DATE - Datum stavu. Může být nulové.
Quantity ve stavovém dat. zdroji povinný není. Může existovat datový zdroj, který pouze vrací např. specifikaci ze skladové karty. V bilanci se pak zobrazuje tato specifikace, není potřeba, aby takový zdroj vracel množství.
- Pro skladové karty:
- ID - IDskladové karty.
- Code
- Name
- QUnit
- UnitRate
- Pro sklady:
Speciální výstupní položky:
Kromě výše zmíněných povinných položek může mít dat. zdroj nepovinné položky se speciálním významem. Takovou je např.
- Evolution Order - Tento sloupec slouží jako hlavní kritérium pro řazení vývoje skladové položky, má tedy větší váhu než datum pohybu. Pokud datový zdroj takový sloupec neobsahuje, pak je výchozí hodnota 0. Jedná se o celé číslo, které říká, na jaké pozice se mají řadit údaje plynoucí z daného dat. zdroje.
Využití má i u stavových zdrojů. Typickým příkladem je např. dat. zdroj Spodní limit.
Pokud je požadováno, aby když je nastaven spodní limit, tak aby se tento započítal až nakonec, pak se jako EvolutionOrder nadefinuje nějaké vyšší celé číslo. (Pokud v ostatních dat. zdrojích není EvolutionOrder využit, pak stačí jednička). Pak se nejprve pokryjí doklady a až nakonec se pokryje požadovaný spodní limit.
Při zakládání nového dat. zdroje můžete využít funkci Nový stavový zdroj, Nový dokladový zdroj, ..., která předvyplní všechny povinné výstupní sloupce a sloupce speciální pro daný druh dat. zdroje.
Sloupce pro jednotku (QUnit) a Vztah jednotky (UnitRate) nejsou povinné sloupce dat. zdroje, do seznamu funkčních agend SCM je jednotka doplňována automaticky.
Podmínky pro SQL dotaz:
Jak bylo řečeno v kap. Věcný obsah - obecné, tento dotaz je pevný, nijak se dynamicky neskládá (jako např. dotazy v DynSQL).
"Požadavkové" datové zdroje (např. objednávky přijaté) musí být nadefinovány tak, aby vracely množství se záporným znaménkem. (Jak bylo řečeno v kap. Věcný obsah - obecné, požadavky znamenají spotřebovávání sklad. položek). Tudíž výraz pro Quantity by měl být sestrojen tak, aby tomu odpovídal.
SQL dotaz k datovému zdroji musí obsahovat aliasy pro všechny položky nadefinované v subzáložce Položky (z čehož některé jsou povinné v každém dat. zdroji, viz výše).
Při ukládání datového zdroje probíhá kontrola:
- jestli datový zdroj obsahuje všechny povinné výstupní sloupce
- jestli SQL dotaz obsahuje všechny sloupce definované v seznamu výstupních sloupců
Datový zdroj:
Datový zdroj Stav skladu
SELECT Store_ID, StoreCard_ID, Quantity, 0.0 AS Date$DATE
FROM StoreSubCards
Seznam sloupců (Význam položek podrobněji viz popis v záložce Detail):
- Store_ID
Název = Store_ID
Popisek = Sklad
Datový typ = Text
Typ sloupce = Odkaz na číselníkovou položku
Číselník = Číselník skladů (tj. RollCLSID = SFMSB5W15BDL3CL100C4RHECN0)
- StoreCard_ID
Název = StoreCard_ID
Popisek = Skladová karta
Datový typ = Text
Typ sloupce = Odkaz na číselníkovou položku
Číselník = Číselník skladových karet (tj. RollCLSID = C3V5QDVZ5BDL342M01C0CX3FCC)
- Quantity
Název = Quantity
Popisek = Množství
Datový typ = Reálné číslo (dtFloat)
Typ sloupce = Hodnota
- Date$DATE
Název = Date$DATE
Popisek = Datum
Datový typ = Datum a čas (dtDateTime)
Typ sloupce = Hodnota
Do SQL dotazu v datových zdrojích je možné vkládat zástupné proměnné, např: {StoreCard_ID} apod. Názvy proměnných musí být stejné jako jsou názvy podmínek na záložce Omezeni v agendě Bilance. Tím je zajištěna obecnost - můžeme použít zástupné proměnné i pro podmínky, které si do datových zdrojů sami přidáme.
Dále je možné použít proměnné ve tvaru {IsAny<název podmínky>}, např. {IsAnyStoreCard_ID}. Taková proměnná se nahradí za True, pokud je v podmínce vybraná alespoň jedna skl. karta, jinak za False. Tyto zástupné proměnné jsou při stisku tlačítka Získat záznamy nahrazeny hodnotami z podmínek na záložce Omezeni, konkrétně takto: SELECT OBJ_ID FROM SelDat WHERE SEL_ID = '??????????'.
Tím je dosaženo toho, že tyto podmínky jsou použity nejen pro filtrováni datové kostky, ale přímo i pro dotazy do hlavni DB, kterými se plní datová kostka (Která se spouští na začátku a pak po každém vyprázdnění cache).
Pokud vytvoříme datové kostky z takto omezených dat a chtěli bychom následně zobrazit jiná data, musíme spustit tlačítko Získat záznamy s rozšířenou volbou Získat záznamy s vyprázdněním cache. V opačném případě se uplatní nové podmínky nad daty původní datové kostky a nezískáme tak nové údaje.
Příklad použití zástupných proměnných v SQL dotazech Datových zdrojů, v tomto případě se použije proměnná se seznamem vybraných skladových karet:
WHERE ......
AND (NOT {IsAnyStoreCard_ID} OR A.StoreCard_ID IN ({StoreCard_ID}))
Pokud není nějaká podmínka zatržena, projde to na podmínce NOT {IsAny...}.
Pokud je v SQL dotazu uvedena zástupná proměnná, která se nevyskytuje v názvu žádné podmínky na záložce Omezeni, funguje nahrazení všech zbývajících zástupných proměnných za prázdné seznamy. Toto nahrazováni funguje pro všechny datové zdroje v agendě datových zdrojů a dále i pro napevno generované SCM tabulky StoreCardReplacements, Firms, Suppliers a StoreCardMenuItemLinks.
Příklady názvů dalších podmínek vyskytujících se v datových zdrojích:
{Supplier_ID} - Dodavatelé
{Store_ID} - Sklady
Nahrazujeme pouze podmínky typu Single nebo List, tedy především podmínky vedoucí do číselníků. Podmínky jiných typů (např. datum) podporovány nejsou.
Výchozí datové zdroje nebyly nijak upraveny, tzn úprava SQL za proměnné viz výše je čistě na uživateli.
Kromě proměnných plněných podle podmínek je možné po této úpravě v SQL dotazech datových zdrojů používat ještě i tyto další proměnné:
{$ActualDate} - aktuální datum
{$ActualDateTime} - aktuální datum a čas
{$ActualLangID} - jazyková verze klienta
{$ActualUser} - ID přihlášeného uživatele
{$LocalCountry} - lokální země
{$LocalCurrency} - lokální měna
{$DBConnectionName} - název spojení
Záznamy v této agendě mohou být:
- systémové
- uživatelské
Systémové jsou dodávány výrobcem, od uživatelských jsou v této agendě odlišeny interní položkou System (Systémový záznam), platí pro ně omezení v opravách a mazání a jsou automaticky aktualizovány v rámci update. Dále viz popis položky Systémový v této agendě.
Před prvním použitím doporučujeme se seznámit minimálně s obsahem kapitol Věcný obsah, základní pojmy a Jak začít používat skupinu SCM.
Typ agendy: Číselníková
Popis pravidel obecně platných pro všechny číselníkové agendy viz Obecná pravidla - číselníky, popis společných prvků, ovládání atd. pak společné číselníkové prvky.
Obsahuje všechny společné číselníkové prvky kromě stromového zobrazení.
- volby Agendy, Nastavení plochy, Ostatní nastavení, Nápověda a ABRA Support viz kap. Menu
-
volba Funkce - nabídka funkcí, které lze pro daný záznam resp. záznamy vyvolávat, se v jednotlivých záložkách liší (aktuálně dostupné funkce pro danou záložku najdete právě v hlavním menu →Funkce). Popis vybraných funkcí najdete v popisu jednotlivých záložek. Viz též kap. Funkce, klávesové zkratky.
Spuštění vybraných funkcí je zároveň možné i z panelu funkčních tlačítek nebo i jinými způsoby, viz Možnosti spuštění funkcí.
Tuto agendu lze spustit mimo jiné z okna pro spouštění agend ze sekce AGENDY z podsložky SCM.