Administrace systému: Porovnání verzí

Z BBM Dokumentace iFIS
Skočit na navigaciSkočit na vyhledávání
Jana.dankova (diskuse | příspěvky)
Bez shrnutí editace
Jdankova (diskuse | příspěvky)
Bez shrnutí editace
Řádek 1: Řádek 1:
= Úvod =
= Úvod =


{{Varovani|Tento dokument je určen výhradně pro administrátory ''i''FIS*. Nedoporučujeme provádět jakékoliv administrátorské úkony bez specializovaného administrátorského školení. Pro běžné potřeby správců aplikace ''i''FIS* je určena samostatná dokumentace [[Administrace uživatele]].}}
{{Varovani|Tento dokument je určen výhradně pro administrátory ''i''FIS*. Nedoporučují se provádět jakékoliv administrátorské úkony bez specializovaného administrátorského školení. Pro běžné potřeby správců aplikace ''i''FIS* je určena samostatná dokumentace [[Administrace uživatele]].}}


Samotný základ systému ''i''FIS* je tvořen a spravován specializovanými administračními nástroji:
Samotný základ systému ''i''FIS* je tvořen a spravován specializovanými administračními nástroji:

Verze z 11. 9. 2020, 12:58

Úvod

Varování Varování
Tento dokument je určen výhradně pro administrátory iFIS*. Nedoporučují se provádět jakékoliv administrátorské úkony bez specializovaného administrátorského školení. Pro běžné potřeby správců aplikace iFIS* je určena samostatná dokumentace Administrace uživatele.


Samotný základ systému iFIS* je tvořen a spravován specializovanými administračními nástroji:

  • v dokumentaci se objevují názvy a popisy modulů, které systém iFIS* nemusí přímo využívat
  • některé administrátorské funkce, které souvisejí pouze s iFIS* a jsou součástí samotné aplikace iFIS*, jsou dále popisovány v kapitole iFIS*Správce


Administrace systému iFIS* je sada nástrojů, které tvoří nadstavbu nad základním databázovým prostředím Oracle. Používá jeho základní principy a respektuje již zavedenou terminologii (např. uživatel, role, profil). Vyvážená kombinace univerzálních prostředků („méně často, standardně, ale s větší znalostí“) spolu s jednoúčelovými nástroji („častěji, rychleji, ale speciálně“) dává administrátorovi systému iFIS* dostatečný aparát pro přípravu aplikačního prostředí běžným uživatelům. Všechny prostředky administrace jsou v aplikaci zahrnuty v menu „Správa runtime repository“.


Struktura systému

Aplikační systém iFIS* je složen z několika subsystémů. Každý subsystém zahrnuje části:

  • databázové (kde jsou uloženy vlastní data aplikace atd.)
  • programové (např. uživatelské rozhraní)

Podle principu klient-server, databázová část odpovídá serveru, uživatelská klientu. Programy aplikace jsou uloženy na stanici, která je určená k tomuto účelu. Všichni uživatelé ji sdílejí přes kořenový adresář.


Charakteristika subsystémů

Všechny subsystémy jsou označeny tří písmennou zkratkou. Z hlediska databázového má každý subsystém svého uživatele, který vlastní data. Programy aplikace jsou uloženy v příslušném adresáři na aplikačním serveru.

  1. Jádro (iFIS/JDR) - centrální funkční a datový subsystém společný pro všechny subsystémy
  2. Finančně ekonomické řízení (iFIS/FAM) - uživatelská data ekonomiky
  3. Runtime Repository (RRP) - správa a popis celé aplikace; z funkčního hlediska je určen pro provádění přechodu na vyšší verzi, opravy a údržbu verze, a v neposlední řadě jsou zde data pro uživatelskou administraci


Uživatelská administrace

Uživatelská administrace je zařazení uživatelů do aplikace, přesněji do části aplikace. Znamená zpřístupnit danému uživateli tu část aplikace, přes kterou pořizuje nebo jinak spravuje data z daného funkčního pohledu (správce, řízení výroby, účetní, atd.).

Jak již bylo popsáno výše, aplikace se skládá z části databázové a z části programové. Obě tyto části jsou na sobě nezávislé (každá má své specifické prostředí). Z tohoto důvodu musí uživatelská administrace s tímto rozložením počítat.


Vymezení pojmů

Všechny údaje o uživatelích, programech a databázových objektech jsou uloženy v RRP. Jejich klasifikace je založena na struktuře ROLÍ. ROLE je kategorie pro seznam samostatných programů (speciální role), programů v menu (role typu menu nebo také „skupina“) a databázových objektů (databázová role). Prakticky to znamená, že role popisují jak objekty databázové, tak i aplikační.


Administrace databázová

Uživatelské údaje všech subsystémů jsou uloženy v databázových objektech (tabulkách) a jsou řízeny databázovými procedurami. Vlastníkem databázových objektů je uživatel určený pro daný subsystém (PPS, FAM, HRM atd.). Běžný uživatel musí mít v databázi svůj účet LOGIN pro připojení a přístup na databázové objekty přímo jako majitel nebo přes přístupová práva jiných majitelů objektů přes databázové ROLE.

Ve většině případů běžný uživatel nevlastní objekty, proto přistupuje do dat podle práv, která jsou poskytována vlastníky databázových objektů. Informace o přístupových právech jsou přiřazeny ROLÍM v RRP (např. v RRP je role DEFAULT_JDR a v databázi existuje databázová role DEFAULT_JDR).

Pro založení běžného uživatele je následující postup:

  • založí se jako login pro connect do databáze
  • podle požadavků jsou uživateli přiděleny jednotlivé databázové role, které jsou běžnou administrací neměnné

Na obrázku „Databázový princip“ je znázorněna struktura majitelů, rolí a vztah k běžným uživatelům.


Obr. Databázový princip


Databázové role

Seznam rolí pro všechny subsystémy podle příslušnosti k danému subsystému:

Subsystém Popis Databázová role
RRP   Runtime Repository - správce systému (data)  DEFAULT_RRP

 GRANTY_RRP

JDR   Jádro – společná datová oblast   DEFAULT_JDR

  GRANTY_JDR

IFC   Rozhraní   DEFAULT_IFC

  GRANTY_IFC

PPS   Tabulky PPS   DEFAULT_PPS

  GRANTY_PPS

F00   Tabulky F00   DEFAULT_F00

  GRANTY_F00

FAM   Tabulky FAM   DEFAULT_FAM

  GRANTY_FAM

HRM   Tabulky HRM   DEFAULT_HRM

  GRANTY_HRM

MKT   Tabulky pro marketing   DEFAULT_MKT

  GRANTY_MKT


Seznam rolí pro přímý interface mezi jednotlivými subsystémy:

Vztah subsystémů Databázová role
PPS – FAM

HRM

INTERFACE_PPS_FAM

INTERFACE_PPS_HRM

FAM – PPS

HRM

INTERFACE_FAM_PPS

INTERFACE_FAM_HRM

HRM – FAM INTERFACE_HRM_FAM


Názvosloví pro databázové role

Databázové role se dělí podle názvu do následujících typů:

  • DEFAULT_“subsystém“ - jsou přiřazeny jako default a slouží také pro připojení uživatele přes jinou aplikaci než přes hlavní menu iFIS* (např. ORACLE REPORTS apod.), většinou výhradně pro čtení.
  • GRANTY_“subsystém“ - slouží pro zápis, ale přiřazují se dynamicky až po platném přihlášení přes hlavní menu iFIS*.
  • INTERFACE_“subsystém zdrojový“_ “subsystém_cílový“ - slouží pro komunikaci mezi subsystémy. Přiřazují se také dynamicky.


Poznámka k databázovým rolím RRP

V RRP jsou standardně k dispozici další databázové role, které lze přiřadit běžnému uživateli, aniž by musel mít plný přístup :

  • TEPA_RRP – pro práci s tzv. technickými parametry
  • ADP_RRP – pro uživatelskou správu atributů, domén a parametrů

(viz Správa domén, parametrů a atributů)


Administrace aplikační

Druhá část - administrace aplikační je názorná pro každého uživatele, protože zahrnuje metodu přihlášení přes hlavní menu iFIS*.

Menu iFIS* je vytvořeno ze submenu jednotlivých subsystémů. Po provedení platného přihlášení přes login se objeví uživateli jen ty obrazovky, které má přes uživatelskou administraci přiděleny. Administrace aplikační využívá skupin v RRP k tvorbě uživatelských submenu iFIS*. Při instalaci systému iFIS* jsou naplněné standardní skupiny typu MENU, které obsahují standardní strukturu menu kompletní pro každý subsystém.

Skupiny mají strukturu kompletní dodávanou ke každému subsystému se jménem MENU_“subsystém“. Jména standardních skupin pro kompletní menu jsou následující:

MENU_??????? Skupina pro Hlavní menu
 MENU_RRP RRP  RRMEN00
 MENU_JDR JDR  JDRMEN00
 MENU_PPS PPS  MEN0000
 MENU_IFC IFC  MENI0000
 MENU_FAM FAM  VCI
 MENU_FAM_PUBLIC FAM  SLU
 MENU_HRM HRM  MEN999H
 MENU_MKT_01 MKT  MENM_01


Pojem hlavní menu znamená jméno kořenového menu pro daný subsystém. Přehled standardní struktury menu je obsahem příručky Struktura menu a funkcí iFIS.


Administrátor

V dalším textu této příručky se dále hojně používá pojem administrátor nebo také správce systému. Je to osoba, která je pověřena správou systému iFIS*.

Administrátor je v databázi reprezentován uživatelem, který po své počáteční administraci musí splňovat následující požadavky:

  1. Má plný databázový přístup v subsystému RRP (viz Databázové role)
  2. Má plný aplikační přístup do subsystému RRP (viz Administrace aplikační)
  3. Má v RRP u svého uživatele nastaven příznak PRIV_ADMIN

Požadavku 1 a 2 lze dosáhnout běžnou administrací (viz Založení uživatele). Bod 3 se provádí pomocí formuláře FMRADM01 (viz Jednotná správa subjektů a vazeb a Změna subjektu/vazby)


Shrnutí

Pro běžného uživatele je zapotřebí založit login (možnost připojit se do databáze pod vlastním uživatelem) a přiřadit ho do rolí (určité objekty v RRP). Vše se děje prostřednictvím uživatelského rozhraní, které má přístupné správce systému.

ROLE jsou seznamy objektů, podle kterých se generují buď ROLE v databázi, nebo menu pro uživatele. Skupiny pro menu je možné vytvářet uživatelským způsobem.


Popis uživatelské administrace

V následujících kapitolách jsou popsány obrazovky, které ke své běžné činnosti potřebuje administrátor iFIS* nebo o kterých by alespoň měl vědět. Nejsou zde popsány všechny obrazovky, které je možné v menu správy RRP najít, protože některé vyžadují hlubší znalosti a jejich vysvětlení přesahuje rámec této příručky.


Jednotná správa subjektů a vazeb

Pro některé administrátorské činnosti existují specializované formuláře, které v rámci možností usnadňují správci iFIS* dané činnosti, pro jiné činnosti se používá formulář FMRADM01 pro jednotnou správu subjektů a vazeb v RRP. Základním informacím o práci s tímto formulářem je věnována tato kapitola, informace o jednotlivých konkrétních činnostech jsou uvedeny v kapitolách následujících.


Základní myšlenky RRP

Pro lepší pochopení formuláře FMRADM01 je třeba uvést několik poznámek o základních myšlenkách RRP.

RRP je část iFIS*, která obsahuje metadata o iFIS*, tj. popis aplikace jako takové. Tato metadata jsou uložena v sadě tabulek a k jejich údržbě je vyhrazena část programového vybavení iFIS*.

Podstatná část software nad RRP existuje ve formě databázových procedur a funkcí. Ty obsahují hlavní výkonný kód, který je zpřístupněn přes uživatelské rozhraní, vytvořené – stejně jako uživatelské rozhraní iFIS* – pomocí nástrojů Oracle Forms & Reports.

