Hi and welcome to my next SAP Community blog post.

This time I come to you with an easy to implement enhancement, which will forever change your lives as ABAP developers. 😉

How many times have you struggled with the ToCs cluttering your list of transports in the Versions Management view? Now there is a solution to that issue. After implementing the steps shown below you will be able to filter out all ToCs and enjoy clean list of transports. Enjoy!

Implementation

  1. Enhance class CL_VERS_OBJTYPE_UI_ALV
    1. Add private attribute MV_HIDE_TOC with type FLAG and default value of ABAP_FALSE.
      MV_HIDE_TOC%20attribute

      MV_HIDE_TOC attribute

    2. Add public method TOGGLE_HIDE_TOC.
      TOGGLE_HIDE_TOC%20method

      TOGGLE_HIDE_TOC method

    3. Implement the method with code shown below.
      METHOD toggle_hide_toc.
        IF mv_hide_toc = abap_true.
          mv_hide_toc = abap_false.
        ELSE.
          mv_hide_toc = abap_true.
        ENDIF.
      ENDMETHOD.
    4. Add “Post-Exit” to standard method OBJ_VERSION_INFO and implement it as shown below.Post-Exit%20for%20OBJ_VERSION_INFO%20method

      Post-Exit for OBJ_VERSION_INFO method

      METHOD ipo_yx_eo_vers_objtype_ui_alv~obj_version_info.
      *"------------------------------------------------------------------------*
      *" Declaration of POST-method, do not insert any comments here please!
      *"
      *"methods OBJ_VERSION_INFO
      *" importing
      *" !IV_RFCDEST type RFCDEST
      *" changing
      *" !ET_VERS type VRSD_TAB
      *" raising
      *" CX_VERS_UI_EXCEPTION .
      *"------------------------------------------------------------------------*
      
        CONSTANTS:
          lc_transport_number_local TYPE verskorrno VALUE 'LOCAL',
          lc_transport_type_toc     TYPE trfunction VALUE 'T'.
      
        DATA:
          lv_tabix LIKE sy-tabix,
          ld_version TYPE REF TO vrsd,
          lt_trkorr TYPE SORTED TABLE OF trkorr WITH UNIQUE KEY table_line.
      
        CHECK core_object->mv_hide_toc = abap_true
          AND et_vers[] IS NOT INITIAL.
      
        SELECT trkorr
          INTO TABLE lt_trkorr
          FROM e070
          FOR ALL ENTRIES IN et_vers
          WHERE trkorr = et_vers-korrnum
            AND trfunction <> lc_transport_type_toc.
      
        LOOP AT et_vers REFERENCE INTO ld_version
          WHERE korrnum IS NOT INITIAL
            AND korrnum <> lc_transport_number_local.
      
          lv_tabix = sy-tabix.
      
          READ TABLE lt_trkorr TRANSPORTING NO FIELDS
            WITH TABLE KEY table_line = ld_version->korrnum.
          CHECK sy-subrc <> 0.
      
          DELETE et_vers INDEX lv_tabix.
        ENDLOOP.
      ENDMETHOD.
  2. Open report SAPLSVRS_UI.
    1. Go to screen 0101 and enter the USER_COMMAND_0101 module.
      At the end of the CASE statement (end of module) add modification as shown below.USER_COMMAND_0101%20module%20modification

      USER_COMMAND_0101 module modification

        WHEN 'TOC'.
          gr_vers_objtype_ui_alv->toggle_hide_toc( ).
    2. Go to GUI status “VER_STATUS” and enter edit mode. Add new function key “TOC” and populated its details.ToC%20function%20key

      TOC function key

    3. Add the newly added function key to the application toolbar. Activate first the function key (Function Code button in the toolbar) and then the GUI status.Application%20toolbar%20with%20TOC%20function%20key

      Application toolbar with TOC function key

Enjoy!

Now you can easily hide/show ToCs when needed. Hope this helps!

The%20result

Sara Sampaio

Sara Sampaio

Author Since: March 10, 2022

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x