在使用SAP开发后,我们常常会使用LAV进行开发对数据进行报表处理,如何实现一个最基本ALV是一个ABAP开发人员必须掌握的技能。
ALV显示数据
REPORT Z_alv. ************************************************** * 1.定义ALV所用用到的池 type-pools:slis. * 2.声明ALV的控制信息(layout&fieldcat). * 2.声明fieldcat的宏信息,减少代码量 ************************************************** TABLES :MARA. type-pools slis. data: fieldcat type slis_t_fieldcat_alv, fieldcat_ln LIKE LINE OF fieldcat, layout TYPE slis_layout_alv, col_pos type i. DEFINE hout. add 1 to col_pos. fieldcat_ln-col_pos = col_pos. fieldcat_ln-fieldname = &1. fieldcat_ln-seltext_m = &2. append fieldcat_ln to fieldcat. clear fieldcat_ln. end-OF-DEFINITION. ************************************************** * 1.声明内表,将需要显示的字段放入内表 ************************************************** data: begin of gt_itab occurs 0, matnr type mara-matnr, matkl type mara-matkl, MTART type mara-MTART, MEINS type mara-MEINS, end of gt_itab. ************************************************** * 定义ALV条件筛选 ************************************************** SELECT-OPTIONS S_MATNR FOR MARA-MATNR. START-OF-SELECTION. ************************************************** * 1.获取内表数据放入internal TABLE ************************************************** select mara~matnr mara~matkl mara~mtart mara~meins into CORRESPONDING FIELDS OF TABLE gt_itab FROM mara up to 10 ROWS WHERE MATNR IN S_MATNR. ****************************************************** * 1.建立ALV显示样式(layout)和显示字段清单(Field Catalogs) ************************************************** layout-zebra = 'X'. layout-no_vline = 'X'. layout-colwidth_optimize = 'X'. layout-detail_titlebar = '物料清单明细'. hout : 'matnr' '物料', 'matkl' '物料组', 'meins' '基本单位', 'mtart' '物料类型'. ****************************************************** * 1.调用ALV Function Module ************************************************** CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = sy-repid is_layout = layout it_fieldcat = fieldcat[] i_save = 'A' I_GRID_TITLE = 'ALV案列' TABLES t_outtab = gt_itab[] EXCEPTIONS program_error = 1.