- 了解Function ALV: https://blog.csdn.net/HeathlX/article/details/134879766?spm=1001.2014.3001.5501
- 程序开发步骤:
- ① TCODE:SE38创建程序
- ② 编写程序
DATA gt_spfli TYPE TABLE OF spfli.** Layout 变量定义 (固定使用 直接粘贴复制即可)
DATA gs_layout TYPE lvc_s_layo.** Fieldcat变量定义 (固定使用 直接粘贴复制即可)
DATA:gt_fieldcat TYPE lvc_t_fcat,gs_fieldcat LIKE LINE OF gt_fieldcat.** FieldCat的宏 (固定使用 直接粘贴复制即可)
DATA gv_pos TYPE i.
DEFINE %%add_fieldcat.gv_pos = gv_pos + 1.gs_fieldcat-col_pos = gv_pos.gs_fieldcat-fieldname = &1.gs_fieldcat-scrtext_m = &2.APPEND gs_fieldcat TO gt_fieldcat.CLEAR gs_fieldcat.
END-OF-DEFINITION.START-OF-SELECTION.** 获取需要展示的数据SELECT carrid " 航线代码connid " 航班连接IDcountryfr " 国家键值cityfrom " 起飞城市airpfrom " 起飞机场countryto " 国家键值cityto " 目标城市airpto " 目标机场fltime " 航班时间deptime " 启程时间arrtime " 到达时间distance " 距离FROM spfliINTO CORRESPONDING FIELDS OF TABLE gt_spfliUP TO 20 ROWS.** Fieldcat字段映射处理%%add_fieldcat:'CARRID' '航线代码', "( 前面字段值不可变 后面字段描述可变 每一行都是)'CONNID' '航班连接ID','COUNTRYFR' '国家键值','CITYFROM' '起飞城市','AIRPFROM' '起飞机场','COUNTRYTO' '国家键值','CITYTO' '目标城市','AIRPTO' '目标机场','FLTIME' '航班时间','DEPTIME' '启程时间','ARRTIME' '到达时间','DISTANCE' '距离'.** Layout布局处理gs_layout-cwidth_opt = 'X'. "自动优化列宽 (可以使用**在一行代码面前注释掉 看看ALV会有什么效果)gs_layout-zebra = 'X'. "斑马纹输出** 调用FunctionALV需要传入的参数:展示数据,FieldCat,Layout,StatusCALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGi_callback_program = sy-repidi_callback_pf_status_set = 'FRM_SET_STATUS'is_layout_lvc = gs_layoutit_fieldcat_lvc = gt_fieldcatTABLESt_outtab = gt_spfli[]EXCEPTIONSprogram_error = 1OTHERS = 2.FORM frm_set_status USING p_extab TYPE slis_t_extab.SET PF-STATUS 'STANDARD'.
ENDFORM.
- ③激活程序运行
显示效果: