Pro témata spojená s vývoje ABAP reportingu jsme si připravili pozoruhodnou a poměrně užitečnou komponentu – tak hodnotíme standardní komponentu s názvem Navigační profil, tedy komponentu rozšiřující funkcionalitu ABAP reportů založených na ALV. Komponenta pracuje s ALV Grid (CL_GUI_ALV_GRID) a ALV Tree (CL_GUI_ALV_TREE). Její použití je triviální.
Dopředu lze říct, že integrace na SALV byla mimo scope této komponenty, avšak zrealizovat ji lze.
ABAP volání
Jednoduchý postup použití komponenty je takový, že v případě ALV Grid zakomponujeme v programu následující fragment ABAP kódu před voláním metody SET_TABLE_FOR_FIRST_DISPLAY( ).
DATA:
ls_profile_key TYPE navp_s_profile_key,
lr_navigation_profile TYPE REF TO if_navp,
ls_variant_proof TYPE disvariant.
ls_profile_key-report = sy-repid.
ls_profile_key-username = sy-uname.
ls_profile_key = cl_navp_db=>get_default( is_profile_key = ls_profile_key ).
ls_variant_proof-report = sy-repid.
* ls_variant_proof-username = sy-uname.
lr_navigation_profile = cl_navp_factory=>factory(
io_alv = m_document_selection-alv_grid
it_table = m_document_selection-data_table
is_profile_key = ls_variant_proof
iv_save_mode = if_navp=>save_all
* iv_default = if_navp=>default_manual
iv_disable_call_okcode = abap_true
iv_disable_call_class = abap_true
).
V ALV toolbaru se tím zpřístupní funkce pro práci s navigačními profily.
![]() |
Ukázka přístupné funkce změny navigačního profilu |
Navigace v reportingu
O jednotlivé funkce pro navigaci rozšiřujeme v roli uživatele buď ALV toolbar, anebo kontextové menu (po kliknutí pravým tlačítkem myši v ALV). Funkce vede buď na kód transakce, funkční kód, ABAP třídu (interface IF_NAVIGATION_PROFILE), nebo rozbalovací menu. V případě kódu transakce umí z aktivního řádku ALV automaticky převzít SPA/GPA parametry a použít je pro volání transakce. Po automatické převzení musíme vždy uhlídat volbu datových prvků, právě odtud navigační profil hledá název SPA/GPA parametru.
Dokumentace
O navigačních profilech pojednává SAP dokumentace pod částí Production Orders (PP-SFC) -> Order Information Systém.
https://help.sap.com/doc/saphelp_me60/6.0.4/en-US/dd/ffb753128eb44ce10000000a174cb4/content.htm
Zdokumentovány jsou zde i možnosti transportu nastavených navigačních profilů.
![]() |
Správa navigačního profilu podobná správě ALV variant |
Demo programy
Těchto 5 programů leží v paketu NAVIGATION_PROFILE, ilustrují volání CL_NAVP_FACTORY=>FACTORY( ) a další možnosti užití navigačních profilů.
- DEMO_GUI_ALV_GRID_EXT (Program DEMO_GUI_ALV_GRID_EXT)
- NAVP_DEMO_TABLE (Use Navigation Profiles in CL_GUI_ALV_GRID)
- NAVP_DEMO_TABLE_COMPLEX (Use Navigation Profiles in CL_GUI_ALV_GRID (Complex Example))
- NAVP_DEMO_TREE (Use Navigation Profiles in CL_GUI_ALV_TREE)
- NAVP_DEMO_TREE_COMPLEX (Use Navigation Profiles in CL_GUI_ALV_TREE (Complex Example))
Závěr
Agenda této komponenty byla postavena velmi podobně jako varianty ALV, podobnost je především ve stejné principu přenosu nastavení na další SAP systémy skrze transportní požadavek.
Komentáře
Okomentovat