赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 1791|回复: 10

[FICO] 一个ALV报表的框架程序

[复制链接]
发表于 2013-1-5 16:36:54 | 显示全部楼层 |阅读模式
REPORT  Z_ALV_FRAME_DEW.

TABLES : BKPF.
TYPE-POOLS: SLIS.

************************************************************************
*  data define to be show                                              *
*                                                                      *
************************************************************************
TYPES : BEGIN OF T_BKPF,
        BUKRS TYPE BKPF-BUKRS,"Company Code
        BELNR TYPE BKPF-BELNR,"Accounting Document Number
        GJAHR TYPE BKPF-GJAHR,"Fiscal Year
        BLART TYPE BKPF-BLART,"Document Type
        BLDAT TYPE BKPF-BLDAT,"Document Date in Document
        BUDAT TYPE BKPF-BUDAT,"Posting Date in the Document
        SEL TYPE C LENGTH 1,
       END OF T_BKPF.

DATA: GT_DATA TYPE STANDARD TABLE OF T_BKPF WITH HEADER LINE,
      GS_DATA TYPE T_BKPF.


************************************************************************
*   fieldcat and layout define                                         *
*                                                                      *
************************************************************************
DATA:  GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
       LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
       GS_LAYOUT TYPE SLIS_LAYOUT_ALV.


************************************************************************
*  macro define                                                        *
*                                                                      *
************************************************************************
DEFINE INITDATA_FIELDCAT.
  CLEAR LS_FIELDCAT.
  LS_FIELDCAT-COL_POS = &1.
  LS_FIELDCAT-FIELDNAME = &2.
  LS_FIELDCAT-SELTEXT_L = &3.
  APPEND LS_FIELDCAT TO GT_FIELDCAT.
END-OF-DEFINITION.

************************************************************************
*    selection-screen define                                           *
*                                                                      *
************************************************************************

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT_B1.
PARAMETERS P_BUKRS TYPE BKPF-BUKRS.
PARAMETERS P_BELNR TYPE BKPF-BELNR.
PARAMETERS P_GJAHR TYPE BKPF-GJAHR.
PARAMETERS P_BLART TYPE BKPF-BLART.
SELECT-OPTIONS BLDAT FOR BKPF-BLDAT.
SELECT-OPTIONS BUDAT FOR BKPF-BUDAT.
PARAMETERS P_STY1 RADIOBUTTON GROUP G_S.
PARAMETERS P_STY2 RADIOBUTTON GROUP G_S.
SELECTION-SCREEN : END OF BLOCK B1.

************************************************************************
*   event driven                                                       *
*                                                                      *
************************************************************************

INITIALIZATION.
TEXT_B1 = 'SCREEN ITEMS'.
P_GJAHR = '2012'.

AT SELECTION-SCREEN.

AT SELECTION-SCREEN OUTPUT.

START-OF-SELECTION.
PERFORM INIT_ALV_SET_DATA.
PERFORM GET_DATA_FORM.

END-OF-SELECTION.
PERFORM SHOW_DATA_FORM.

AT SELECTION-SCREEN ON BLOCK B1.                " ADD ON BLOCK EVENT.
" MESSAGE 'This is ADD ON BLOCK EVENT.' TYPE 'I'.[/free][hide]
AT SELECTION-SCREEN ON RADIOBUTTON GROUP G_S.   " ADD ON RADIOBUTTON GROUP EVENT
" MESSAGE 'This is ADD ON RADIOBUTTON GROUP EVENT.' TYPE 'I'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BUKRS. " ADD ON F4 EVNET
" MESSAGE 'This is ADD ON F4 EVNET.' TYPE 'I'.
AT SELECTION-SCREEN ON HELP-REQUEST FOR P_BELNR.  " ADD ON F1 EVENT
" MESSAGE 'This is ADD ON F1 EVENT.' TYPE 'I'.
AT SELECTION-SCREEN ON P_GJAHR.                   " ADD ON EVENT FOR FIELD
" MESSAGE 'This is ADD ON EVENT FOR FIELD FOR GJAHR.' TYPE 'I'.

