Created by Jerry Wang, last modified on May 27, 2014
执行这个report可以自动打开指定UI component html view的editor界面:
执行结果如下:
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.