cl_gui_docking_container

REPORT zrun_time_analysis               .
TABLESsscrfields.
DATAitab_code    TYPE STANDARD TABLE OF char72.
DATAv_line    TYPE i.
DATAs_message TYPE trmsg.
DATAv_word    TYPE char72.
DATAv_report TYPE syrepid VALUE 'Z_TEST_REPORT_11'.
DATAv_time1   TYPE i.
DATAv_time2   TYPE i.
DATAv_repid   TYPE syrepid.
DATAx_docking TYPE REF TO cl_gui_docking_container,
      x_editor TYPE REF TO cl_gui_textedit.
PARAMETERS:p_report(72DEFAULT 'REPORT z_test_report_11.'.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(60v_text.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(80v_text1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN FUNCTION KEY 1.
INITIALIZATION.
v_repid sy-repid.
v_text 'Report Z_TEST_REPORT_11 will be generated'.
v_text1 'This is a small utility program to get the run time for the given code.'.
sscrfields-functxt_01 'Check syntax'.

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
    IF screen-name 'REPORT'.
      screen-input 0.
      MODIFY SCREEN.
    ENDIF.
ENDLOOP.
IF x_docking IS INITIAL .
    CREATE OBJECT x_docking
    EXPORTING
        repid v_repid
        dynnr sy-dynnr
        side cl_gui_docking_container=>dock_at_bottom
        extension '235'
    EXCEPTIONS
        cntl_error                  1
        cntl_system_error           2
        create_error                3
        lifetime_error              4
        lifetime_dynpro_dynpro_link 5.
ENDIF .
IF x_editor IS INITIAL.
    CREATE OBJECT x_editor
      EXPORTING
          parent            x_docking
          wordwrap_mode cl_gui_textedit=>wordwrap_at_fixed_position
          wordwrap_position 72
          max_number_chars 100000.
ENDIF .
AT SELECTION-SCREEN.
CHECK sy-ucomm 'FC01'.
PERFORM code_and_syntax_check.
START-OF-SELECTION.
PERFORM code_and_syntax_check.
INSERT REPORT 'Z_TEST_REPORT_11' FROM itab_code.
IF sy-subrc <> 0.
    MESSAGE i398(00WITH 'Errors in generating'.
    LEAVE LIST-PROCESSING.
ENDIF.
GENERATE REPORT 'Z_TEST_REPORT_11'.
IF sy-subrc <> 0.
    MESSAGE i398(00WITH 'Errors in generating'.
    LEAVE LIST-PROCESSING.
ELSE.
    MESSAGE s398(00WITH 'Code generated successfully'.
ENDIF.
GET RUN TIME FIELD v_time1.
SUBMIT (v_reportAND RETURN.
GET RUN TIME FIELD v_time2.
v_time2 v_time2 v_time1.
WRITE'Run time in micro seconds = 'v_time2.
*&---------------------------------------------------------------------*
*&      Form code_and_syntax_check
*&---------------------------------------------------------------------*
FORM code_and_syntax_check.
REFRESHitab_code.
CALL METHOD x_editor->get_text_as_r3table
    IMPORTING
      table                  itab_code
    EXCEPTIONS
      error_dp               1
      error_cntl_call_method 2
      error_dp_create        3
      potential_data_loss    4
      OTHERS                 5.
IF sy-subrc <> 0.
    MESSAGE i398(00WITH 'Error in getting the code'.
    LEAVE PROGRAM.
ENDIF.
INSERT p_report INTO itab_code INDEX 1.
SYNTAX-CHECK FOR itab_code MESSAGE s_message LINE v_line WORD v_word.
IF sy-subrc <> 0.
    MESSAGE i398(00WITH s_message-msgtext 'Line' v_line.
    LEAVE LIST-PROCESSING.
ELSE.
    MESSAGE s398(00WITH 'No syntax errors'.
ENDIF.
ENDFORM.                    " code_and_syntax_check
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值