【IT168 技术文章】
1,在ABAP开发中,我们经常会删除内表中的重复行,这时我们会需要一个很方便的语句,就是"DELETEADJACENTDUPLICATESFROM",但是在使用这个语句,要注意它删除相邻的重复行,我们一般要通过SORT对这个语句进行排序,示例如下:
DATA:BEGINOFwa_pa0001,
pernrLIKEpa0001-pernr,
unameLIKEpa0001-uname,
bukrsLIKEpa0001-bukrs,
plansLIKEpa0001-plans,
ENDOFwa_pa0001.
DATA:itab_pa0001LIKETABLEOFwa_pa0001WITHHEADERLINE.
SORTitab_pa0001BYpernr.
DELETEADJACENTDUPLICATESFROMitab_pa0001.
2,在ABAP开发中,有时要进行一个耗费时间的处理,这时不想让客户感到处理出现问题或者以为是电脑死机,给出一个提示,“请等待的...”,可以使用下面语句:
CALLFUNCATION'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text='数据处理中,请等待...'.
"进行耗费时间处理
3,在ABAP开发中,有时我们做的程序界面是不需要全部必选的,例如:
SELECTION-SCREENBEGINOFBLOCKblkWITHFRAMETITLETEXT-001.
PARAMETERS:p_werksLIKEmseg-werks."物料凭证-工厂
PARAMETERS:p_lgortLIKEmseg-lgortOBLIGATORY."物料凭证-库存地点
SELECT-OPTION:s_mblnrFORmseg-mblnr."物料凭证-编号
SELECTION-SCREENENDOFblk.
在选在屏幕中p_lgort是必选;s_mblnr是一个范围,在OPEN-SQL中可以使用IN查询范围,若s_mblnr没有数据时,取全部,有数据时取符合条件的数据;p_werks为一个数据值,在写SQL语句时,我们要根据条件进行SQL拼加。在这我们可以通过SELECT-OPTION做一个操作,通过如下语句SELECT-OPTION:s_werksFORmseg-werksNO-EXTENSIONNOINTERVALS.可以去掉SELECT-OPTION的区间选项、后缀选项,但有个问题是不能去掉"=、<=、<、>、>="选择。