RRP obsahuje popis řady subjektů, které jsou sdruženy do kategorií. Může například existovat subjekt WSDRP00 kategorie FORM (formulář), subjekt ABK kategorie REPORT (sestava), subjekt LOGIS kategorie USER (uživatel), subjekt MENU_PPS kategorie ROLE (skupina) či subjekt ERTEST kategorie TABLE (tabulka). Každý ze subjektů v RRP má řadu vlastností, přičemž sada těchto vlastností je pro subjekty téže kategorie stejná.

Mezi jednotlivými subjekty mohou existovat vazby, které jsou také popsány v RRP. Například sestava může být volána z formuláře, sestava může používat tabulku, skupina může mít právo spouštět formulář nebo uživatel může být zařazen do skupiny. Také každá vazba má sadu vlastností, které jsou společné vazbám téhož typu.

Data v RRP jsou sdružována do tzv. zakázek. Zakázka je zjednodušeně řečeno číslo, které identifikuje skupinu vět, které spolu souvisí, tj. každá z vět v RRP obsahuje informaci o tom, do které zakázky patří. Situaci ilustruje obrázek Zakázky v RRP, kde každé zakázce odpovídá jeden šedý obdélník.

Základní úroveň dat RRP tvoří zakázky typu STD, které popisují jednotlivé subsystémy základní verze iFIS* (v případě obrázku jde o verzi 4.2). V průběhu provozu základní verze se mohou objevit nějaké chyby, jejichž opravy bývají distribuovány ve formě opravných balíčků („patchů“). Součástí opravného balíčku může být zakázka typu PTC, jejíž číslo bývá složeno z čísla verze iFIS* a pořadového čísla balíčku. (V řadě čísel opravných zakázek mohou být „díry“.) Opravná zakázka obsahuje záznamy, které mohou doplňovat případně modifikovat záznamy v zakázkách základní verze, a pokrývá všechny subsystémy.

RRP kromě toho umožňuje zákazníkovi udržovat informace o jeho vlastních úpravách standardního prostředí iFIS*, jejichž typickým příkladem jsou informace o uživatelích a jejich přístupových právech nebo o tiskárnách. Kromě těchto běžných úprav však je také možné provést méně běžné modifikace. Zákazník například může doplnit sloupec do standardní databázové tabulky, změnit vlastnosti existujícího sloupce a dokonce zrušit standardní sloupec. Tyto zákaznické úpravy jsou zakládány pomocí programového vybavení nad RRP, které zajišťuje, že tyto úpravy jsou ukládány do zakázky typu USR, která má obvykle číslo 9999 a také pokrývá všechny subsystémy. Toto oddělení zákaznických úprav od standardních informací podstatně usnadňuje promítání zákaznických úprav do nových verzí iFIS*.

Aplikace se na data v RRP dívá ve směru šipky tak, že v prvé řadě vidí zákaznické úpravy, pak případné opravy a nakonec základní verzi.


Zakázky v RRP

Vzhledem k množství dat v tabulkách RRP (řádově desítky tisíc vět) a jejich mnohdy složitým vazbám existují specializované formuláře, které administrátorovi umožňují provádět běžné správcovské činnosti, aniž by přitom musel detailně znát uložení dat v RRP. Kromě toho je administrátor těmito specializovanými formuláři do značné míry omezován v tom, co může s daty v RRP dělat, čímž se minimalizuje pravděpodobnost chyby v datech RRP (přičemž chyba v datech RRP může mít za následek nefunkčnost celé aplikace).

Někdy však je vhodné mít k dispozici nástroj, který umožní podstatně volnější přístup k datům v RRP. Takovým nástrojem je formulář FMRADM01.


Práce s formulářem FMRADM01

Pozor Pozor
Upozornění

Formulář FMRADM01 je nástroj, který zpřístupňuje veškerá data v RRP, přičemž všechna tato data je možné měnit! Proto je při změnách dat v RRP pomocí tohoto formuláře třeba poměrně hlubokých znalostí principů RRP. Nevhodný zásah do RRP může způsobit nefunkčnost části nebo celého systému iFIS*! Běžné akce, ke kterým administrátor iFIS* potřebuje formulář FMRADM01, jsou popsány v některých z následujících kapitol. Administrátor by se měl pokud možno vyvarovat takových změn v datech RRP, které nejsou popsány v této příručce.


Popis formuláře FMRADM01

Pracovní oblast formuláře FMRADM01 se skládá ze tří částí. V horní části obrazovky je nástrojová lišta, která obsahuje základní tlačítka společná pro celý iFIS*. Hlavní pracovní plocha formuláře pak obsahuje v levé části stromovou strukturu, která zobrazuje hierarchii všech objektů popsaných v RRP, a v pravé části jsou zobrazeny vlastnosti právě vybraného subjektu či vazby.

Stromová struktura informací RRP je členěna do následujících vrstev:

  1. vrstva – seznam subsystémů popsaných v dané instalaci RRP
  2. vrstva – seznam kategorií vybraného subsystému
  3. vrstva – seznam subjektů vybrané kategorie
  4. vrstva – seznam kategorií, které mohou mít vazbu k vybranému subjektu (přesněji k jeho kategorii)
  5. vrstva – seznam odkazů na subjekty, které mají vybranou vazbu k nadřízenému subjektu


Obr. Ukázka struktury informací v RRP


Obrázek Ukázka struktury informací v RRP demonstruje jednotlivé vrstvy stromu informací. Z obrázku je patrné, že subsystém PPS může obsahovat subjekty kategorií ATTRIBUT, CHECK, DOMAIN atd. Z konkrétních subjektů subsystému PPS jsou zobrazeny některé formuláře (kategorie FORM), např. AUMEN00 (zvláštní typ formuláře, který reprezentuje jednu nelistovou položku úvodního menu iFIS*). Dále je vidět, že z formuláře BEKPP00 mohou být volány sestavy, grafy, jiné formuláře, a mimo jiné také to, že tento formulář používá tabulky ERKPST a BEKPPL.

Na obrázku je ve stromu informací RRP vybrán formulář BEKPP00, proto jsou v pravé části obrazovky zobrazeny vlastnosti vybraného formuláře. Na obrázku Příklad vlastností vazby mezi kategoriemi jsou v pravé části obrazovky vidět vlastnosti vazby mezi formulářem BEKPP00 a tabulkou ERKPST.

Kromě seznamu kategorií se ve čtvrté vrstvě stromu pod vybraným subjektem zobrazuje uzel s názvem Použití. Pod ním se skrývá seznam subjektů, ke kterým má aktuální subjekt nějakou vazbu. Z obrázků je patrné, že formulář BEKPP00 má vazbu k formuláři GDMEN40 (opět výše zmíněný zvláštní typ formuláře), která popisuje, v které části menu celého iFIS* je formulář BEKPP00 zařazen, a dále má vazbu k roli (skupině) MENU_PPS, což znamená, že tento formulář může být spouštěn pouze uživateli, kteří jsou zařazeni do této role.

Z výše uvedeného vyplývá, že pod uzlem Použití nejsou jednotlivé subjekty členěny podle kategorií (přesněji řečeno podle typu vazby), a proto při výběru vazby pod tímto uzlem se v pravé části obrazovky zobrazí vlastnosti cílového subjektu, nikoli vlastnosti vazby.


Obr. Příklad vlastností vazby mezi kategoriemi


U uzlů stromu informací RRP, které označují vazbu, je zobrazena ikona modré šipky. Po dvojitém kliknutí levým tlačítkem myši na tuto ikonu formulář FMRADM01 zobrazí odpovídající uzel třetí vrstvy. Například po dvojitém kliknutí levým tlačítkem myši na ikonu vedle názvu tabulky ERKPST bude zobrazen uzel stromu informací, který odpovídá právě této tabulce.

Společnou vlastností všech záznamů (subjektů i vazeb) v RRP je vlastnost Manip. mód, z jejíž hodnoty lze vyčíst, zda je odpovídající záznam standardní či zákaznický. Standardní záznamy obsahují ve vlastnosti Manip. mód hodnotu „0“ (nula). Pokud je ve vlastnosti Manip. mód hodnota „I“, znamená to, že jde o novou informaci, založenou zákazníkem, hodnota „U“ znamená, že jde o záznam zákazníkem modifikovaný, a hodnota „D“ znamená, že tento standardní záznam je z hlediska zákazníka zrušen, tj. v jeho prostředí se neuplatní. Záznamy ve stavech „I“, „U“ a „D“ jsou všechny uloženy v zakázce 9999.

Je-li třeba změnit zákaznickou úpravu zpět na standardní stav, pak stačí odpovídající záznam zrušit klávesou nebo tlačítkem [Smazat záznam]. Ve vlastnosti Manip. mód se opět objeví „0“, v případě záznamu ve stavu „I“ bude tento záznam zrušen.

V levé dolní části formuláře FMRADM01 jsou umístěny tří ovládací prvky pro hledání a filtraci zobrazených dat.

Pokud se do pole Hledej zadá název subjektu a stiskne klávesa [Další Pole], [Předchozí pole] nebo [Přijmout], formulář vyhledá ve stromové struktuře odpovídající uzel třetí vrstvy. (Není možné použít zástupné znaky „%“ (procento) a „_“ (podtržítko).)

Pokud se do pole Filtr zadá řetězec, v němž se pomocí zástupných znaků „%“ a „_“ specifikuje, které subjekty nás zajímají, a stiskne se tlačítko Občerstvení, bude znovu načten strom informací a v něm budou zobrazeny pouze ty subjekty, které odpovídají zadanému vzoru. Je-li zadán například řetězec „A“, budou ve stromu informací ve třetí vrstvě ve zvolené kategorii zobrazeny pouze subjekty, jejichž název začíná písmenem „A“.

Vlastnosti filtrace:

  • Filtr je možné použít současně s hledáním
  • Filtr je uplatněn s automaticky doplněným zástupným znakem „%“ na konci.
Příklad Příklad

Zadáním filtru „ERTE“ a rozbalením podstromu tabulek budou vybrány všechny tabulky, jejichž jméno začíná ERTE.


  • Občerstvení bez nutnosti nového „rozbalování“ všech potřebných vrstev (tlačítko Občerstvení) lze provést kliknutím na odpovídající uzel se současně stisknutou klávesou CTRL. Jsou-li například zobrazeny všechny formuláře, ale mají-li být viděny pouze ty, jejichž název začíná písmenem „W“, vloží se do pole Filtr řetězec „W“ a poté se klikne na uzel FORM Formuláře levým tlačítkem myši při současném stisknutí CTRL.

Je-li potřeba znovu zobrazit všechny formuláře, akce se zopakuje, ale bez zadání do pole Filtr

  • Filtr je po svém uplatnění při rozbalení, hledání nebo občerstvení podstromu automaticky vynulován, aby nebránil další práci
  • V celém stromu je možné filtrovat libovolné množství podstromů. Každé uplatnění filtru je indikováno v kořenovém uzlu podstromu změněnou ikonou. V příkladu na obr. Filtrace byl postupně uplatněn filtr „ERTE“ na tabulky a filtr „PROD“ na sloupce tabulky ERTEST.

Pozn. Na obrázku není zachycen obsah pole Filtr, protože to bylo automaticky vynulováno a nebrání tak dalším výběrům

  • Filtr se neuplatňuje v uzlech Použití a Seznam povolených hodnot/návratových kódů


Obr. Filtrace


Změny dat ve formuláři FMRADM01

Založení subjektu/vazby
Poznámka Poznámka
Důležitá poznámka:

Pokud se v průběhu vyplňování vlastností subjektu/vazby při jejich zakládání před potvrzením změn klávesou nebo tlačítkem [Přijmout] klikne myší na jiný uzel stromu informací, budou námi vložená data bez varování ztracena!


