UI component html code 查看工具

127 阅读1分钟

Created by Jerry Wang, last modified on May 27, 2014

执行这个report可以自动打开指定UI component html view的editor界面:
clipboard1
执行结果如下:
clipboard2

source code 如下:

REPORT zbsp_code_view.
PARAMETERS: page TYPE o2pagdir-applname OBLIGATORY DEFAULT 'SMCOV',
            view TYPE o2pagdir-pagekey OBLIGATORY DEFAULT 'POSTDETAIL.HTM'.
CALL FUNCTION 'ZCALL_EDITOR'
  EXPORTING
    component = page
    view      = view.
FUNCTION ZCALL_EDITOR.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(COMPONENT) TYPE  O2PAGDIR-APPLNAME
*"     REFERENCE(VIEW) TYPE  O2PAGDIR-PAGEKEY
*"     REFERENCE(STARTLINE) TYPE  INT4 DEFAULT 1
*"----------------------------------------------------------------------

com_value = component.
view_value = view.
gv_startline = startline.
CALL SCREEN 0101.
ENDFUNCTION.

FUNCTION-POOL zbspeditor.                   "MESSAGE-ID ..

* INCLUDE LZBSPEDITORD...                    " Local class definition

DATA: go_page_container TYPE REF TO cl_gui_custom_container,
      go_editor         TYPE REF TO cl_gui_abapedit,
      gv_startline      TYPE int4,
      com_value         TYPE o2pagdir-applname,
      view_value        TYPE o2pagdir-pagekey.
*----------------------------------------------------------------------*
***INCLUDE LZBSPEDITORO01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  STATUS_0101  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0101 OUTPUT.

  DATA: ls_source      TYPE o2pageline_table,
        ls_pagecon_key TYPE o2pconkey.

  CHECK go_page_container IS INITIAL.

  CREATE OBJECT go_page_container
    EXPORTING
      container_name = 'EDITOR'.

  CREATE OBJECT go_editor
    EXPORTING
      parent           = go_page_container
      max_number_chars = '255'.

  go_editor->set_source_type( type   = 'BSP' ).

  go_editor->set_tabbar_mode( tabbar_mode = cl_gui_abapedit=>false ).
  go_editor->set_statusbar_mode( statusbar_mode = cl_gui_abapedit=>true ).

  go_editor->create_document( ).

  ls_pagecon_key-applname = com_value.
  ls_pagecon_key-pagekey = view_value.
  ls_pagecon_key-objtype = 'PD'.
  ls_pagecon_key-version = 'A'.
  IMPORT content    TO ls_source
       FROM DATABASE o2pagcon(tr) ID ls_pagecon_key
       ACCEPTING PADDING IGNORING CONVERSION ERRORS.

  go_editor->set_text( table = ls_source  ).

  go_editor->set_first_visible_line( line = 0 ).

  go_editor->set_selection_pos_in_line( line  = gv_startline pos = 0 ).

  go_editor->set_readonly_mode( readonly_mode = 1 ).

  SET PF-STATUS 'ZO2_PAGE'.
ENDMODULE.
*----------------------------------------------------------------------*
***INCLUDE LZBSPEDITORI01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0101  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0101 INPUT.

  CASE sy-ucomm.
     WHEN 'BACK' OR 'STOP' OR 'QUIT'.
        leave to screen 0.
  ENDCASE.

ENDMODULE.

clipboard3
clipboard4

Added by Jerry 2017-09-30 8:47PM

How to add an custom UI component into a new work center