接口报表日志记录查询
TABLES: rkpf.
DATA szfssc_log TYPE zfssc_log.
DATA gt_log TYPE STANDARD TABLE OF zfssc_log.
DATA:gs_layo TYPE lvc_s_layo.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: s_zywlx FOR szfssc_log-zywlx DEFAULT '1'.
SELECT-OPTIONS: s_vbeln FOR szfssc_log-vbeln .
SELECT-OPTIONS: s_zdate FOR szfssc_log-zdate DEFAULT sy-datum.
SELECT-OPTIONS: s_zsces FOR szfssc_log-zsces .
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
PERFORM frm_get_data.
IF gt_log[] IS INITIAL.
MESSAGE '没有符合条件的日志' TYPE 'S' DISPLAY LIKE 'E'.
RETURN.
ENDIF.
END-OF-SELECTION.
PERFORM frm_set_layo.
PERFORM frm_display_alv.
*&---------------------------------------------------------------------*
*& 包含 ZFSSC_LOG_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_get_data .
SELECT * INTO TABLE @gt_log
FROM zfssc_log
WHERE zywlx IN @s_zywlx
AND vbeln IN @s_vbeln
AND zdate IN @s_zdate
AND zsces IN @s_zsces.
IF sy-subrc = 0.
SORT gt_log BY zdate DESCENDING ztime DESCENDING zywlx vbeln.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_SET_LAYO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_set_layo .
CLEAR gs_layo.
gs_layo-zebra = abap_true.
gs_layo-sel_mode = 'A'.
gs_layo-cwidth_opt = abap_true.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_DISPLAY_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_display_alv .
DATA:lt_dfies_tab TYPE STANDARD TABLE OF dfies.
CALL FUNCTION 'DDIF_FIELDINFO_GET'
EXPORTING
tabname = 'ZFSSC_LOG'
TABLES
dfies_tab = lt_dfies_tab.
DATA(gt_fcat) = VALUE lvc_t_fcat( FOR ls_dfies_tab IN lt_dfies_tab ( VALUE #( BASE CORRESPONDING #( ls_dfies_tab MAPPING coltext = fieldtext ) no_out = COND #( WHEN ls_dfies_tab-fieldname = 'MANDT' THEN 'X' ) ) ) ).
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'FRM_STATUS'
i_callback_user_command = 'FRM_USER_COMMAND'
it_fieldcat_lvc = gt_fcat
i_bypassing_buffer = abap_true
i_default = abap_true
is_layout_lvc = gs_layo
TABLES
t_outtab = gt_log[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form set_pf_status
*&---------------------------------------------------------------------*
* 设置 alv 状态栏
*----------------------------------------------------------------------*
* -->RT_EXTAB 隐藏按钮
*----------------------------------------------------------------------*
FORM frm_status USING it_extab TYPE slis_t_extab.
SET PF-STATUS 'ST_1000'.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_USER_COMMAND
*&---------------------------------------------------------------------*
* 双击检验批
*----------------------------------------------------------------------*
* -->iv_ucomm 功能代码
* <--cs_selfield 事件信息
*----------------------------------------------------------------------*
FORM frm_user_command USING iv_ucomm LIKE sy-ucomm
CHANGING cs_selfield TYPE slis_selfield.
CASE iv_ucomm.
WHEN '&IC1'.
PERFORM frm_show_json USING cs_selfield..
WHEN 'BTN_REF'.
PERFORM frm_get_data.
WHEN 'BTN_DEL'.
PERFORM frm_del_data.
PERFORM frm_get_data.
ENDCASE.
cs_selfield-refresh = abap_true.
cs_selfield-col_stable = abap_true.
cs_selfield-row_stable = abap_true.
ENDFORM. "frm_user_command
*&---------------------------------------------------------------------*
*& Form FRM_SHOW_JSON
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_show_json USING is_selfield TYPE slis_selfield.
READ TABLE gt_log INTO DATA(ls_log) INDEX is_selfield-tabindex.
IF sy-subrc <> 0 OR ls_log-imstr IS INITIAL.
RETURN.
ENDIF.
IF is_selfield-fieldname = 'IMSTR'.
CALL TRANSFORMATION sjson2html SOURCE XML ls_log-imstr RESULT XML DATA(lv_html).
ELSEIF is_selfield-fieldname = 'EXSTR'.
CALL TRANSFORMATION sjson2html SOURCE XML ls_log-exstr RESULT XML lv_html.
ELSE.
RETURN.
ENDIF.
cl_demo_output=>display_html( cl_abap_codepage=>convert_from( lv_html ) ).
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_DEL_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_del_data .
DATA: lrf_grid TYPE REF TO cl_gui_alv_grid.
DATA: lt_tab TYPE STANDARD TABLE OF zfssc_log.
DATA: lv_ans TYPE char1.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lrf_grid.
CALL METHOD lrf_grid->get_selected_rows
IMPORTING
et_index_rows = DATA(lt_rows).
LOOP AT lt_rows INTO DATA(ls_rows).
READ TABLE gt_log INTO DATA(ls_log) INDEX ls_rows-index.
IF sy-subrc = 0.
APPEND ls_log TO lt_tab.
ENDIF.
ENDLOOP.
IF lt_tab[] IS INITIAL.
RETURN.
ENDIF.
CLEAR lv_ans.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = '删除LOG'
text_question = '确认删除?'
text_button_1 = '是'
text_button_2 = '否'
IMPORTING
answer = lv_ans
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0 OR lv_ans <> '1'.
RETURN.
ENDIF.
DELETE zfssc_log FROM TABLE lt_tab[].
IF sy-subrc = 0.
MESSAGE '已删除' TYPE 'I' DISPLAY LIKE 'S'.
ELSE.
MESSAGE '删除失败' TYPE 'I' DISPLAY LIKE 'W'.
ENDIF.
ENDFORM.
post SAP-Garson
原文链接:https://blog.csdn.net/qq_44304062/article/details/122697629文章来自于网络,如果侵犯了您的权益,请联系站长删除!