SAP ABAP常规报表开发模板

*======================================================================*
*  说明书编号       :
*  程序名称         :
*  程序描述         :
*  功能顾问         :
*  开发顾问         :
*  开始日期         :
*  完成日期         :
*======================================================================*
*                     修改历史.
*----------------------------------------------------------------------*
*
*序号. 修改人         日期             描述
*--- -----------      ----             -----------
*
*

*======================================================================*
*                   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.

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值