SAP ONE Support Launchpad

Jsem rád, že jsem se konečně dozvěděl, jak by měl SAP ONE Support Launchpad fungovat, kdyby to v SAPu dokázali dotáhnout až do konce. Teorie je sice pěkná, ale co ta realizace? Maličko nám pokulhává…



Související



Podělte se o tento článek s ostatními… Sdílet

SAP Fiori = pure evil?

Fiori Launchpad

Zpočátku jsem vkládal do technologie SAP Fiori nemalé naděje. Doufal jsem, že se díky ní SAPu podaří odbourat dnes již technicky zastaralá a uživatelsky nepřívětivá webdynpra. Na chvíli bych i málem uvěřil marketingovým řečičkám, které sebevědomě slibovaly, že Fiori aplikace umožní uživateli přistupovat k SAPu přes svižné responzivní webové GUI. Zkrátka, že se jedná o čerstvý svěží vítr, který zafoukal do plachet již notně trouchnivějícího škuneru jménem SAP.

Jaké však bylo moje zklamání, když jsem byl donucen pohlédnout kruté pravdě do očí. Tuším, že začátkem tohoto týdne se na Support portálu objevila zrůdnost s hrdým názvem SAP ONE Support Launchpad (info zde). Nejedná se o nic jiného, než o Fiori Launchpad, na který byly naroubovány původní webdynpro aplikace pro prohledávání note, procházení katalogu programů, registraci klíčů, atd. Nemám nic proti novotám (pokud jsou převážně změnou k lepšímu), ale implementace tohoto řešení tak, jak ho SAP dal k dispozici svým zákazníkům, je na dosti tristní úrovni.

Zaprvé je to všechno neuvěřitelně pomalé, a když říkám pomalé, tak myslím opravdu hóóódně moooc pooomalééé. To, co ještě před týdnem fungovalo díky webdynprům relativně svižně (pokud jste tedy překousli všudypřítomné zdvojené přihlašování), na to si dnes budete muset rezervovat podstatně více času a zejména pak trpělivosti. Běžně se mi stávalo, že launchpad zatuhl úplně a musel jsem dát refresh nebo tab raději rovnou zavřít. A aby vám SAP práci s launchpadem ještě více zošklivil, tak vás pokaždé přivítá pěkným pop-up oknem, které sice neříká nic moc zajímavého, ale zato několik vteřin nereaguje na kliknutí na tlačítko zavřít.

Vítá vás SAP ONE Support Launchpad
[kliněte na obrázek pro zobrazení v plné velikosti]

Nejdříve jsem se zkoušel proklikat katalogem softwaru, abych si stáhnul nový patchlevel pro SAP GUI. Fiori dělalo, co mohlo. Při přechodech mezi jednotlivými obrazovkami se dýchavičně animovalo, aby byl uživatelský zážitek co možná nejpůsobivější. Na rychlosti už tak velmi pomalé aplikace to však bohužel nijak nepřidá. Support Launchpad má také jednu velice zajímavou vlastnost – po nějaké době uživatelovy nečinnosti si řekne: „takhle teda ne, nebudu se tu předvádět zbytečně“ a obrazovka se překryje neproniknutelnou bílou mlhu. Potom už můžete klikat jen pro srandu králíkům, rozdělaná práce je v tahu. Abych jen nehanil, kýžený software se mi nakonec asi napodruhé podařilo stáhnout.

Potom jsem si chtěl zaregistrovat klíč pro modifikaci standardního objektu (SSCR keys). Nebudu zbytečně napínat, přes velké tlačítko s klíčem na úvodní obrazovce portálu cesta bohužel nevede. Odtud se vám spustí launchpad pouze za účelem přidání licenčních klíčů SAP instalací. Po nějaké půlhodině klikání tam a onde mě kolega konečně navedl na správnou cestu (předem lituji všechny zbloudilé SAP vývojáře). A zde nám SAP názorně ukazuje, jak mistrně se dá skloubit stará technologie s novou. Dámy a pánové, představujeme vám FioriDynpro! Bravo!!!

Kočkopes FioriDynpro
[kliněte na obrázek pro zobrazení v plné velikosti]

Já už k tomu víc nemám, snad jen závěrečné přání: SAP ENJOY!

Související



Podělte se o tento článek s ostatními… Sdílet

Docházka & poznámky

Program Docházka & poznámky je napsán v jazyku ABAP (Advanced Business Application Programming) a pro jeho běh je potřeba systém SAP R/3.