Založení subjektu:

  1. V levé části formuláře FMRADM01 se vybere v cílovém subsystému odpovídající kategorie
  2. Stiskne se klávesa nebo tlačítko [Nový záznam]
  3. Vyplní se vlastnosti subjektu v pravé části formuláře FMRADM01
  4. Uloží se změny stiskem klávesy nebo tlačítka [Přijmout]

Založení vazby probíhá stejným způsobem, jen v prvním kroku je zapotřebí vybrat odpovídající typ vazby pod subjektem, ke kterému má být vazba vytvořena.

Tento způsob zakládání subjektů a vazeb je nepohodlný (vše je třeba vyplnit) a kromě toho náročný na znalosti obsluhy (je třeba vědět, které všechny vlastnosti je třeba vyplnit). Proto se daleko častěji pro založení nového subjektu či vazby používá buď funkce kopírování vlastností subjektu/vazby nebo funkce kopírování subjektu.


Kopírování vlastností subjektu/vazby

Kopírování vlastností subjektu:


  1. V levé části formuláře FMRADM01 se vybere vhodná předloha nového subjektu (tj. uzel odpovídající vhodnému subjektu)
  2. Stiskne se klávesa nebo tlačítko [Nový záznam]
  3. Stiskne se tlačítko v horní nástrojové liště
  4. Opraví se vlastnosti subjektu v pravé části formuláře FMRADM01
  5. Uloží se změny stiskem klávesy nebo tlačítka [Přijmout]

Kopírování vlastností vazby probíhá stejným způsobem, jen v prvním kroku je zapotřebí vybrat odpovídající předlohu vazby pod subjektem, ke kterému má být nová vazba vytvořena.


Kopírování subjektu

Tato funkce umožňuje založení nového subjektu kopií ze subjektu existujícího, a to včetně vazeb.

  1. V levé části formuláře FMRADM01 se vybere vhodná předloha nového subjektu
  2. Stiskne se tlačítko Kopírování subjektu v dolní části formuláře FMRADM01. Zobrazí se formulář FMRCOPY02
  3. Do pole Nový subjekt se zadá název nového subjektu
  4. Do pole Krátký popis se zadá popis nového subjektu
  5. V dolní části formuláře se označí vazby, které mají být zkopírovány k novému subjektu. Pro označení všech vazeb je možné použít tlačítko Vyber vše, pro odznačení všech vazeb je možné použít tlačítko Zruš výběr
  6. Stiskne se tlačítko Kopíruj. Po dokončení operace se jako zdrojový subjekt pro kopírování zobrazí právě založený subjekt včetně svých vazeb, takže je možné v kopírování pokračovat krokem 3
  7. Kopírování ve formuláři FMRCOPY02 se ukončí stiskem klávesy nebo tlačítka [Konec]
  8. Po návratu do formuláře FMRADM01 je třeba provést občerstvení stromu informací stisknutím tlačítka Občerstvení v dolní části formuláře


Obr. Kopírování subjektu

Poznámka Poznámka
Formulář FMRCOPY02 je možné volat i z jiných formulářů RRP (viz další kapitoly).


Změna subjektu/vazby
  1. V levé části formuláře FMRADM01 se vybere uzel odpovídající měněnému subjektu/vazbě
  2. Opraví se odpovídající vlastnosti
  3. Uloží se změny stiskem klávesy nebo tlačítka [Přijmout]
Poznámka Poznámka
Některé vlastnosti nemohou být kvůli své důležitosti měněny, proto je nutné v případě potřeby jejich změny daný subjekt/vazbu zrušit a znovu založit.


Zrušení subjektu/vazby
  1. V levé části formuláře FMRADM01 se vybere subjekt/vazbu, který má být zrušen
  2. Stiskne se klávesa nebo tlačítko [Smazat záznam]
  3. Stisknutím tlačítka Ano je potvrzen dotaz, zda opravdu má být tento záznam zrušen
Poznámka Poznámka
Zrušení záznamu ve stavu „0“ znamená založení nového záznamu ve stavu „D“ v zakázce 9999. Zrušení záznamu ve stavu „I“, „U“ nebo „D“ znamená zrušení odpovídajícího záznamu ze zakázky 9999.


Založení uživatele

Na obrázku je znázorněn formulář k založení uživatele do RRP pro identifikaci v aplikaci a jako login do databáze. Obě akce na sebe navazují tak, že po vyplnění potřebných údajů je možné provést odpovídající akci v databázi stisknutím tlačítka Aktualizace DB. Formulář je plně ovladatelný myší a skládá se ze záhlaví a funkčních záložek.


Založení uživatele


Záhlaví:

Záhlaví  
 Jméno  Jméno zakládaného uživatele

Po založení uživatele v databázi je jeho heslo totožné se jménem. Heslo je možné změnit buď administrátorem v záložce Uživatel v DB, nebo si jej po přihlášení může uživatel změnit sám v nabídce Akce / Změnit heslo.

 Krátký popis  Krátký popis
 Ek. jedn.  Číslo ekonomické jednotky podle záznamu v ekonomických jednotkách (default 1).
 Osb.id.  Kód osoby v jádře, lze vybrat pomocí seznamu hodnot (LOV)
 Poslední připojení  Časová informace o posledním připojení uživatele v aplikaci iFIS*


Funkční záložky:

Funkční záložky  
 Subsystémy  Je to hlavní záložka pro základní nastavení uživatele. V levé části je seznam aktuálních subsystémů. U každého subsystému je dvojice check boxů pro Role a Menu, které umožňují jednorázové standardní přiřazení subsystémů uživateli a to s plným přístupem. Po změně v bloku DB Role se testuje aktuální stav v databázi a podle potřeby aktivuje tlačítko Aktualizace DB. Po stisknutí se změny v databázi provedou. Druhým check boxem se přiřazují skupiny pro plné standardní menu daného subsystému. V blocích DB Role a Menu lze záznamy jednotlivě rušit, ale také zakládat.
 Uživatel v DB  Doplňkové funkce
Tablespace Aktualizace přiřazení databázového prostoru pro uživatele
Heslo Změna hesla
Profil Změna databázového profilu uživatele
Role Umožňuje uživateli přiřazovat a rušit jak standardní, tak uživatelské role
Role Jméno již existující role
Krátký popis Krátký popis
Hlavní menu Hlavní menu, pokud rolí je skupina
DB role Příznak, zda se jedná o databázovou roli
Tiskárny Přiřazení výstupního zařízení
Jméno Výběr výstupního zařízení
Hlavní ? Označení tiskárny jako výchozí
Číslo portu Pořadové číslo portu


Pravidla pro vytváření a zařazování uživatelů do subsystémů

Záhlaví

Po vyplnění záhlaví a po zvolení některé z databázových rolí lze provést vytvoření uživatele v databázi po stisknutí aktivního tlačítka Aktualizace DB.


Záložka Subsystémy

Ve sloupci Role se označí políčko na řádku JDR (povinný pro všechny!) a dalších subsystémů, které se mají uživateli zpřístupnit. Na změny ve sloupci Role reaguje tlačítko Aktualizace DB, které má funkci přiřadit granty v databázi (viz obr. Založení uživatele). Při ukončení formuláře se testuje, zda byly změny provedeny.

Ve sloupci Menu se vybere celé menu. Pokud uživatel pracuje pouze s uživatelskou skupinou (nemá plný přístup), nevyplňujeme. Výjimka je u subsystému F00, kde MENU_FAM_PUBLIC musí mít každý uživatel finančního subsystému.

V této záložce lze přidělovat celé subsystémy (skupiny rolí). V blocích DB Role a Menu však lze přidávat a odebírat již jednotlivé standardní role zvolených subsystémů a tím funkčnost rozšiřovat nebo naopak omezovat. Lze použít LOV (List Of Value), které funguje programově v tomto formuláři jako vícevýběrové doplňkové LOV. Vícevýběrové znamená, že jedním LOV lze vybrat všechny žádané položky najednou (všechny, některé nebo jedinou). Doplňkové znamená, že se v LOV nabízejí pouze hodnoty, které ještě v bloku nejsou použity. O LOV více ve Správa seznamů hodnot (LOV).


Záložka Role

Záložka umožňuje přidělovat existující role všech typů. Dovoluje jednotlivě přiřadit a odebrat jak role standardní (zkušený administrátor), tak role uživatelské. To, jestli chce administrátor vidět role všechny nebo jen uživatelské, určuje volba Zobraz role. Při výběru role lze použít vícevýběrové doplňkové LOV. Administrátor může, pokud má nastaven záznam s uživatelskou rolí, navigovat přímo přes tlačítko ROLE v levém toolbaru do formuláře „Správa rolí“ (viz Založení role (skupiny)) a tuto roli opravovat a případně přidělovat dalším uživatelům.


Obr. Přiřazení rolí uživateli


Záložka Tiskárny

Na poli Jméno se nabízejí možné tiskárny, pole Hlavní umožňuje vybrat jednu (jedinou) z tiskáren uživatele jako výchozí.

Aby uživatel mohl tisknout, musí mít v prostředí MS Windows instalovánu alespoň jednu tiskárnu, a to i v případě, že si pouze prohlíží sestavu na obrazovce.

Přiřazovat uživateli tiskárnu v administraci iFIS* je nutné jen v případech, kdy je požadováno speciální chování tisků (viz dále).


Přímé přiřazení tiskárny uživateli

Přímého přiřazení tiskárny uživateli využívá algoritmus dohledání výstupního zařízení při spuštění tisku, a to následujícím způsobem:

  1. Vybere-li uživatel ve formuláři pro nastavení parametrů tisku tisk na tiskárnu, aplikace zjistí, zda má tento uživatel přímo přiřazeno nějaké výstupní zařízení (což nutně nemusí být tiskárna!).
  2. Má-li uživatel přímo přiřazeno jediné výstupní zařízení, je tisk směrován bez dalších dotazů přímo na toto zařízení.
  3. Má-li uživatel přímo přiřazeno víc výstupních zařízení, ale pouze u jediného má nastaven příznak Hlavní (default), je tisk směrován bez dalších dotazů přímo na toto zařízení.
  4. Není-li splněna žádná z předchozích podmínek, je uživateli nabídnut seznam jemu přístupných výstupních zařízení (LVRPRINTER), které mohou být použity pro tisk dané sestavy, tj. odpovídají její šířce. Uživatel z tohoto seznamu může zvolit požadované výstupní zařízení.
  5. Tisk je směrován na vybrané výstupní zařízení.

Speciálním případem výstupního zařízení jsou „virtuální“ tiskárny s fyzickým jménem (údaj Prn_Device) WINSELPRT a WINDFLTPRT.


Tiskárnu s fyzickým jménem WINSELPRT může aplikace vybrat pro tisk z následujících důvodů:

  1. Uživatel má přímo přiřazeno jediné výstupní zařízení, a tím je právě tato tiskárna (WINSELPRT).
  2. Uživatel má přímo přiřazeno víc výstupních zařízení, přičemž jedno z nich má nastaven příznak Hlavní, a tím je právě tato tiskárna (WINSELPRT).
  3. Uživatel nemá přímo přiřazeno žádné výstupní zařízení a systémový parametr DISABLE_WINSELPRT má hodnotu N (= standardní a zřejmě nejčastější nastavení).
  4. Uživatel nemá přímo přiřazeno žádné výstupní zařízení a systémový parametr DISABLE_WINSELPRT má hodnotu Y. V tom případě je uživateli nabídnut seznam jemu přístupných výstupních zařízení (LVRPRINTER), které mohou být použity pro tisk dané sestavy (viz bod 4 výše uvedeného algoritmu dohledání výstupního zařízení). Tento seznam obsahuje i tiskárnu s fyzickým jménem WINSELPRT, takže uživatel ji v tomto okamžiku může vybrat.

Další chování tiskové procedury v případě, že tisk je směrován na tiskárnu WINSELPRT, je popsán v kapitole Princip znakových tisků.


