• No results found

Novější technologie Smart forms oproti rozhraní SAPscript poskytují uživateli několik výhod. Úprava je u této technologie značně rychlejší. Předlohy formulářů, které ji využívají, lze upravovat bez znalosti programování díky GUI v rámci SAP transakce SMARTFORMS pro jejich úpravu. Také dovolují generovat výstup ve formě XML souboru, což umožňuje zasílání formulářů webovou cestou.

Pro tisk formuláře pomocí technologie Smart Forms uživatel potřebuje jednak program, který zajistí data pro tvořený výstup a předlohu formuláře, která obsahuje veškerá pravidla pro tvorbu formuláře a jeho obsah (tyto pravidla jsou nazývána logikou formuláře).

V případě, kdy je potřeba provést změny na daném formuláři, uživatel většinou upravuje pouze předlohu formuláře a nijak nezasahuje do programu pro sběr dat.

Obrázek 4: Transakce SMARTFORMS (výstřižek z IS SAP)

Výhodou oproti technologii SAPscript je možnost vkládat kromě textu a grafiky také čárové kódy či tabulky, ty lze také vytvářet a upravovat skrze grafické rozhraní přímo v IS SAP. Uživatel provádí návrh rozložení Smartformu skrze grafické rozhraní úpravy formuláře (graphical form painter – viditelný v pravé části obrázku 4) a grafické rozhraní úpravy tabulek (graphical table painter). V těchto rozhraních je struktura formuláře zobrazena jako hierarchie jednotlivých prvků, ty se nazývají uzly (nodes – v češtině jsou běžně označovány jako nody), jednotlivé uzly každý reprezentují jinou složku výsledného formuláře. Existují například uzly s globálním nastavením (obsahují zastřešující informace pro formátování formuláře, jako jsou například velikost papíru či pravidla pro formátování konečného výstupu, patří mezi ně i uzel s definicí rozhraní pro přenos dat do Smart formu, více informací o tomto rozhraní viz kapitola 3.3.1), textové uzly či uzly grafiky (SMARTFORM BASICS, 2009).

Pro úpravu jednotlivých uzlů není zapotřebí používat programování, výjimkou jsou uzly, které obsahují přímo kód v jazyce ABAP, ty ovšem není nutné v rámci Smart Forms využívat, ale je možné je přidat do předlohy formuláře pro různé účely. Pokud například tiskneme fakturu určenou zákazníkovy, který preferuje imperiální jednotky, zatímco data z IS jsou v metrických jednotkách, je možné je pomocí takového uzlu s "miniprogramem"

převést podle potřebného poměru.

Pro většinu prvků Smart forms je možné nadefinovat podmínky, za kterých je nebo není proveden jejich tisk, v praxi je toto využitelné například tiskneme-li doklady určené pro odběratele v určitých zemích, ve kterých jsou požadovány na základě právních úprav definované texty, které popisují například původ zboží. Do formuláře technologie Smart Forms tak vložíme na určené místo daný text a nastavíme, aby se tiskl pouze pokud je daná podmínka (adresát z určité země) splněna. Pro nadefinování těchto podmínek slouží uživatelské rozhraní v transakci pro úpravu šablony formuláře, pro definování podmínek pro tisk tak podobně jako pro úpravu většiny částí formuláře není u této technologie zapotřebí programovacích dovedností.

Pro úpravu Smart Forms se v systému SAP užívají dvě různé transakce, těmi jsou transakce SMARTFORMS pro úpravu rozložení a obsahu předlohy formuláře a SMARTSTYLES pro úpravu stylu prvků v jejím rámci (odsazení, písmo, způsob zobrazování čárových kódů…) (Smart Forms, 2013), transakci SMARTSTYLES můžeme vidět na obrázku 5.

Do jednotlivých Smart formů můžeme vkládat i tabulky, mohou být statické či dynamické, ty dynamické jsou specifické tím, že obsahují kód v jazyce ABAP, který může například řadit jejich obsah či podmínky pro zobrazení různých verzí textu v dané tabulce. Grafika, kterou je možné do smart formů také vkládat, může být zobrazena dvěma způsoby – jako část formuláře a také jako grafika na pozadí (vodoznak), grafika na pozadí může být při tisku nastavena uživatelem jako neviditelná podle potřeby za využití podmínek (SMARTFORM BASICS, 2009).

Obrázek 5: Transakce SMARTSTYLES (výstřižek z IS SAP)

Narozdíl od technologie SAPscript, která je celá realizována skrze kód v jazyce ABAP, se u Smart Forms nedoporučuje vkládat přímo do formuláře kód, který by získával později vytisknuté informace přímo z databáze, veškerá data by měla být předávána skrze parametry externím programem pro sběr dat. Při dodržení tohoto doporučení jsou Smart Forms výrazně jednodušeji převeditelné na novější technologii PDF Forms by Adobe (Smart Forms, 2013).

Architektura smart formu zahrnuje následující prvky (SMARTFORM BASICS, 2009):

• rozložení stránky formuláře

• jednotlivé prvky, které mohou být zobrazeny ve formuláři

• logiku formuláře, ta řídí zpracování formuláře a může obsahovat také podmínkovou techniku, která ovlivňuje, kdy se zobrazí a nezobrazí jednotlivé prvky

• rozhraní pro přenos získaných dat z databáze do samotného formuláře (vysvětleno podrobněji v následující kapitole)

3.3.1 Volání Smart Forms

Hlavní rozdíl odlišující Smart Forms od technologie SAPscript je ve volání formuláře a předání dat, to probíhá podobně, jako kdybychom v objektově orientovaném programování volali metodu. Program volá takzvaný funkční modul, kterému předává jako parametry jednotlivé hodnoty proměnných definovaných jako rozhraní daného formuláře (Smart Forms, 2013).

Funkční modul každého Smart Formu je vytvořen při jeho aktivaci (založení) na daném prostředí informačního systému SAP, není tak pravidlem, že by jeho název byl vždy stejný.

Při vytváření programu, který volá daný Smart Form, tak vývojář musí nejprve zjistit jméno jeho funkčního modulu a teprve pak jej zavolat a předat mu požadované parametry.

Při generování výsledného tiskového výstupu podle nastavené logiky formuláře se využívá rozhraní Smart Formu, to si můžeme představit jako soubor proměnných, které jsou předdefinované v rámci vytváření předlohy formuláře a kterým jsou při volání jeho funkčního modulu předány hodnoty.

Není pravidlem, že by při volání Smart Formu musely být naplněny všechny prvky rozhraní, což lze využít pro definice v rámci podmínkové techniky, kdy můžeme například určit, že pokud jedné dané proměnné zůstane počáteční hodnota, nebude se část formuláře, kterou tato proměnná ovlivňuje, vůbec tisknout (SMARTFORM BASICS, 2009). Samotný funkční modul tak můžeme přirovnat v případě volání Smart Formu ke konstruktoru z objektově orientovaného programování a prvky rozhraní k jeho parametrům.

Related documents