Přeskočit na hlavní obsah

ABAP reporting - navigační profily

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
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
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