Tiskárnu s fyzickým jménem WINDFLTPRT může aplikace vybrat pro tisk z následujících důvodů:

  1. Uživatel má přímo přiřazeno jediné výstupní zařízení, a tím je právě tato tiskárna (WINDFLTPRT).
  2. Uživatel má přímo přiřazeno víc výstupních zařízení, přičemž jedno z nich má nastaven příznak Hlavní?, a tím je právě tato tiskárna (WINDFLTPRT).
  3. Uživatel nemá přímo přiřazeno žádné výstupní zařízení a systémový parametr DISABLE_WINSELPRT má hodnotu Y. V tom případě je uživateli nabídnut seznam jemu přístupných výstupních zařízení (LVRPRINTER), které mohou být použity pro tisk dané sestavy (viz bod 4 výše uvedeného algoritmu dohledání výstupního zařízení). Tento seznam obsahuje i tiskárnu s fyzickým jménem WINDFLTPRT, takže uživatel ji v tomto okamžiku může vybrat.

Další chování tiskové procedury v případě, že tisk je směrován na tiskárnu WINDFLTPRT, je popsán v kapitole Princip znakových tisků.

Výše popsaný algoritmus dohledání výstupního zařízení byl zamýšlen především pro znakové prostředí, ale je možné jeho vlastností využít i v prostředí MS Windows. Uživateli může být například přiřazena tiskárna s fyzickým jménem WINDFLTPRT (viz výše), což pro tohoto uživatele bude znamenat, že jeho tisky půjdou vždy přímo na jeho výchozí tiskárnu v MS Windows.


Záložka Uživatel v DB

Slouží pro doplňkové akce v databázi. Administrátor může sám takto změnit uživateli heslo. Pokud jsou využívány databázové profily, lze přidělit uživateli existující databázový profil (viz Správa databázových profilů). Vzhledem k tomu, že „Správa uživatelů“ řeší běžné aplikační uživatele, bude možnost změny Tablespace využita jen velmi zřídka.


Uživatel v DB


Efektivní založení uživatele

Přes volání modulu (levý toolbar Nav) se lze přemístit do formuláře rolí (ROLE) přímo. Výběrová podmínka v cílovém formuláři se řídí stavem ve volajícím (aktuálním) formuláři, to znamená, že kurzor musí být umístěn na bloku role, aby mohla být přenesena správná hodnota pro výběr ve volaném formuláři.

Funkce (RRC2) umožňuje kopírovat uživatele přes speciální formulář (kurzor musí být umístěn v záhlaví!), ve kterém je zapsán nový uživatel a krátký popis v záhlaví a vyberou se všechny potřebné vazby. Stisknutím tlačítka Kopíruj se založí nový uživatel v RRP. Po návratu z kopírovacího formuláře a výběru nového uživatele je třeba provést změny do databáze. Nyní je aktivní tlačítko Aktualizace DB, které umožňuje uživatele se zvolenými rolemi vytvořit v databázi.


Zrušení uživatele

Odstraněním záznamu s uživatelem v záhlaví dojde k odstranění nejen v RRP, ale také v databázi. Podmínkou však je, aby odstraňovanému uživateli byly v RRP zrušeny všechny vazby.


Upozornění k administraci uživatele v subsystému PPS

Některé formuláře pro Nákup a Prodej vyžadují pro správnou funkci přístup do subsystému IFC. Pro zjednodušení administrace je proto možné říci, že každému uživateli PPS je nutné přiřadit také standardní IFC databázovou roli DEFAULT_IFC.


Založení role (skupiny)

Na obrázku je znázorněn formulář pro vytvoření uživatelské role. Role slouží k umožnění přístupu k formulářům, sestavám a exportním funkcím iFIS*. V záložce Uživatelé lze přiřazovat vybudovanou roli vybraným uživatelům. Seznam uživatelů lze libovolně rozšiřovat a uživatele lze také odebírat. Lze využít vícevýběrové doplňkové LOV. V záložce Menu lze omezovat nebo přidávat přístup k podstromům stromu daného kořenovým menu až na úroveň jednotlivých formulářů. V záložkách Navigace a Reporty lze nadefinovat přístup k jednotlivým formulářům nebo reportům.


Záhlaví:

Záhlaví  
 Role  Jméno role (skupiny)
 Krátký popis  Popis skupiny, který se zobrazí v menu (povinné pole).
Hlavní menu Jméno kořenového menu

(podmenu ze standardní struktury menu, viz příručka Struktura menu a funkcí iFIS)

APP Aplikační subsystém (povinné pole)
Zrušit hlavní menu (struktura menu vč. navigace a reportů)
Typ role DB / Menu (implicitně Menu)


Záložka uživatele:

Záložka uživatele:  
 Uživatel  Jméno uživatele v RRP
Jméno Identifikace uživatele v jádře


Záložka Menu

Zobrazení a stavba struktury menu se jmény podmenu a formulářů. Přes tlačítko se lze vnořovat do struktury. Check boxy vlevo od jména slouží pro vyřazení (nevyplněný) nebo zařazení (vyplněný) do skupiny. Vpravo od jména k označení formulářů (mají jinou barvu výplně) pouze pro čtení. Formulář UPRMNU, který je v záložce použit, má díky své konstrukci a kaskádnímu zobrazení menu v jednotlivých úrovních vnoření omezení. Maximální počet vnoření menu je 5. Maximální délka menu pro úroveň 1 je 19, pro každou další úroveň vnoření je o 1 menší. Pro úroveň 5 je tedy maximální délka menu 15.


Záložka Navigace:

Záložka Navigace:  
 Formulář pro navigaci  Jméno formuláře pro přímou navigaci nebo speciální funkci
R/W označení formuláře pro čtení.


Přístup k funkci exportu dat do formátu SYLK a HTML

Zařazením formuláře FMRSYLK do dané skupiny je pro všechny formuláře, které jsou v této skupině zařazeny pro zápis (tj. bez příznaku Pouze pro čtení), povolena funkce exportu dat do formátu SYLK a HTML (viz Správa přístupu k funkci exportu dat do formátu SYLK a HTML).


Přístup k datovému kombajnu

Zařazením formuláře FMRHVST do dané skupiny je pro všechny formuláře, které jsou v této skupině zařazeny pro zápis (tj. bez příznaku Pouze pro čtení), povoleno volání datového kombajnu (viz. Přístup k datovému kombajnu).


Blok Tiskárny

Na poli Jméno se nabízejí možné tiskárny. Pole Hlavní a Číslo portu nejsou využita.

Aby uživatel mohl tisknout, musí mít v prostředí MS Windows instalovánu alespoň jednu tiskárnu, a to i v případě, že si pouze prohlíží sestavu na obrazovce.

Při administraci iFIS* obvykle není nutné přiřazovat tiskárny skupině.


Blok Reporty

Umožňuje přiřazení reportů do skupiny.


Efektivní založení role

Přes volání modulu (levý toolbar Nav) se lze přemístit do formuláře uživatelů (UZIV) přímo. Výběrová podmínka v cílovém formuláři se řídí stavem ve volaném formuláři, to znamená, že kurzor musí být umístěn na bloku Uživatelé, aby mohla být přenesena správná hodnota pro výběr ve volaném formuláři. Funkce (RRC2) umožňuje kopírovat roli přes speciální formulář (kurzor musí být umístěn v záhlaví!), ve kterém se zapíše nová role a krátký popis v záhlaví a vyberou se všechna potřebná přiřazení pomocí check boxů. Stisknutím tlačítka Kopíruj se založí nová skupina. Po návratu z kopírovacího formuláře a výběru nové role lze provést další úpravy.

Pozor Pozor
Kopii role (skupiny) má smysl provést pouze tehdy, pokud obě skupiny (zdrojová a nová) mají stejné kořenové menu a v nové skupině se mají provést pouze malé změny v již provedených přístupech do podstromů. Pokud tomu tak není, je výhodnější si nadefinovat novou skupinu samostatně.


Založení menu

Funkce pro založení nového menu se použije tehdy, když je nutné založit jinou než standardní strukturu volání formulářů.


Pole záhlaví

Pole záhlaví  
 Název  Jméno menu
Krátký popis Název pro text v menu (povinné pole)


Moduly volané z menu

Moduly volané z menu  
 Pořadí  Očíslování pořadí volaných formulářů (např. 10,20,30 …).
Modul Přiřazení formulářů
Par_form Volání vstupního parametrického formuláře (pro výběr dat).
Read_only Volaný formulář pouze pro čtení
Hide Skrýt volající formulář


Založení tiskárny

Založení tiskárny do systému má určitá specifika, proto se následující popis dotkne i prostředí operačních systémů. Část sestav je znaková, což s sebou nese jisté komplikace, protože sestavy musí být spouštěny ve znakovém režimu. Následující odstavce popisují požadované nastavení tiskáren.

Poznámka Poznámka
Níže zmiňované ovladače tiskáren jsou textové soubory popisující řídící sekvence, které Oracle Reports posílají na tiskárnu. Ovladače pro iFIS* jsou uloženy v adresáři CMN a mají příponu .PRT.


Princip znakových tisků

Zjednodušeně lze říci, že znakový tisk znamená, že aplikace na tiskárnu odesílá ASCII kódy tištěných znaků, zatímco bitmapový tisk probíhá tak, že aplikace posílá na tiskárnu bitovou mapu výstupu.

Pokud tedy aplikace tiskne znakově, musí se znaková sada, kterou používá aplikace, shodovat se některou znakovou sadou, kterou umí tiskárna. Aplikace běžící v MS Windows používá znakovou sadu Windows Latin 2 (Win1250), což je ale znaková sada, kterou zdaleka ne každá tiskárna zná.

Jednou možností, jak uvedený problém řešit, je upravit znakové sestavy na bitmapové. Toto řešení však není možné, protože bitmapový tisk by výrazně omezoval dávkové („velkoobjemové“) tisky. Proto přinejmenším některé tisky musí zůstat znakové a v tom případě je třeba zajistit jejich konverzi do znakové sady, kterou umí daná tiskárna.

V RRP jsou definovány dvě speciální tiskárny, které mají v poli Prn_Device (viz níže) hodnotu „WINSELPRT“, resp. „WINDFLTPRT“ a jsou (stejně jako např. PROHLÍŽENÍ NA OBRAZOVCE či ULOŽENÍ DO SOUBORU) přiřazeny skupině DEFAULT_JDR. Pokud uživatel (nebo aplikace) před tiskem určí jako výstupní zařízení WINSELPRT, zobrazí se mu ve formuláři pro výběr cílové tiskárny seznam tiskáren, definovaných na jeho pracovní stanici. Podle uživatelova výběru potom aplikace dohledá potřebné informace v RRP a na jejich základě (mimo jiné) provede odpovídající konverzi. Nabízený seznam tiskáren přitom odpovídá tomu, jaké tiskárny má uživatel definovány na své stanici. Pokud uživatel (nebo aplikace) určí jako výstupní zařízení WINDFLTPRT, aplikace si zjistí informace o výchozí tiskárně v MS Windows a opět dohledá potřebné informace o této tiskárně v RRP.

Aby iFIS* mohl potřebné informace dohledat, musí být v RRP kromě výše uvedených speciálních tiskáren (přesněji výstupních zařízení) zaznamenány i tzv. prototypové tiskárny. V poli Prn_Device těchto tiskáren je možné uvést pouze prefix fyzických jmen tiskáren v MS Windows. Je například možné definovat tiskárnu s fyzickým jménem „HP LaserJet“, která může sloužit jako prototypová definice pro tiskárny, které se v MS Windows jmenují „HP LaserJet 4M“, „HP LaserJet 5L“ apod. Poté, co si uživatel vybere tiskárnu v MS Windows, je v RR hledána odpovídající definice na základě prefixu fyzického jména vybrané tiskárny a šířky sestavy, přičemž se hledá co nejpřesnější shoda. Je-li nalezeno víc vhodných definic, je uživateli zobrazen jejich seznam (LVRPRINTER2) a uživatel si vybere, která definice bude použita.

