欢迎来到天天文库
浏览记录
ID:40811415
大小:54.77 KB
页数:7页
时间:2019-08-08
《函数调用ALV方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、小总结一下函数方法调用alv的过程。其实用函数调用alv非常简单,只需要一个REUSE_ALV_GRID_DISPLAY函数即可(或者list的方式),但是如果要做的复杂的话也可以非常复杂,如我之前的加上异常,单选框,或者加上双击命令,加上各种事件。过于复杂的不讲了,以一个平常项目中够用的例子讲解,还有其他需求直接可以再pack:slis中找到,或者se38中直接输入*demo*就可以看到一堆例子。下面是使用alv的一些必备信息。1.类型池(Type-pools)如果使用函数调用ALV必须要用TYPE-POOLS:SLIS.这个类行池里包含了alv所有要
2、用到的类型,当有哪些字段名称忘记的时候可以到这个pool里查找相应的字段。2.字段信息(SLIS_T_FIELDCAT_ALV)如果我们自己写一个ALV的函数让别人调用,有哪些参数必不可缺了?字段信息肯定必不可少,字段信息决定了ALV到底输出哪些信息。通常有两种方式一是手动,二是自动。2.1手动生成lt_fieldcatTYPEslis_t_fieldcat_alv.“定义字段表WA_FIELDCAT-TABNAME='IT_EKKO'.WA_FIELDCAT-FIELDNAME='EBELN'.WA_FIELDCAT-SELTEXT_M='PONO.'
3、.APPENDWA_FIELDCATTOI_FIELDCAT.CLEARWA_FIELDCAT.这样就完成了一个字段的定义,不过通常都会用一个宏来完成相应的功能。如下:DEFINEinit_key.clear&1. &1-fieldname=&2. &1-coltext =&4. &1-outputlen =&5. &1-no_zero ='X'. &1-key='X'. "冻结窗口append&1to&3.end-OF-DEFINITION.这样定义多个字段就会比较方便。2.2自动生成自动生成字段信息必须要调用这个函数:C
4、ALLFUNCTION'REUSE_ALV_FIELDCATALOG_MERGE'*EXPORTING* I_PROGRAM_NAME =* I_INTERNAL_TABNAME =* I_STRUCTURE_NAME =* I_CLIENT_NEVER_DISPLAY ='X'* I_INCLNAME =* I_BYPASSING_BUFFER =* I_BUFFER_ACTIVE =CH
5、ANGING ct_fieldcat =*EXCEPTIONS* INCONSISTENT_INTERFACE =1* PROGRAM_ERROR =2* OTHERS =3通常只需要两个参数,一是changing参数,即输出的字段信息。二是红色标记的部分,如果是一个内表的话就用第一个,有自建表或者系统表的话就用第二个。二者只能填一个,注意使用内表作为参数的话,类型定义只能用like而不能用type。如果还需要增加或删除一些字段的话只
6、需要修改这个内表就可以了。下面是实例:*//增加选择项MOVE'SELECTED'TOls_fieldcat-fieldname.MOVE'X'TOls_fieldcat-edit.MOVE'X'TOls_fieldcat-checkbox.INSERTls_fieldcatINTOct_fieldcatINDEX1.*//删除不必要显示的项DELETEct_fieldcatWHEREfieldnameEQ'INFO_TYPE_CODE'ORfieldnameEQ'INFO_NUMBER'ORfieldnameEQ'STATUS'ORfieldnameE
7、Q'GOODS_LIST_FLAG'ORfieldnameEQ'COMPANY'ORfieldnameEQ'COMPANY_NAME'ORfieldnameEQ'SALES_ORG'ORfieldnameEQ'SALES_ORG_DESC'ORfieldnameEQ'MESSAGE'.*//隐藏一些字段LOOPATct_fieldcatINTOls_fieldcatWHEREfieldnameEQ'NOTICE_NUMBER'ORfieldnameEQ'REVERSE_CODE'ORfieldnameEQ'REVERSE_NUMBER'.MOVE'X'T
8、Ols_fieldcat-no_out.MODIFYct_fieldcatFRO
此文档下载收益归作者所有