Úvodní obrazovka Úvodní obrazovka (volby)
Úvodní obrazovka (akce) Výpis docházky
Editace záznamu Docházka - HTML zobrazení
Výpis poznámek Fulltextové vyhledávání
Editace poznámky Poznámky
Docházkový strom Zobrazení svátků

Program primárně slouží k evidenci docházky zaměstnanců. Příchod/odchod je možné zadat buď přímo na úvodní obrazovce (Další akce... Vložit záznam), nebo ve výpisu docházky. Vedle toho je možné transakci používat jako diář s fulltextovým vyhledáváním poznámek.


Podělte se o tento článek s ostatními… Sdílet

Export SAP IDoců do XML

Původně jsem zamýšlel naprogramovat jednoduchý nástroj, který vyexportuje požadované IDocy jako XML soubory, ale nakonec jsem program pojal trochu velkoryseji. Tedy řekněme jako jakýsi prohlížeč IDoců (čili obdoba standardní transakce WE02, respektive WE05), ale s tím rozdílem, že IDocy zobrazí jako XML roztříděné do složek podle druhů zpráv. Samotná transformace IDocu do XML je v SAPu velmi snadná. O vše se postará třída cl_idoc_xml1:

DATA: ref_idoc_xml TYPE REF TO cl_idoc_xml1,
      l_string TYPE string.

CREATE OBJECT ref_idoc_xml
  EXPORTING
    docnum = ps_idocs-docnum
  EXCEPTIONS
    OTHERS = 1.
    
CALL METHOD ref_idoc_xml->get_xmldata_as_string
  IMPORTING
    data_string = l_string.    

Tip: Prohlédněte si kompletní zdrojový kód Nové okno.

Vybírat IDocy lze podle všech běžných kritérií a dále je možné zvolit, zda budou zobrazeny v prohlížeči nebou budou vyexportovány jako XML soubory do požadované složky.

Export SAP IDoců do XML
Výběrová obrazovka (klikněte pro zobrazení v plné velikosti)

A takto již vypadá samotný prohlížeč. Ve stromu je vedle čísla IDocu uveden i jeho status a přiznak, zda se jedná o zprávu příchozí (I = Inbound) či odchozí (O = Outbound). Listovat mezi jednotlivými IDocy lze klávesami F5 (předchozí) a F6 (další). Nespornou výhodou oproti transakci WE02 je to, že lze obsah IDocu jednoduše prohledat (Ctrl+F).

Prohlížeč IDoců v XML formátu
Hlavní obrazovka (klikněte pro zobrazení v plné velikosti)


Související



Podělte se o tento článek s ostatními… Sdílet

Export velkých tabulek ze SAPu

Tímto příspěvkem bych chtěl volně navázat na předchozí článek o exportu zdrojových kódu ze SAPu. Při exportu velkého objemu dat (typicky se jedná o tabulky BSEG, MSEG, atd.) z transakce SE16 (nebo SE16N) můžete snadno narazit na paměťové limity vašeho systému. Můj program to řeší načtením tabulky pomocí tzv. databázového kuzoru:

OPEN CURSOR WITH HOLD l_db_cursor FOR SELECT * FROM (p_table)
UP TO l_mrows ROWS
BYPASSING BUFFER. 

DB kurzor pracuje zjednodušeně řečeno tak, že ukáže na množinu dat v databázi, kterou chceme načíst, a tu potom vrací v blocích požadované velikosti (konkrétně v mém programu omezených na velikost 1 GB).

FETCH NEXT CURSOR l_db_cursor
INTO CORRESPONDING FIELDS OF TABLE <xtab>
PACKAGE SIZE l_package_size.

Užitečnou volbou může být export pouze vybraných polí (sloupců) tabulky. Toho dosáhnete tak, že si založíte pomocnou Z-strukturu v transakci SE11 (Data Dictionary) jako podmnožinu polí zdrojové databázové tabulky a její název zadáte na výběrové obrazovce programu.

Export velkých tabulek ze SAPu
Výběrová obrazovka (klikněte pro zobrazení v plné velikosti)

Zbývá ještě dodat, že program exportuje výstup ve formě CSV souboru (respektive souborů) až do velikosti 1 GB. Oddělovač sloupců však můžete jednoduše jednoduše zaměnit například za tabulátor:

* CONSTANTS: c_separator TYPE c VALUE ';'.
CONSTANTS: c_separator TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.

Poznámka na závěr: Ve zdrojovém kódu je volán funkční modul Z_CONVERT_TO_TEXT, který slouží k transformaci interní tabulky s danou strukturou do tabulky s řádky typu CHAR. Jedná se o kopii standardního funkčního modulu SAP_CONVERT_TO_TEX_FORMAT, který je jen mírně upraven - přidává datové typy I a s, které původní funkce opomíjí:

CASE l_type.
  WHEN ...
  WHEN 'I' OR 's'.
    l_date_extern = <f_source>.
    ASSIGN l_date_extern TO <f_source>.
  WHEN OTHERS.
ENDCASE.


Související



Podělte se o tento článek s ostatními… Sdílet

Hromadný export programů ze SAPu #2

Náhodou mi přišel pod ruku můj staronový program na hromadný export programů ze SAPu, o kterém jsem tu již kdysi dávno psal. Maličko jsem ho vylepšil a rozhodl jsem se dát jeho inovovanou verzi opět volně k dispozici. Co se týče těch vylepšení: jedná se například o možnost exportovat zdrojáky pouze z vybraných paketů (package nebo development class, říkejte tomu, jak chcete). Zdrojové kódy funkčních modulů se hezky zaškatulkují pod jednotlivé složky, které odpovídajích názvům jejich funkčních skupin. Je tu také možnost přidat před název programu prefix v podobě data založení programu (to aby šly soubory snadno sortovat).

Hromadný export programů ze SAPu
Výběrová obrazovka (klikněte pro zobrazení v plné velikosti)

Škoda je jen jedné věci a sice nesmyslného historického omezení u příkazu READ REPORT, který vám nedovolí načíst programy, které mají třeba jen jednu jedinou řádku svého zdrojového kódu přesahující délku 72 znaků. V takovém případě příkaz generuje výjimku CX_SY_READ_SRC_LINE_TOO_LONG.

Odstavec výše beru zpět. Dřívější omezení 72 znaků na řádek, jak mě jeden pozorný čtenář upozornil, již bylo v novějších verzích SAPu naštěstí odstraněno. Výjimku příkaz READ REPORT dává jen tehdy, pokud je vstupní tabulka pro načtení reportu co do délky řádku příliš krátká. Náprava je tedy velmi jednoduchá:

TYPES: BEGIN OF gty_rep,
         line(255),  "line(72),
       END OF gty_rep,
       gty_rep_tab TYPE TABLE OF gty_rep.


Související



Podělte se o tento článek s ostatními… Sdílet

ABAP syntax highlighting for Sublime Text

ABAP syntax highlighting for Sublime Text

I have created a Sublime Text plugin which is intended for all the SAP/ABAP programmers who would like to use an external editor. Sublime Text is a very powerful programming text editor and therefore it is definitely a good choice even for ABAP developers. Since now Sublime Text supports ABAP syntax highlighting thanks to my plugin. If you are interested in, you can download ABAP-Sublime-Plugin from GitHub. I highly recommend to read the documentation first. Would you like to know something else or participate in the development? Contact me at jaros.pavel@gmail.com.

Do you like my ABAP plugin and find it useful? Feel free to contribute me some money for its future development. I would be very happy for that. Thanks!



Podělte se o tento článek s ostatními… Sdílet

Jak se střelit do nohy v různých programovacích jazycích

Včera jsem na internetu objevil vtipné srovnání různých programovací jazyků založené na metafoře o „střílení sebe sama do nohy“. Přijde mi to celkem výstižné, aspoň tedy u těch jazyků, do kterých trochu vidím. O ostatních si dokážu udělat celkem slušný obrázek . Anglický originál je samozřejmě výstižnější, ale ti, kteří angličtinou příliš nevládnou, snad ocení můj volný překlad:

C Střelíš se do nohy.
C++ Náhodně vytvoříš tucet klonů sebe sama a všechny je střelíš do nohy. Poskytnutí lékařského ošetření není možné, dokud nezjistíš, kdo jsou bitové kopie a kdo jsou ukazatele na ně a neřekneš: „Támhleten jsem já.“
JAVA Potom, co naimportuješ knihovnu java.awt.right.foot.* a java.awt.gun.right.hand.* a naprogramuješ potřebné třídy a jejich metody, zapomeneš na to, co si sakra chtěl udělat.
Ruby Tvoje noha je připravena k odstřelu zhruba za pět minut, ale zrovna nemůžeš najít žádné místo, kam se střelit.
PHP Střelíš se do nohy pistolí, která je vyrobena ze součástek z tří set jiných pistolí.
ASP.NET Najdeš pistoli, rozpadne se na kousky. Dáš ji dohromady a znovu se rozpadne. Zkusíš použít .GUN Framework, ten se také rozpadne. Místo toho se píchneš do nohy.
SQL SELECT @ammo:=bullet FROM gun WHERE trigger = ‘PULLED’; INSERT INTO leg (foot) VALUES (@ammo);
Perl Střelíš se do nohy, ale nikdo nedokáže pochopit, jak jsi to udělal. Po šesti měsících už ani ty ne.
Javascript Jsi dokonalý, robustní a disponuješ bohatým uživatelským komfortem co se týče střelby do nohy. Bohužel zjistíš, že tvoje pistole má vypnutou střelbu.
CSS Pistoli držíš v jedné ruce a střelíš se do pravé nohy, potom přendáš pistoli do druhé ruky, aby ses střelil do levé nohy, ale uvědomíš si, že se pistole mezi tím proměnila v banán.
FORTRAN Střelíš se do každého prstu na noze, iterativně, dokud ti nedojdou prsty, potom pokračuješ další nohou. Když ti dojdou kulky, i přesto pokračuješ, protože nemáš možnost jak ošetřit výjimku.
Modula2 Jakmile si uvědomíš, že se v tomto jazyku v podstatě nedá nic naprogramovat, střelíš se pistolí do hlavy.
COBOL Použij REVOLVER COLT 45, NAMIŘ pistoli na NOHA.CHODIDLO, POTOM umísti PAŽE.RUKA.PRST na REVOLVER.SPOUŠŤ a STISKNI. POTOM vrať REVOLVER do POUZDRO. ZKONTROLUJ zda se nerozvázala tkanička u boty.
Lua Střelíš se do nohy. Potom se střelíš ještě jednou, protože poprvé si se sřelil tak rychle, že sis myslel, že si minul.
LISP Střelíš se do končetiny, ve které držíš zbraň, kterou se střelíš do končetiny, ve které držíš zbraň, kterou se střelíš do končetiny, ve které držíš zbraň, kterou se střelíš do končetiny, ve které držíš zbraň, kterou se střelíš do končetiny, ve které držíš…
BASIC Střelíš se do nohy pistolkou na vodu. Na velkých systémech pokračuješ, dokud nejsi po pás ve vodě.
FORTH Nohu v sobě střelíš.
APL Střelíš se do nohy a potom strávíš celý den zkoumáním toho, jak to napsat na méně znaků.
Pascal Kompilátor ti nedovolí střelit se do nohy.
SNOBOL Pokud se trefíš, střelíš se do levé nohy.
Pokud se netrefíš, střelíš se do pravé nohy.
Concurrent Euclid Střelíš se do cizí nohy.
HyperTalk Vlož první kulku z pistole do chodidla tvojí nohy.
Vrať výsledek.
Motif Strávíš den tvorbou UIL popisu tvé nohy, trajektorie, kulky a propracovaného ornamentu na slonovinou vykládané rukojeti pistole. Když se konečně dostaneš ke zmáčknutí kohoutku, pistole se zasekne.
Unix % ls
foot.c foot.h foot.o toe.c toe.o
% rm * .o
rm: .o: Neexistující soubor nebo adresář
% ls
%
Paradox Nejenom ty, ale i uživatelé se mohou střelit do nohy.
Revelation Budeš se moci střelit do nohy, jakmile zjistíš k čemu slouží náboje.
Visual Basic Střelíš se do nohy, ale užiješ si při tom tolik zábavy, že ti to vůbec nevadí.
Prolog Řekneš svému programu, že chceš, aby tě střelil do nohy. Program zjistí jak to udělat, ale syntaxe mu neumožní to zapsat.
Assembly Zkusíš-li se střelit do nohy, zjistíš že musíš nejdřív znovu vynalézt pistoli, kulku a svou nohu. Jakmile s tím jsi hotov, zmáčkneš kohoutek, pistole několikrát zapípá a potom selže.
370 JCL Pošleš svou nohu do IBM společně se 4000 stránkovým manuálem popisujícím, jak má být noha postřelena. O tří roky později se ti noha vrátí dozlatova propečená.
Python Snažíš se střelit do nohy, ale pořád trefuješ jen prázdné místo mezi dvěma prsty.
SAP ABAP/4
© Paulo
Projdeš všechny indické blogy a fóra, abys zjistil, jak se střelit do nohy. Stáhneš si manuál NOHA209_Col32.pdf, abys našel nejcitlivější místo. Projdeš si dokumentaci k pistoli v němčině. Střelíš se do nohy – jen abys zjistil, že SAP už tě střelil do nohy v roce 1998.

Související



Podělte se o tento článek s ostatními… Sdílet

< Novější 1 2 3 4 Starší >

© Pavel Jaroš [Sektor PJ] · Nahoru Nahoru