Dalšími klíčovými údaji o tiskárně jsou Min_Width, Max_Width, Prn_Handler a Prn_Encode (viz níže).

Je-li třeba konverze znakové sady, iFIS* uloží sestavu do souboru, přeloží ji do požadované výstupní znakové sady a výsledný soubor vytiskne programem dosprint.exe, který je uložen v adresáři BIN aplikace. Program dosprint.exe vytiskne soubor zadaný prvním parametrem na tiskárně zadané druhým parametrem, a to znakově. Obsahuje-li jméno tiskárny na vstupu programu dosprint.exe znaky § (paragraf), jsou tyto znaky před vlastním zpracováním programem dosprint.exe převedeny na mezery. (iFIS* předá programu například jméno „HP§LaserJet§4M“.)

Ke zjištění jmen tiskáren definovaných na té které stanici je možné na dané stanici spustit program dosprint.exe s přepínačem –l. V případě síťových tiskáren definovaných na stanici s MS Windows NT program vypíše názvy tiskáren ve tvaru „\\SERVER\HP LaserJet 4M“. Pokud je potřeba v RRP nadefinovat tuto tiskárnu, pak se v poli Prn_Device neuvede jméno serveru, ale v RRP je třeba nadefinovat tiskárnu s fyzickým jménem „HP LaserJet 4M“, případně „HP LaserJet“ apod.


Tiskárny s kódovou stránkou WIN1250

Na tiskárny, které mají znakovou sadu Windows Latin 2 (kódová stránka WIN1250), je možné tisknout přímo z Oracle Reports. Pro takové tiskárny existují 4 ovladače, které lze použít pro tiskárny HP LaserJet a HP DeskJet (aspoň některé modely):

Tiskárny s kódovou stránkou WIN1250  
 whplj  HP LaserJet/DeskJet - 80 znaků, WIN1250
whpljc HP LaserJet/DeskJet - 132 znaků, condens, WIN1250
whpljl HP LaserJet/DeskJet - 132 znaků, landscape, WIN1250
whpljlc HP LaserJet/DeskJet - 240 znaků, landscape, condens, WIN1250
Poznámka Poznámka
V prostředí MS Windows 2000 dochází k problémům při znakových tiscích přímo na tiskárnu (tj. bez konverze). Problém se projevuje tak, že escape sekvence z ovladačů nejsou interpretovány, ale vytištěny. Problém je možné obejít tak, že pro tisky v MS Windows 2000 se zapne kódování i pro tiskárny, které umí znakovou sadu Win1250. Další možností, jak problém obejít, je vypnout ve vlastnostech tiskárny v MS Windows volbu Zapnout vylepšené vlastnosti tisku.


Tiskárny bez kódové stránky WIN1250

Pro tiskárny, které nemají znakovou sadu Windows Latin 2, je nutno vytisknout sestavu do souboru a následně ji konvertovat do znakové sady tiskárny (PC Latin 2, Kamenických apod.) nebo do ASCII.

Uložení do souboru i konverzi zajišťuje aplikace (soubory FAESREP.BAT, XLATE.EXE v adresáři BIN).

Pro tisk na těchto tiskárnách existují následující ovladače:

Tiskárny bez kódové stránky WIN1250  
 hplj  HP LaserJet/DeskJet - 80 znaků, PCL2
hpljc HP LaserJet/DeskJet - 132 znaků, condens, PCL2
hpljl HP LaserJet/DeskJet - 132 znaků, landscape, PCL2
hpljlc HP LaserJet/DeskJet - 240 znaků, landscape, condens, PCL2
eps80 EPSON - 80 znaků
eps132 EPSON - 132 znaků
eps132c EPSON - 132 znaků, condens
eps240c EPSON - 240 znaků, condens

Kromě uvedených ovladačů je možné setkat se s ovladači "laser", "laserc", "laserl" a "laserlc", které odpovídají po řadě ovladačům "hplj", "hpljc", "hpljl" a "hpljlc", případně některými dalšími, specializovanými pro konkrétní tisky (např. mzdový lístek).


Popis obrazovky pro zakládání tiskáren


Obr. Založení záznamů o tiskárnách


Záznamy o tiskárnách  
Kategorie "PRINTER" (typ subjektu v RR, neměnit)
Popis Podrobný popis tiskárny (pouze informativní údaj pro administrátora)
Subjekt Jednoznačný název tiskárny v RR
Název Popis tiskárny
Manip. mód Jednoznakový příznak stavu záznamu (aktualizován automaticky, neměnit)
Stav "ACTIVE"
Prn_Type Obvykle "PRINTER" (typ výstupního zařízení)
Prn_Device Jméno tiskárny v operačním systému nebo jeho prefix (v uvozovkách, obsahuje-li mezery) - podrobnosti viz výše
Prn_Location Umístění tiskárny ("síťová", "lokální" apod.; pouze informativní údaj)
Prn_Handler Požadovaný ovladač tiskárny pro znakový tisk Oracle Reports
Min_Width Minimální šířka (ve znacích) znakové sestavy, kterou lze poslat na danou tiskárnu
Max_Width Maximální šířka (ve znacích) znakové sestavy, kterou lze poslat na danou tiskárnu
Prn_Encode Požadované překódování výstupu

(A – ASCII, L – CP852, I – ISO Latin2, K – Kamenických, W – Win1250)

Kód aplikace Kód aplikačního systému (doporučeno "RRP")


Založení reportu

Report je jedním z typů modulů, které mohou být definovány v RRP. Jak z jeho názvu vyplývá, jeho hlavním určením je popsat tiskové výstupy iFIS*. Kromě toho mohou být reporty použity jako prostředek ke spouštění externích programů z iFIS* (např. SQL*Plus, textového editoru apod.), přičemž těmto externím programům mohou být formou parametrů předána data z volajícího formuláře.


Obr. Založení reportu


Na obrázku Založení reportu je formulář pro administraci reportů v RRP. V horní části formuláře je možné definovat základní informace o reportu, tzv. hlavičku. Záložka Argumenty slouží k popisu argumentů reportu a v záložce Volání reportů z formuláře jsou pak specifikovány formuláře, z nichž může být daný report spuštěn.

Aby uživatel mohl report spustit, musí k němu mít administrátorem aplikace povolen přístup. Toho může být dosaženo tak, že administrátor přiřadí report do některé z rolí v RRP a tuto roli poté přiřadí uživateli. Informace o tom, v kterých rolích je report zařazen, je uvedena v záložce Role. Zde je samozřejmě také možné report do role zařadit.

Poznámka Poznámka
V dalším textu bude termín sestava označovat tiskový výstup (soubor typu .rep) a termín report definici tohoto tiskového výstupu v RRP.


Postup založení nové sestavy

V této kapitole jsou popsána nastavení pro výstupní sestavy, nastavení pro spouštění externích programů jsou popsána v další kapitole.

Pro úspěšné spuštění nového reportu je nezbytné vyplnit následující údaje:

  • Název – jednoznačný název reportu; obvykle odpovídá jménu spouštěného souboru typu .rep (přeložená sestava)
  • Krátký popis – stručný popis reportu; tento text se ve většině případů nabízí v situacích, kdy uživatel volí mezí více reporty
  • Tlač. – tzv. navigační kód, který se zobrazuje na tlačítkách v levé nástrojové liště

Dalšími vlastnostmi reportu, které je vhodné (a v některých případech nutné) specifikovat, jsou:

  • Úpopis – podrobný popis reportu
  • I.jméno – tzv. implementační jméno; v případě, že z nějakého důvodu nemůže být název reportu (viz pole Název) shodný s jménem spouštěného souboru, je skutečné jméno souboru (bez přípony) uvedeno v údaji I.jméno
  • Ikona – jméno ikony, která se má zobrazit na odpovídajícím tlačítku v levé nástrojové liště;

není-li vyplněno, objeví se v nástrojové liště navigační kód (viz pole Tlač.)

  • Šířka sestavy – šířka sestavy ve znacích; tento údaj je povinný pro znakové sestavy. Na základě hodnoty v tomto poli je dohledávána odpovídající definice tiskárny
  • Formáty – možné výstupní formáty sestavy; pole obsahuje řetězec, jehož každý znak označuje jeden výstupní formát, do kterého může být sestava uložena. Na základě hodnot v tomto poli jsou uživateli nabízeny výstupní formáty, které může použít pro uložení sestavy do souboru, případně pro odeslání elektronickou poštou. Přípustnými znaky jsou:
    • C – textový (lze otevřít např. programem NOTEPAD ve Windows)
    • H – HTML
    • P – PDF
    • R ¬– RTF
Poznámka Poznámka
Je třeba upozornit, že v případě formátu C jde o znakový tisk, v případě ostatních formátů jde o bitmapový tisk.


  • Stav – stav reportu; tento údaj není v současné době využíván, měl by však obsahovat hodnotu ACTIVE
  • AS – aplikační systém; kód aplikačního systému, do kterého report logicky patří (PPS, FAM apod.)

Má-li report nějaké argumenty, pak je třeba vyplnit tyto údaje v části Argumenty reportu:

  • # – pořadové číslo argumentu;

v uvedeném pořadí se argumenty budou nabízet uživateli

  • Argument – jméno argumentu v sestavě
  • > – příznak vstupního argumentu (musí být zaškrtnuto)
  • D – zobrazení argumentu; je-li toto pole zaškrtnuto, bude se v parametrickém formuláři, který se zobrazuje před spuštěním reportu, daný argument zobrazovat, tj. uživatel může jeho hodnotu změnit
  • Default – výchozí hodnota argumentu, která bude použita, není-li argument při volání reportu zadán
  • LOV – seznam hodnot, z kterého je možné vybírat hodnotu argumentu v parametrickém formuláři
  • Formát – formát zobrazení datumového argumentu v parametrickém formuláři
  • Formát Mask – vstupní formát datumového argumentu; v tomto formátu sestava očekává datumový argument
  • Zobrazovaná délka – délka ve znacích, v níž bude argument zobrazen v parametrickém formuláři
  • Alias – alternativní jméno argumentu; jmenuje-li se argument sestavy např. ABC a má-li být jeho hodnota přebrána z pole volajícího formuláře, které se jmenuje XYZ, bude pro daný report definován argument ABC s aliasem XYZ
  • Nadpis – popis argumentu, který se zobrazí v parametrickém formuláři
  • Doména – doména nebo datový typ argumentu (viz též pole Typ)
  • Typ – bližší specifikace typu informace v poli Doména; obsahuje-li pole Typ řetězec DOMAIN, znamená to, že hodnota v poli Doména je názvem domény definované v RRP, obsahuje-li pole Typ řetězec DATATYPE, znamená to, že hodnota v poli Doména je názvem datového typu Oracle (např. NUMBER, VARCHAR2 nebo DATE)


Dalším krokem definice reportu je jeho přiřazení k formulářům, z nichž má být spouštěn, v části Volání reportu z formuláře:

  • # – pořadové číslo reportu ve vazbě na formulář; podle těchto pořadových čísel budou reporty, přiřazené danému formuláři, zobrazovány uživateli
  • Formulář – jméno formuláře, ke kterému je report přiřazen
  • Hide – skrýt formulář před spuštěním reportu; obvykle není zaškrtnuto
  • Par_form – zobrazit argumenty reportu v parametrickém formuláři
  • Assyn – spustit report asynchronně; má smysl pouze pro sestavy, nikoli pro externí programy
  • Read_only – nevyužito
  • Nezobraz – nevyužito
  • Mod_Arg_Redir – dodatečné argumenty reportu; v tomto poli je možné např. explicitně stanovit, z kterého pole bude argument plněn, nebo je možné do argumentu předat konstantu. Plnění argumentu je naznačeno operátorem „větší než“, jehož levým operandem je zdrojová hodnota a pravým operandem cílový argument. Jednotlivá plnění argumentů jsou oddělena středníky.
Příklad Příklad
Hodnota

