踩过的ABAP坑【持续更新】

1.READ TABLE *** WITH KEY *** BINARY SEARCH .

在使用二分法BINARY SEARCH之前必须先对内表进行排序(sort)且WITH KEY后面的字段最好与排序的字段一致或者为其子集,否则会导致数据缺失。

 

2.FOR ALL ENTRIES IN中参照的内表必须先检查是否为空,如果为空会把取数表的所有数据都取出来。

3.MESSAGE一定要编号。直接写的话换个语言就炸了。

踩过的ABAP坑【持续更新】_第1张图片

最好这样,可以翻译

踩过的ABAP坑【持续更新】_第2张图片

4.Smartform在测试机修改之前最好把生产机的下载一份导入测试机再进行修改,这样既备份了生产机的当前版本,又可以避免由于有人在生产机直接修改导致生产机和测试机版本不一样的问题。

 

5.Smartform 中不显示数量,金额字段,我在创建结构时定义了一个13位的char类型的字段,smart form中输出这个字段。

但是数量,金额字段在显示的时候会跟其它字段错位,不在同一高度,可以在smart form中设定字段的地方强制设定一下位置。比如   &WA_ALV-PSMNG_C(C)&  。

 

6.系统增强应该统一、规范管理。建一张表(ID,开关标识,函数名,增强描述),增强逻辑在函数中实现,增强点处检查开关标识,并调用函数。

 

7.程序开发过程中经常调用的尽量封装起来,封装时多考虑复用性。

 

8.ALV没有数据时提示,并留在选择屏幕界面。

MESSAGE '没有符合条件的数据' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE LIST-PROCESSING.

你可能感兴趣的:(ABAP技能树)