资源描述:
《abap培训课堂练习指导_报表设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、报表设计前提准备:1、对ABAP语法、基本数据类型等有一定了解2、内表的概念与使用3、对ABAP程序有一定了解4、对表sflight、spfli有一定了解5、对ALV控件的使用有一定了解示例:1、新建一个ABAP程序ZTEST_XXX2、定义查询条件3、用两种方式来显示结果(write方式,使用函数方式调用ALV)4、完善程序课堂练习指导:第一部分:逐步建立程序1、新建程序在GUI系统工具栏命令行输入框内键入事务代码SE38,回车即可打开建立程序的初始界面:输入程序名称ZTEST_007,点击按钮“Create”创建程序,输入程序标题,选择程序类型:完成后,点击“Save”按钮
2、,然后点击“LocalObject”保存为本地对象:1、定义查询条件在程序源代码界面中,输入选择屏幕的声明部分,如下:*此处的text-001,需要从菜单栏Goto/TextElements/TextSymbols中定义*p_carrid,s_connid如果需要设置显示文本的话,也需要在Goto/TextElements/Selectiontexts里设置*设置好后一定要激活SELECTION-SCREENBEGINOFBLOCKblockqueryWITHFRAMETITLEtext-001.*定义航线ID为必输项,默认值为'AA’PARAMETERS:p_carridTY
3、PEspfli-carridOBLIGATORYDEFAULT'AA'.*定义航班连接IDSELECT-OPTIONS:s_connidFORspfli-connid.SELECTION-SCREENENDOFBLOCKblockquery.1、使用write方法输出结果先输出表头部分:*画线,长度为106=(1)左侧坚线+(20)*5各列宽度+(1)*5各列中间的分隔线WRITEAT:/(106)sy-uline.WRITEAT:/(1)sy-vlineNO-GAP,(20)'航线承运人ID'CENTEREDNO-GAP,(1)sy-vlineNO-GAP,(20)'航班连接
4、Id'CENTEREDNO-GAP,(1)sy-vlineNO-GAP,(20)'起飞城市'CENTEREDNO-GAP,(1)sy-vlineNO-GAP,(20)'目标城市'CENTEREDNO-GAP,(1)sy-vlineNO-GAP,(20)'距离'CENTEREDNO-GAP,(1)sy-vlineNO-GAP.WRITEAT:/(106)sy-uline.再输出数据:LOOPATit_spfli.WRITEAT:/(1)sy-vlineNO-GAP,(20)it_spfli-carridCENTEREDNO-GAP,(1)sy-vlineNO-GAP,(20)it
5、_spfli-connidLEFT-JUSTIFIEDNO-GAP,(1)sy-vlineNO-GAP,(20)it_spfli-cityfromLEFT-JUSTIFIEDNO-GAP,(1)sy-vlineNO-GAP,(20)it_spfli-citytoLEFT-JUSTIFIEDNO-GAP,(1)sy-vlineNO-GAP,(20)it_spfli-distanceRIGHT-JUSTIFIEDNO-GAP,(1)sy-vlineNO-GAP.WRITEAT:/(106)sy-uline.ENDLOOP.2、使用函数方式调用ALV输出结果此处没有添加自定义的一些参
6、数,直接调用函数输出结果CALLFUNCTION'REUSE_ALV_GRID_DISPLAY'EXPORTINGI_STRUCTURE_NAME='SPFLI'I_GRID_TITLE='此处是GRID表格自己的表头'TABLESt_outtab=it_spfli.第二部分:完整的程序代码1、完整的报表程序REPORTztest_007.TABLES:spfli.TYPE-POOLS:slis.DATA:it_spfliTYPETABLEOFspfliWITHHEADERLINE.DATA:g_titleTYPEtext70."ALV列表表头DATA:gt_fieldsTYP
7、Eslis_t_fieldcat_alv,"声明ALV对象wa_fieldTYPEslis_fieldcat_alv,gs_layoutTYPEslis_layout_alv,it_sortTYPEslis_t_sortinfo_alv,wa_sortTYPEslis_sortinfo_alv,it_filterTYPEslis_t_filter_alv,wa_filterTYPEslis_filter_alv,gt_eventTYPEslis_t_event,gs_eventTYPEsli