:BLOK1.POLE1>ARG1;'CHARACTER'>MODE
popisuje, že argument ARG1 bude plněn z pole :BLOK1.POLE1 volajícího formuláře a argument MODE bude naplněn konstantou CHARACTER


  • Výběr. podm. – nevyužito
  • Order – nevyužito
  • Block – nevyužito
  • Ikona – jméno ikony; tento údaj je možné využít, pokud se v konkrétním formuláři má report zobrazit s jinou ikonou, než kterou má definovánu v hlavičce
  • Dodatek – doplňující informace k nápovědě ikonického tlačítka v levé nástrojové liště formuláře

Poslední, co nyní z hlediska administrace iFIS* chybí k tomu, aby bylo možné report spouštět, je jeho zařazení do vhodné role v levé horní části formuláře pro administraci reportů.


Definice spouštění externího programu

Základní informace, uvedené v předchozí kapitole, platí i pro definice reportu, který slouží ke spouštění externích aplikací. Tato část se však zaměřuje pouze na specifika externích aplikací.

Pro definici spouštěných externích aplikací slouží následující pole:

  • Příkaz – text prvního spouštěného příkazu
  • Typ – typ prvního spouštěného příkazu
  • Př. 2 – text druhého spouštěného příkazu
  • Typ2 – typ druhého spouštěného příkazu
  • Př. 3 – text třetího spouštěného příkazu
  • Typ3 – typ třetího spouštěného příkazu


Jak je vidět, je možné spouštět až tři po sobě následující akce. Typy těchto akcí popisují pole Typ, Typ2 a Typ3, která mohou mít následující hodnoty:

H – spuštění aplikace příkazem HOST
A – spuštění aplikace příkazem HOST s parametrem NO_SCREEN
T – spuštění formulářového triggeru
R – spuštění sestavy
X – stejně jako H a současně převzetí jejího výstupu
Q – stejně jako A a současně převzetí jejího výstupu


Text příkazu může obsahovat odkazy na argumenty ve tvaru &ARG1. Před vlastním zpracováním příkazu budou takové odkazy nahrazeny konkrétními hodnotami. Kromě toho může text příkazu obsahovat řetězce $CNCTSTR a $TWO_TASK, které jsou v době běhu nahrazeny celým připojovacím řetězcem uživatele, resp. aliasem databáze, ke které je uživatel připojen. Například pro vyvolání programu SQL*Plus lze použít jeden z následujících příkazů:

sqlplus $CNCTSTR @skript &Arg1 &Arg2

sqlplus /@$TWO_TASK @skript &Arg1 &Arg2

Při spuštění externí aplikace příkazem HOST (typ H) se pro tuto aplikaci otevře okno, v případě spuštění externí aplikace příkaze HOST s parametrem NO_SCREEN (typ A) se pro tuto aplikaci okno neotevře. Toto chování však záleží na typu spouštěné aplikace. Pokud se jedná například o spouštění .bat souboru s několika řádkovými příkazy v prostředí MS Windows, pak výše uvedený popis platí. Pokud půjde o otevření dokumentu příkazem

start "jméno souboru.doc"

pak se samozřejmě okno s odpovídajícím dokumentem otevře.

Spuštění triggeru (typ T) a sestavy (typ R) se často kombinuje. Spuštění sestavy dělá přesně totéž, co spuštění reportu definovaného podle předchozí kapitoly. Pokud však taková sestava potřebuje pro svoje zpracování připravit nějaká data, pak je možné v odpovídajícím formuláři vytvořit uživatelský trigger (třeba s názvem PREP_REPORT), z kterého je volán programový kód, který připravuje data pro tuto sestavu. Sestavu lze pak v RRP nadefinovat jako posloupnost dvou příkazů. Prvním bude příkaz typu T s textem příkazu PREP_REPORT a druhým příkazem bude příkaz typu R s prázdným textem příkazu.

Pro spouštění externích aplikací pomocí příkazů typu X a Q platí totéž, co pro typy H a A. Navíc je v případě typů X a Q očekáváno, že externí aplikace vytvoří textový soubor, do kterého uloží svůj výstup. Kromě předpokladu, že volaná aplikace ukládá svůj výstup do souboru, musí být splněn i s ním související předpoklad týkající se definice reportu v RRP: Report musí mít definován vstupní parametr FILE_NAME, který bude určovat jméno výstupního souboru volané aplikace. Přitom je možné, že toto jméno určí iFIS* (např. bude vloženo uživatelem) a bude předáno volané aplikaci nebo může být toto jméno dáno pevně externí aplikací. V druhém případě je zřejmě nejvhodnějším řešením vstupní parametr FILE_NAME nastavit jako nezobrazovaný a jméno souboru nastavit jako výchozí hodnotu tohoto parametru.

Není-li definován žádný výstupní parametr reportu pro spouštění typu X a Q, pokusí se iFIS* otevřít vytvořený výstupní soubor příkazem start vystupni.soubor. Jsou-li definovány výstupní parametry, budou tyto parametry postupně plněny jednotlivými řádky výstupního souboru. Přitom rozhoduje pořadí parametrů, takže první parametr bude naplněn prvním řádkem, druhý parametr druhým řádkem atd.

Příklad Příklad

Cíl:
– Ve formuláři AAA je nutné do levé nástrojové lišty přidat tlačítko, po jehož stisknutí bude do pole HMOTNOST vyplněna hodnota přečtená z váhy, připojené k pracovní stanici. Pro přečtení hodnoty váhy lze použít program precti_vahu.exe, který zjištěnou hodnotu uloží do souboru C:\VAHA.TXT.

Postup:
1. V RRP se nadefinuje report, který bude příkazem typu Q (pole Typ) volat program precti_vahu.exe (pole Příkaz)
2. Pro report se nadefinuje vstupní parametr FILE_NAME s výchozí hodnotou C:\VAHA.TXT (pole Default)
3. Pro report se nadefinuje výstupní parametr HMOTNOST
4. Report se přiřadí k formuláři AAA
5. Report se zařadí do vhodné role (např. do té, v níž je formulář AAA), aby jej mohli uživatelé spouštět


Správa seznamů hodnot (LOV)

Objekty typu LOV umožňují definovat seznamy hodnot, které mohou být v iFIS* v patřičném kontextu použity.

Základem pro konstrukci LOV může být databázová tabulka nebo pohled (view), ale kromě toho lze obsah LOV definovat i pomocí SQL dotazu. V takovém případě jde o tzv. LOV s libovolným výběrem (viz kapitola LOV s libovolným výběrem).

Níže uvedené obrázky zobrazují konstrukci seznamu hodnot na daném poli (List of value, LOV).

V RRP je objekt LOV zvláštním typem objektu typu FORM (Formulář) a jeho název začíná písmeny LV. V dalším textu jsou popsány pouze ty vlastnosti, které jsou využívány objekty LOV.


Záhlaví LOV

