*======================================================================*
* 说明书编号 :
* 程序名称 :
* 程序描述 :
* 功能顾问 :
* 开发顾问 :
* 开始日期 :
* 完成日期 :
*======================================================================*
* 修改历史.
*----------------------------------------------------------------------*
*
*序号. 修改人 日期 描述
*--- ----------- ---- -----------
*
*
*======================================================================*
* Tables used in the program
*======================================================================*
*======================================================================*
* Type declarations in the program
*======================================================================*
TYPE-POOLS slis.
*======================================================================*
* Internal Tables used in the program
*======================================================================*
*======================================================================*
* Data declarations in the program
*======================================================================*
DATA: gs_layout TYPE lvc_s_layo,
gt_fieldcat TYPE lvc_t_fcat.
DATA:gc_grid TYPE REF TO cl_gui_alv_grid.
DATA:gt_xxx TYPE TABLE OF mara.
*======================================================================*
* CONSTANTS
*======================================================================*
*======================================================================*
* Input Selection Screen
*======================================================================*
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-tt1.
SELECTION-SCREEN END OF BLOCK blk1.
*======================================================================*
* Initialization
*======================================================================*
INITIALIZATION.
*======================================================================*
* At Selection Screen
*======================================================================*
AT SELECTION-SCREEN.
IF sy-ucomm = 'ONLI'.
PERFORM frm_auth_check.
ENDIF.
*======================================================================*
* AT SELECTION-SCREEN OUTPUT
*======================================================================*
AT SELECTION-SCREEN OUTPUT .
PERFORM frm_modify_screen.
*======================================================================*
* AT SELECTION-SCREEN ON VALUE-REQUEST
*======================================================================*
*======================================================================*
* Start of Selection
*======================================================================*
START-OF-SELECTION.
PERFORM frm_process_data.
*======================================================================*
* End of Selection
*======================================================================*
END-OF-SELECTION.
PERFORM frm_set_layout.
PERFORM frm_set_fieldcat
PERFORM frm_display_alv.
FORM frm_process_data.
ENDFORM.
FORM frm_set_layout.
* gs_layout-cwidth_opt = 'X'.
gs_layout-zebra = 'X'.
* gs_layout-sel_mode = 'A'.
* gs_layout-box_fname = 'SELEC'.
ENDFORM.
FORM frm_set_fieldcat .
PERFORM frm_cre_fieldcat USING 'LIFNR' '供应商' space space space space space space space space 18.
ENDFORM.
FORM frm_cre_fieldcat USING VALUE(pv_field) TYPE lvc_fname
VALUE(pv_scrtext) TYPE scrtext_l
VALUE(pv_reffname) TYPE lvc_fname
VALUE(pv_reftname) TYPE lvc_rtname
VALUE(pv_key) TYPE lvc_key
VALUE(pv_edit) TYPE lvc_edit
VALUE(pv_hotspt) TYPE lvc_hotspt
VALUE(pv_nozero) TYPE lvc_nozero
VALUE(pv_datatype) TYPE datatype_d
VALUE(pv_ref_fild) TYPE lvc_cfname
VALUE(pv_outlen) TYPE lvc_outlen.
DATA ls_fcat TYPE lvc_s_fcat.
ls_fcat-fieldname = pv_field.
ls_fcat-scrtext_l = pv_scrtext.
ls_fcat-ref_field = pv_reffname.
ls_fcat-ref_table = pv_reftname.
ls_fcat-key = pv_key.
ls_fcat-edit = pv_edit.
ls_fcat-hotspot = pv_hotspt.
ls_fcat-no_zero = pv_nozero.
ls_fcat-datatype = pv_datatype.
IF pv_datatype = 'CURR'.
ls_fcat-cfieldname = pv_ref_fild.
ELSEIF pv_datatype = 'QUAN'.
ls_fcat-qfieldname = pv_ref_fild.
ENDIF.
ls_fcat-outputlen = pv_outlen.
APPEND ls_fcat TO gt_fieldcat.
ENDFORM.
FORM frm_display_alv .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
* i_callback_pf_status_set = 'PF_STATUS_SET'
i_callback_user_command = 'FRM_USER_COMMAND'
is_layout_lvc = gs_layout
it_fieldcat_lvc = gt_fieldcat
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = gt_xxx
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
FORM pf_status_set USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZXXXXX'.
ENDFORM. "PF_STATUS_SET
FORM frm_user_command USING i_ucomm LIKE sy-ucomm
ls_selfield TYPE slis_selfield.
DATA:ls_stable TYPE lvc_s_stbl.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = gc_grid.
CALL METHOD gc_grid->check_changed_data.
ls_stable-col = 'X'.
ls_selfield-refresh = 'X'.
ls_selfield-col_stable = 'X'.
ls_selfield-row_stable = 'X'.
CASE i_ucomm.
WHEN '&IC1'."双击
ENDCASE.
CALL METHOD gc_grid->refresh_table_display.
ENDFORM.
FORM frm_auth_check .
ENDFORM.
FORM frm_modify_screen .
ENDFORM.
SAP ABAP常规报表开发模板
最新推荐文章于 2024-08-08 09:07:02 发布