*AT LINE-SELECTION.
*  MESSAGE 'This is AT LINE-SELECTION.' TYPE 'I'.

*------------------------------
* FORM
*------------------------------
FORM INIT_ALV_SET_DATA.       "INITIAL FIELDCAT AND LAYOUT AND SO ON.
  PERFORM FIELDCAT_INIT.
  PERFORM LAYOUT_INIT.
ENDFORM.

FORM FIELDCAT_INIT.
   INITDATA_FIELDCAT :
      '1' 'BUKRS' 'Company Code',
      '2' 'BELNR' 'Accounting Document Number',
      '3' 'GJAHR' 'Fiscal Year',
      '4' 'BLART' 'Document Type',
      '5' 'BLDAT' 'Document Date in Document',
      '6' 'BUDAT' 'Posting Date in the Document'.
ENDFORM.

FORM LAYOUT_INIT.
  GS_LAYOUT-ZEBRA                   = 'X'.
  GS_LAYOUT-CELL_MERGE              = 'X'.
  GS_LAYOUT-COLWIDTH_OPTIMIZE       = 'X'.
  GS_LAYOUT-NO_VLINE                = 'X'.
  GS_LAYOUT-TOTALS_BEFORE_ITEMS     = 'X'.
  GS_LAYOUT-BOX_FIELDNAME          = 'SEL'.
ENDFORM.

FORM GET_DATA_FORM.           "GET ORIGINAL DATA WANT TO SHOW.
   SELECT BUKRS
          BELNR
          GJAHR
          BLART
          BLDAT
          BUDAT
     FROM BKPF INTO TABLE GT_DATA UP TO 100 ROWS.
ENDFORM.

FORM EDIT_DATA_FORM.          "HANDLE ORIGINAL DATA.

ENDFORM.

FORM SHOW_DATA_FORM.          "SHOW DATA BE EDITED.
   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      IS_LAYOUT                         = GS_LAYOUT
      IT_FIELDCAT                       = GT_FIELDCAT
     TABLES
       T_OUTTAB                          = GT_DATA[]
ENDFORM.

最近访客

  • sapxf
    2022-01-21
  • 鲁路修
    2021-11-20




上一篇:选择屏幕的一些元素及事件驱动,自定义F1 F4事件响应,状态栏按钮
下一篇:abap数据表和内表操作总结
本楼点评(0) 收起
发表于 2013-1-6 09:22:36 | 显示全部楼层
总结的不错!多加些注释。
另外类型的demo程序,可以通过标准表去做,如mara
直接拷贝过来,就可以用了!
本楼点评(0) 收起
 楼主| 发表于 2013-1-6 15:48:24 | 显示全部楼层
多谢涛哥指点
本楼点评(0) 收起
 楼主| 发表于 2013-1-6 15:49:09 | 显示全部楼层
SAPOK_ABAP 发表于 2013-1-6 09:22
总结的不错!多加些注释。
另外类型的demo程序,可以通过标准表去做,如mara
直接拷贝过来,就可以用了!
...

多谢涛哥指点
本楼点评(0) 收起
发表于 2013-3-21 12:36:50 | 显示全部楼层
活到老学到老
本楼点评(0) 收起
发表于 2013-3-21 21:59:34 | 显示全部楼层
架程序 [修改]

本楼点评(0) 收起
发表于 2013-4-27 22:16:35 | 显示全部楼层

thanks

cx楼主辛苦啦,这个问题对我很重要
本楼点评(0) 收起
发表于 2017-2-21 11:50:58 | 显示全部楼层
很好很不错
本楼点评(0) 收起
发表于 2017-11-5 12:47:18 | 显示全部楼层
vvvvvvvvvvvvvvvvvvvvvvvedawda
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-3-29 12:38 , Processed in 0.175775 second(s), 58 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表