Záhlaví LOV  
Kategorie "FORM" (typ subjektu v RR, neměnit)
Popis Podrobný popis LOV (pouze informativní údaj pro administrátora)
Subjekt Jednoznačný název LOV v RR
Název Popis LOV
Manip. mód Jednoznakový příznak stavu záznamu (aktualizován automaticky, neměnit)
Stav "ACTIVE"
Typ formuláře "LISTVAL"
Short_Title Záhlaví seznamu hodnot
Navigovatelný "X"
Frm_Tab_Name Jméno tabulky/pohledu, nad kterým je LOV postaven
Impl_Name Implementační jméno (obvykle shodné s údajem Subjekt
Výběrová podmínka SQL podmínka, která bude v době běhu doplněna do klauzule WHERE, tj. omezí vybraná data
Text SQL dotazu SQL dotaz v případě LOV s libovolným výběrem
Kód aplikace Kód aplikačního systému



Obr. Záhlaví LOV


Sloupce LOV

Sloupce LOV  
Vazba "MA" (typ vazby v RR)
Subjekt1 Název LOV (odkaz na existující objekt typu LOV)
Subjekt2 Název sloupce (odkaz na existující objekt typu Attribut)
Pořadí Pořadové číslo sloupce v LOV
Manip. mód Jednoznakový příznak stavu záznamu (aktualizován automaticky, neměnit)
Query_Flag "X"
New_Line_Flag Je-li "X", bude tento sloupec zobrazen na další řádek
Displ_Type Typ zobrazení sloupce (dle seznamu povolených hodnot), nejčastěji "T" (textový)
Input_Flag Je-li "X", bude tento sloupec přebírat vstupní hodnotu z volajícího formuláře a tato hodnota bude použita pro výběr dat do LOV
Output_Flag Je-li "X", budou hodnoty tohoto sloupce z vybraných řádků vráceny do volajícího formuláře
Display_Flag Je-li "X", bude tento sloupec v LOV zobrazen
Zobrazovaná délka Délka sloupce v LOV (ve znacích)
Formát Formát zobrazení sloupce (např. DD.MM.RR pro datumový sloupec)
Alias Alternativní název sloupce
Nadpis Text nadpisu sloupec v LOV



Obr. Sloupce LOV


LOV s libovolným výběrem

Jedná se o takový typ LOV, který umožňuje nadefinovat výběr pro seznam hodnot, aniž by existovala vazba na zdroj (tabulka nebo view) pomocí téměř libovolného SQL dotazu.

Opět je nutné nadefinovat sloupce LOV (vazby typu MA), které buď přímo reprezentují sloupce ve volném výběru (např. je potřeba realizovat dotaz z více zdrojů pomocí SQL operace join), nebo mají zástupnou roli (skutečné sloupce se jinak jmenují, ale mohou mít použitu stejnou doménu).

V definici LOV s libovolným výběrem je nutné vyplnit vlastnost Text SQL dotazu požadovanou formulí pro výběr dat.


Obr. Příklad LOV s libovolným výběrem



Obr. Příklad Text SQL dotazu

Poznámka Poznámka
  • Aby bylo možné v aplikaci do LOV vstoupit s hodnotou (pravidlo chování), je nutné základní SQL dotaz ještě vložit do vnějšího dotazu select * from (…)
  • V uvedeném příkladu se názvy sloupců SQL dotazu shodují s nadefinovanými sloupci (atributy) LOV v RRP. Pokud tomu tak není, je nutné v SQL dotazu uvést aliasy sloupců, které atributům LOV odpovídají.
  • Takto vytvořené seznamy hodnot lze jako předchystané moduly dát k dispozici uživatelům přes menu Oblíbené. Ti mohou exportem (html, excel) – tak jako u jiných formulářů - dosáhnout požadovaných výstupů relativně snadno bez programování Reportů.


Správa databázových profilů

Databáze Oracle poskytuje administrátorovi možnost přiřadit uživateli tzv. databázový profil. Databázový profil je seznam limitů, kterými lze omezit uživatele ve dvou oblastech. Jednak lze omezit databázové prostředky, které dostává uživatel po připojení do databáze. Dále lze uživateli stanovit určitá omezení při nakládání s heslem a dosáhnout tak větší bezpečnosti celého systému. Podrobnější informace o databázových profilech lze nalézt v dokumentaci k Oracle Serveru.

V RRP odpovídá databázovému profilu kategorie PROFILE, která svými vlastnostmi popisuje jednotlivé limity databázového profilu.


Vlastnosti (limity) databázového profilu

Databázové prostředky

Databázové prostředky  
Limit přihlášení Limit počtu současných připojení pro uživatele
Limit připojení Časový limit [min] pro připojení
Limit CPU session Časový limit CPU [1/100 sec] pro připojení
Limit nečinnosti Limit [min] souvisle nevyužitého času v připojení
Shared Pool SGA Privátní paměťový prostor vyhrazený z Shared Pool SGA pro jedno připojení
Uzamknutí účtu Doba [day], po kterou zůstává účet po překr. daného počtu chyb. přístupů uzamknut
Limit CPU Časový limit CPU [1/100 sec] pro jedno volání (Parse, Fetch nebo Execute)
Sys. prostředky Celkový limit vynaložených systémových prostředků pro připojení
Logical Reads Call Limit Logical Reads [block] pro jedno volání (Parse, Fetch nebo Execute)
Logical Reads Session Limit Logical Reads [block] pro připojení


Hesla

Hesla  
Platnost Doba [day], po které dochází k vypršení platnosti hesla
Čas znovupoužití Doba [day], kdy není povoleno znovupoužití hesla
Chybné připojení Počet povolených chybných přístupů k účtu před jeho uzamknutím
Čas pro změnu Doba [day] (po vypršení platnosti hesla), po níž dochází k nucené změně hesla
Verifikační procedura Jméno PL/SQL verifikační procedury aktivované při přiřazení hesla
Cyklus znovupoužití Počet změn hesla, během kterých není možné heslo znovu použít


Administrace profilů

Na obrázku je formulář pro správu databázových profilů. Formulář umožňuje připravit nový profil nebo změnit profil existující.

V limitech je nutné uvést hodnotu v příslušných jednotkách, slovo „DEFAULT“ (hodnota je dána aktuální hodnotou odpovídajícího limitu v předdefinovaném profilu DEFAULT), slovo „UNLIMITED“ (bez omezení) nebo prázdnou hodnotu (význam jako DEFAULT).

V bloku Přiřazení profilu uživateli je možné profil, který je aktuální v záhlaví, přiřazovat vybraným uživatelům v RRP. Vzhledem k tomu, že administrátor může být nucen pracovat s dlouhým seznamem uživatelů, kteří již mají přiděleny různé uživatelské profily, je tento blok pro usnadnění vybaven tlačítky Potvrď a Zpět a pro hromadné přiřazování tlačítky ++ a --.

Po přípravě profilu v RRP je nutné také vytvořit nebo změnit profil v databázi. K tomu jsou určena tlačítka v levém toolbaru Fce:

  • RPR – vytvoření připraveného RRP profilu v databázi
  • LMPR – změna limitů existujícího databázového profilu podle RRP
  • PRUS – přiřazení vybraného profilu databázovým uživatelům podle RRP.

Pokud je při spuštění funkce PRUS aktivní blok Profily, tj. kurzor je umístěn v některém z jeho polí, je před spuštěním funkce umožněno pomocí parametru specifikovat, kteří uživatelé mají být funkcí upraveni. Je-li při spuštění této funkce aktivní blok Přiřazení profilu uživateli, bude funkcí zpracován právě vybraný uživatel.


Obr. Správa databázových profilů


Další informace k profilům

Databázový profil DEFAULT není dovoleno ve formuláři pro správu databázových profilů měnit. Záměrně tak není možné snadno dosáhnout změny profilu, který by měl jednak sloužit jako stabilní existující profil a který také slouží pro případné odkazy limitů (s hodnotou „DEFAULT“) ve vlastních uživatelských profilech.

Administrovat profil lze jak ze strany uživatelů (viz Založení uživatele a Záložka Uživatel v DB), kde se vybranému uživateli přiřadí již připravený a v databázi existující profil nebo naopak ze strany profilů, kdy se aktuální profil (např. nový nebo změněný) přiřadí jednomu nebo více uživatelům.

Pokud se při vytváření profilu v RRP použije jiná než povolená hodnota limitu, objeví se při jeho vytváření nebo změně v databázi chyba ORA-02377.

Standardně dodávaná LOGIS verifikační funkce „verify_function“ pro nové heslo zajistí, že :

  • minimální délka je 4 znaky
  • heslo se neshoduje se jménem uživatele
  • heslo obsahuje nejméně 1 alfa, 1 numerický a 1 interpunkční znak
  • liší se od předcházejícího hesla nejméně o 3 znaky

Pokud zůstane vlastnost Verifikační proc. nevyplněna, k žádnému ověřování nedochází.


Aktualizace priorit

Pro zápis do společné oblasti dat (JDR) je třeba nastavit jednotlivým aplikačním systémům jejich práva přístupu k těmto sdíleným datům. Tato práva jsou řízena systémem priorit. Priority jsou nastavovány při instalaci systému a neměly by být měněny.


Obr. Priority


Nastavení ekonomické jednotky

V systému iFIS* se při instalaci systému nastavují informace o tzv. ekonomických jednotkách, což jsou záznamy o vlastní firmě a majiteli ekonomického systému.

Ekonomické jednotky jsou nastavovány při instalaci systému a neměly by být měněny.


Obr. Ekonomické jednotky


Správa domén, parametrů a atributů

Následující skupina administračních formulářů umožňuje dvojí přístup ke správě domén, parametrů a atributů. Jednak je to přístup pro administrátora aplikace, který může nastavovat obecné vlastnosti uvedených kategorií, hodnoty pro role a pro uživatele a také hodnoty domén. Je však také umožněn přístup pro uživatele, který není administrátorem aplikace (referent, správce subsystému apod.). Ten si může nastavit svou vlastní hodnotu parametru a atributu nebo ovlivňovat hodnoty určených domén.


Pro oba typy uživatelů však musí být splněny následující podmínky :

  • subjekt dané kategorie musí mít nastavenu vlastnost „Povolení modifikace pro uživatele“ (ve formuláři je to pole „Uživ.změny?“)
  • uživatel musí mít přidělen přístup k odpovídajícímu administračnímu formuláři
  • uživatel musí mít db roli pro zápis do RRP (pro běžného uživatele je k dispozici standardní specializovaná role ADP_RRP - Role pro uživatelskou správu ATT, DOM a PAR)

Co je dovoleno administrátorovi a uživateli podrobně popisuje část „Přístupy pro správu domén, parametrů a atributů“ (viz Přístupy pro správu domén, parametrů a atributů).


Správa domén

Domény definují datový typ (formát včetně délky) a rozsah hodnot (validační pravidla). Jsou použity u atributů a argumentů. Doména může mít určenu default hodnotu, což je nutné v případě povinného pole s touto doménou. Formát hodnot domény je určen pomocí datového typu a délky, včetně počtu míst za desetinnou tečkou u číselných hodnot. Mohou být nadefinovány rovněž minimální a maximální hodnoty domény. Hodnoty domény (ve stejnojmenné záložce) mají vlastní pole Hodnota (obvykle zkratka hodnoty) a Zkrácený význam. Tyto údaje jsou použity pro účely zobrazení. Pro účely programového kódu (funkcí) je naopak využita interní hodnota. V záložce Atributy lze vidět, které atributy zvolenou doménu používají.


Obr. Správa domén


Správa parametrů

Vzhledem k silné parametrizaci celého systému představuje správa parametrů velmi důležitou oblast pro optimální zákaznické přizpůsobení. Implementátor resp. následně správce má k dispozici celou sadu parametrů, které ovlivňují chování aplikace. Parametr má vždy vyplněnu systémovou hodnotu, tzn.default hodnotu, která je použita vždy, pokud neexistuje pro uživatele hodnota uživatelská či skupinová (podle příslušnosti uživatele ke skupině - roli). Působnost hodnoty konkrétního parametru může být omezena na vybranou roli a uživatele, navíc může být omezena i její časová platnost (Platí - zatrženo, Neplatí - prázdné). Význam jednotlivých parametrů je popsán v RRP v údajích Krátký popis a Úplný popis, podrobné informace o použití jednotlivých parametrů jsou uvedeny v těch částech dokumentace, kde je popisována funkčnost modifikovatelná těmito parametry.


Obr. Správa parametrů


Správa atributů

Atribut je datovým elementem aplikace. Atributu je možné v poli „Doména“ přiřadit právě jednu doménu a lze nastavit Default hodnotu jak globální, tak hodnotu pro roli a také pro uživatele.


Obr. Správa atributů


Přístupy pro správu domén, parametrů a atributů

MBU = A MBU = N
Master Detail Tab Uživatelé nebo Detail hodnoty Detail Tab Role Master / Detail
Insert Update Delete Update MBU Insert   Update  Delete Insert Update Delete Insert{Update}delete
Formulář Záznam RR User N Adm User N Adm User N Adm User N Adm Adm User Adm User Adm User User N Adm User N Adm User N Adm User N Adm
FMRATR01 Atributy STD - A A N - - A A* A A* - A A N
9999 A A A A A A* A A* A A* A A A A
FMRPAR02 Parametry STD - A A N - - A A* A A* - A A N
9999 A A A A A A* A A* A A* A A A A
FMRDOM02 Domény STD - A A N - - A A A A - A A N
9999 A A A A A A A A A A A A A A


MBU (Modif By User) = Povolení modifikace uživatelem
Adm = Administrátor (vlastnost uživatele Priv_Admin = X)
User = Běžný uživatel
A = Ano
N = Ne
A* = Pouze, když subject1=User
9999 = Věta I pod zakázkou


Správa omezení (Restrict)

Obecný popis

Funkce Restrict informuje volajícího, zda je pro předané konkrétní hodnoty splněna podmínka formulovaná v RR nebo ne. Volající se na základě výsledku rozhodne, zda pokračovat (akce je povolena) nebo ne (akce je odmítnuta). O tom, zda se Restrict při běhu aplikace pro daného uživatele uplatní nebo ne, rozhoduje administrační přiřazení Restrictu buď přímo uživateli nebo roli, ke které uživatel náleží. Volajícím funkce Restrict může být :

  • PL/SQL kód (PI, procedura, funkce)
  • Formulář
  • View s voláním v podmínce
  • LOV s voláním ve výběrové podmínce


Popis Restrictu v RRP

Restrict je popsán kategorií RESTRICT a její vlastností IDENT, což je identifikátor Restrictu a vlastností RESTR_CLAUSE, což je obecný booleovský SQL výraz, ve kterém se mohou vyskytovat proměnné. Vlastní volání probíhá přes identifikátor a nikoliv přes subjekt reprezentující Restrict v RR. Proč? Identifikátor vlastně pojmenovává kontrolovaný přístup - problematiku. Znamená to tedy, že k jednomu kontrolovanému přístupu lze zřídit v RR obecně několik Restrictů s různými SQL výrazy a ty podle potřeby administračně přidělovat uživatelům a skupinám. Například lze zavést v RR Restrict RESTR_SKLAD1 s identifikátorem HIMTBW znamenajícím přístup na sklad. Je však možné zřídit další Restrict RESTR_SKLAD2 se stejným identifikátorem HIMTBW, který ale může mít jiný SQL výraz.


SQL výraz

  • Příklady SQL výrazu i s použitím proměnných :
  1. $KAP_NR1$ = $kapacita1$ AND $kap_nr2$ = $kapacita2$
  2. $lag_ort$ in ($^sklady$)
  3. exists (select 1 from $OWNER$.ekbsko)
  4. $lag_ort$ = $sklad$ AND $^SHODA$
  • Předdefinované proměnné :

$OWNER$ - Je nutné použít jako prefix, pokud se ve výrazu odkazuje na existující databázový objekt např. $owner$.ekbsko. Dosáhne se tím správné viditelnosti objektů a také funkčnosti v prostředí více EKJ.

  • Syntaxe proměnných :
  1. Běžná proměnná
  2. Literál
Poznámka Poznámka
Proměnné jsou uvozeny a ukončeny znakem $.


Pokud je proměnná uvozena dvojicí znaků $^, znamená to, že hodnota nebude vyhodnocena jako řetězec, ale jako další text podmínky (viz Vyhodnocení výrazu). Je to vhodné pro použití predikátu TRUE nebo FALSE, pro doplňkovou podmínku nebo pro zadání celého seznamu hodnot v konstrukci "IN"

  • Vyhodnocení výrazu :
  1. V obecném výrazu jsou postupně všechny proměnné nahrazeny dodanými hodnotami
  2. Je možné použít typy proměnných řetězec, číslo a datum. Ve skutečnosti se pracuje se všemi proměnnými jako s řetězci – každá hodnota z obdrženého seznamu hodnot parametrů (viz Syntaxe volání funkce) je zasazena do apostrofů. Proto se při volání vlastní databázové funkce Restrict spoléhá na automatickou oracle konverzi datových typů.
  3. V případě proměnné typu $^ proběhne pouhé čisté převzetí řetězce ze seznamu hodnot
  4. Příklady výrazů s proměnnými a hodnotami :
$^kod1$ ##kod1=AND tl_nr > 50
$lag_ort$ in ($^sklady$) ##sklady=‘101‘,‘SKL01‘
$lag_ort$ = $sklad$ AND $^SHODA$ ##sklad=50##SHODA=(2=3)


Syntaxe volání databázové funkce Restrict

Vlastní funkce je součástí Package R_SECURITY_PA subsystému RRP.

ret := R_security_pa.Restrict (Ident, Parameters, Logic_Plus);

Argumenty :

  • Ident – Identifikátor Restrictu
  • Parameters – Seznam hodnot proměnných, které budou dosazeny do výrazu

Syntaxe :



##par1=text_valuepar1##par2=text_valuepar2##...##parN=text_valueparN


  • Logic_Plus – Logika vyhodnocení
    • Pokud je hodnota ‚A‘ (default) a nebyl–li při vyhodnocování nalezen žádný vztah Restrictu ani k uživateli ani k roli, ve které se uživatel nachází, pak je přístup povolen (co není zakázáno, je povoleno).
    • Pokud je hodnota ‚N‘ a nebyl–li při vyhodnocování nalezen žádný vztah Restrictu ani k uživateli ani k roli, ve které se uživatel nachází, pak je přístup zakázán (co není povoleno, je zakázáno).

Návratové kódy :

  • 0 - Přístup je povolen
  • 1 - Přístup je odmítnut
  • 2 - Syntaktická chyba v SQL výrazu Restrictu v RR
  • 3 - Podmínka obsahuje proměnnou, která ale nebyla dodána v seznamu hodnot
  • 4 - Špatné vymezení proměnné v podmínce
  • 5 - Jiná chyba

Administrace - postup

  • Zavedení konkrétního Restrictu jako subjektu kategorie RESTRICT v subsystému, ve kterém bude používán spolu s vlastnostmi IDENT a RESTR_CLAUSE (viz Popis Restrictu v RRP)
  • Zajistit volání Restrictu v aplikaci (viz volající v obecném popisu)
Poznámka Poznámka
V stdsys existuje procedura Item_Restrict_Call, která provádí volání těch restrictů, které existují v MA vazbách v aktuálním formuláři a do seznamu hodnot předává aktuální hodnoty polí jako atributů z MA vazby


  • Dalším důležitým krokem je určení vztahu Restrictu a uživatele, jemuž má být povolen nebo zakázán určitý přístup. Vztah může být přímý (Uživatel – Restrict) nebo přes roli, ve které je daný uživatel zařazen (Role - Restrict). Pokud přes administraci tento vztah zavedeme, říkáme, že Restrict se má na daného uživatele uplatnit. Ve vazbě je možné také zadat seznam hodnot proměnných, který má stejnou syntaxi jako seznam hodnot proměnných při volání databázové funkce Restrict.


Příklad:

Ve výrazu

$KAP_NR1$ = $kapacita1$ AND $kap_nr2$ = $kapacita2$
může být ve vazbě na uživatele nebo na skupinu zadán ve vlastnosti ATT_VAR_LIST toto :

##kapacita1=60##kapacITA2=40
a tím určit, při kterých hodnotách bude uživateli umožněn přístup a při kterých nikoliv.



Obr. Ukázka Restrictu


Algoritmus volání

  • Pokud existuje vazba nějakého Restrictu daného identifikátorem na uživatele, vezme se případný seznam hodnot udaný ve vlastnosti ATT_VAR_LIST a z něj proběhne první substituce proměnných v SQL výrazu u Restrictu
  • Pokud vazba na uživatele nebyla nalezena, dojde k průzkumu všech vazeb Restrictu daného identifikátorem na všechny role, jichž je uživatelem členem a dojde k řazení SQL výrazu do výrazu nového výsledného přes logický operátor OR tolikrát, kolikrát je uživatel v nějaké skupině. Zároveň dojde k přednostní substituci proměnných z hodnot ve vlastnosti ATT_VAR_LIST vazeb Role – Restrict
  • Pokud nebyla ani nyní žádná vazba na Restrict nalezena, rozhodne o dalším postupu zvolená logika v parametru Logic_Plus ve volání databázové funkce.

Jestliže je logika pozitivní, pak při předcházejícím nenalezení žádných vazeb bude přístup povolen. V případě negativní logiky bude přístup odmítnut.

  • Pokud předchozí vazby existují, budou dosazeny zbývající hodnoty proměnných ze seznamu Parameters ve volání databázové funkce
  • Proběhne vyhodnocení SQL výrazu a hodnota bude vrácena volajícímu
Pozor Pozor
Upozornění!

Pro uživatele nebo pro skupinu by mělo na daný identifikátor existovat jediné omezení! Funkce Restrict případnou násobnost řeší způsobem "první bere". Mohlo by tím dojít k nedefinovanému chování.


Správa přístupu k funkci exportu dat do formátu SYLK a HTML

Přístup k funkci exportu dat do formátu SYLK je možné administrovat na úrovni skupin. Uživatel má ve formuláři odpovídající tlačítko v nástrojové liště aktivní, pokud jsou splněny obě následující podmínky:

  1. Uživatel má tento formulář dostupný prostřednictvím nejméně jedné uživatelské skupiny pro zápis.
  2. Nejméně jedna uživatelská skupina z předchozího bodu obsahuje formulář FMRSYLK.

Pokud není některá z podmínek splněna, tlačítko nebude v daném formuláři aktivní, funkci exportu dat do formátu SYLK tedy nebude možné vyvolat.

Standardní skupiny (MENU_%), které obsahují celá menu jednotlivých subsystémů, mají přiřazen i formulář FMRSYLK. Předpokládá se tedy, že pokud někdo má přístup k celému menu, má zřejmě i dostatečná oprávnění k provádění exportu dat do formátu SYLK.

Výjimkou je subsystém RRP, kde vzhledem ke speciální povaze některých formulářů není možné zajistit korektní funkčnost exportu dat do formátu SYLK. Případné zpřístupnění této funkce v subsystému RRP je ponecháno na rozhodnutí administrátora.


Příklad

Při níže uvedeném schématu může uživatel U exportovat do SYLK ve formulářích F2 a F4. Na formulář F1 sice má plný přístup ve skupině G1, ale tato skupina neobsahuje formulář FMRSYLK, proto nebude možné exportovat do SYLK z formuláře F1.

Uživatel Skupina Formulář Přístup
U G1 F1 FULL_ACCESS
    F2 QUERY_ONLY
    F3 FULL_ACCESS
  G2 F1 QUERY_ONLY
    F2 FULL_ACCESS
    F4 FULL_ACCESS
    FMRSYLK  


Správa přístupu k datovému kombajnu

Pozor Pozor
Upozornění

Datový kombajn umožňuje zobrazit veškerá data v databázi, to znamená, že se zobrazí i data, která nejsou vidět ve formuláři. Z tohoto důvodu je zapotřebí přistup k datům volit velmi obezřetně.


Přístup k datovému kombajnu se administruje podobným způsobem jako přístup k exportu dat do formátu SYLK, tj. na úrovni skupin. Uživatel má ve formuláři odpovídající tlačítko v nástrojové liště aktivní, pokud jsou splněny obě následující podmínky:

  1. Uživatel má tento formulář dostupný prostřednictvím nejméně jedné uživatelské skupiny pro zápis.
  2. Nejméně jedna uživatelská skupina z předchozího bodu obsahuje formulář FMRHVST.

Pokud není některá z podmínek splněna, tlačítko nebude v daném formuláři aktivní a datový kombajn tedy nebude možné vyvolat.

Standardní skupiny (MENU_%), které obsahují celá menu jednotlivých subsystémů, mají přiřazen i formulář FMRHVST. Předpokládá se tedy, že pokud někdo má přístup k celému menu, má zřejmě i dostatečná oprávnění ke spouštění datového kombajnu.

Výjimkami jsou subsystémy HRM, kde ve standardní skupině MENU_HRM není formulář FMRHVST zařazen z bezpečnostních důvodů, a RRP, kde vzhledem ke speciální povaze některých formulářů není možné zajistit korektní funkčnost datového kombajnu. Případné zpřístupnění datového kombajnu v těchto subsystémech je ponecháno na rozhodnutí administrátora.


Příklad

Při níže uvedeném schématu může uživatel U volat datový kombajn ve formulářích F2 a F4. Na formulář F1 sice má plný přístup ve skupině G1, ale tato skupina neobsahuje formulář FMRHVST, proto nebude možné z formuláře F1 datový kombajn spustit.

Uživatel Skupina Formulář Přístup
U G1 F1 FULL_ACCESS
    F2 QUERY_ONLY
    F3 FULL_ACCESS
  G2 F1 QUERY_ONLY
    F2 FULL_ACCESS
    F4 FULL_ACCESS
    FMRHVST  


Systémová administrace

Výše popsané principy se týkají hlavně uživatelské administrace. V hlavním menu administrace se nachází také podmenu pro systémovou administraci. Funkce systémové administrace slouží k dávkovému promítnutí stavu aplikace do databáze podle informací v RRP. Typicky se používají při patchích a upgrade aplikace. Z hlediska administrátora iFIS* lze funkce systémové administrace rozdělit do 2 kategorií:

  1. BĚŽNÝ ADMINISTRÁTOR
    1. Přiřazení rolí uživatelům – vstupním parametrem je jméno uživatele. Funkce provede v databázi obnovu uživatele (rolí a vazeb mezi nimi) podle podmínek zadaných v uživatelské administraci. Pokud se nezadá jméno konkrétního uživatele, provede obnovu všech uživatelů. Při bezproblémovém založení uživatele v uživatelské administraci není tato funkce nutná.
    2. V případě používání databázových profilů :
      1. Založení profilu – podle zadaného parametru vytvoří v databázi ještě neexistující profily, které byly v RRP připraveny
      2. Přiřazení profilu uživatelům – přiřadí v databázi podle RRP profil uživatelům zadaným v parametru - provádí pouze při změně
      3. Přiřazení limitů profilu – aktualizuje v databázi limity profilům zadaným v parametru
    3. Uzamknutí účtu uživatelů – uzamkne účet uživatelům uvedeným v parametru
    4. Odemknutí účtu uživatelů – odemkne účet uživatelům uvedeným v parametru (lze použít v případě násilného uzamknutí účtu po překročení povolených pokusů o přihlášení s chybným heslem, viz Správa databázových profilů)
  2. SPRÁVCE ZÁKAZNICKÝCH ÚPRAV
    Stejné funkce jako přecházející kategorie plus následující :
    1. Vytvoření privátních synonym – při vzniku nového databázového objektu (nejprve v RRP a poté také v databázi příkazem „CREATE …“) uvedeném v parametru je třeba vytvořit privátní synonymum pro reprezentanta odpovídající ekonomické jednotky
    2. Přiřazení grantů roli – databázové roli uvedené v parametru přidělí nově zadaná práva v RRP
    3. Rekompilace invalidních objektů uživatele – v případě upgrade aplikace nebo databázového systému se musí zpravidla rekompilovat některé databázové objekty. Vstupními parametry jsou uživatel - majitel databázových objektů a typ objektů (VIEW, PACKAGE apod.)

Ostatní funkce systémové administrace jsou určeny pro akce spojené s instalací oprav (patchů) nebo nových verzí.


Závěr

Příručka pro administraci nebyla koncipována jako vyčerpávající popis dané problematiky, ale jako průvodce nejpodstatnějšími částmi. Části databázové jsou popisovány více v příručkách a nápovědě daného databázového systému a části týkající se operačních systémů jsou rovněž popsány jinde. K úvodu do uživatelské administrace je zaměřeno vstupní zaškolení správců aplikace, které se provádí při instalaci systému zákazníka, a zahrnuje i školení oblasti databázové.