多语言展示
当前在线:803今日阅读:113今日分享:31

SAP如何利用ALV控件创建简单报表

SAP如何利用ALV控件创建简单报表
工具/原料
1

SAP

2

屏幕绘制器

方法/步骤
1

T-code:SE38创建一个程序(例子ZALV999),填写标题,选择类型,保存进入下一步。

2

进入ABAP程序编辑器界面,敲打以下程序。REPORT ZALV999.TABLES:MARA.'这里用了MARA表做例子。DATA:TAB1 LIKE STANDARD TABLE OF MARA WITH HEADER LINE.'定义内表DATA:FIELDCAT    TYPE LVC_T_FCAT,'定义FieldCat对象     GRID        TYPE REF TO CL_GUI_ALV_GRID,'定义ALV控件名     G_CONTAINER TYPE SCRFNAME VALUE 'CONT1','重新定义本地容器对象名称     G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.'定义容器对象名START-OF-SELECTION.CALL SCREEN '0001'.'屏幕号*-----------------------------------**       抓取数据赋值给内表*-----------------------------------*FORM GETDATA.  SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE TAB1.ENDFORM.*-----------------------------------**       产生ALV子程序*-----------------------------------*FORM ALVSHOW.  CREATE OBJECT G_CUSTOM_CONTAINER       '创建容器对象         EXPORTING CONTAINER_NAME = G_CONTAINER.    CREATE OBJECT GRID                    '创建ALV对象         EXPORTING I_PARENT = G_CUSTOM_CONTAINER.    CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY  '调用ALV显示的方法       EXPORTING I_STRUCTURE_NAME = 'MARA'       '参考的数据库表,上面我们已经定义参考MARA       CHANGING  IT_OUTTAB        = TAB1[]                 IT_FIELDCATALOG  = FIELDCAT[].ENDFORM. *--------------------------------**       菜单事件*--------------------------------*MODULE USER_COMMAND_0001 INPUT.'屏幕中的PAI事件模块  CASE SY-UCOMM.    WHEN 'EXIT'.      LEAVE PROGRAM.    WHEN 'EXEC'.      PERFORM GETDATA.      PERFORM ALVSHOW.   ENDCASE.ENDMODULE.MODULE STATUS_0001 OUTPUT.'屏幕中的PBO事件模块  SET PF-STATUS 'T001'.”菜单名ENDMODULE.

3

保存。双击代码中的屏幕号“0001”,弹出对话框,点击“是”。

4

进入屏幕绘制器,填写简短描述”ZALV999的屏幕0001”(这个描述随便填)。然后点击“格式”。

5

进入图形界面。绘制一个ALV容器,名称取”CONT1”。然后点击“逻辑流”退出。

6

进入逻辑流编辑界面,将“*”删除,保存,激活。点击后退回到ABAP程序编辑器。

7

双击程序中的菜单名“T001”,弹出对话框,点击“是”。

8

进入菜单编辑器。点击功能键边上的加号。对应程序填写。点击保存,激活,后退。

9

回到ABAP程序编辑界面。点击保存,激活,执行。

10

查看结果。

推荐信息