【转】ABAP的坑5
来源:互联网 发布:网络文明礼仪 编辑:程序博客网 时间:2024/06/07 08:24
对于初写ALV的ABAPer,it_fieldcat参数经常有一些隐藏的小坑,需要多加注意。
目录:
01、字段名大小写的问题
02、导出到Excel或者文本最后一位丢失
03、默认变式导致改了FLDCAT看不到效果
04、CONVERTION转换
05、编辑数值(数量、金额)字段总是给变成小数
06、汇总的时候DUMP
07、导出的时候DUMP
08、筛选的时候,长度不对
09、可编辑字段不指定输出长度,编辑的时候默认只能输入10位
10、 改变了数据元素或者domain之后,ALV字段没反应
11、金额和数值显示小数位的问题
详细介绍:
01、SAP运行时是区分大小写的,也就是说,'a'和'A'在SAP运行时是不同的字符,有同学在FIELDCAT里面使用了小写或者大小写混合的字段名,SAP就不会认识,导致出错。其实,不仅仅是FIELDCAT,程序任何地方最好都要注意大小写。
02、导出到Excel少一位,具体见:http://blog.chinaunix.net/uid-8527621-id-2029555.html,简单说就是加上参考表和参考字段就好了。
03、FIELDCAT添加了新的字段,ALV却不显示!看看是不是有默认的Layout变式吧。
04、显示的字段,物料的前导零没去掉、单位是内部单位、WBS元素成了数字。。。这一切的原因都是来自于CONVERTION转换,没有做内外部转换,加上参考表和参考字段吧。要么这样:fldct-edit_mask = '==MATN1'.
05、在可编辑的ALV里面,数值型字段修改的时候,会把数据缩小100(1000)倍,只要根据情况设置一下小数位就可以了:fldcat-decimals_out = 3.
06、这个不仅仅是FIELDCAT的事儿,有时候LAYOUT设置不对也会导致DUMP,比如设置is_layout-coltab_fieldname = 'CELLC'.但是内表根本就没有CELLC这个字段,就不行了。
07、同06.
08、比如物料号,18位,但是筛选弹出来的窗口只能输入10位。这个可以通过添加参考表参考字段解决,也可以使用fldct-edit_mask = '==MATN1'. ,还有设置fldct-intlen = 18.
09、同08
10、ALV的字段参考了数据字段的内容,但是在修改了数据元素或者域后,ALV字段并没有立即变成修改后的样子,然后第二天莫名其妙好了。这个实际上是SAP上下文的锅,只需要运行一下程序BALVBUFDEL,重置下ALV缓冲区就可以了。
11、SAP开发有句行话:有数值必有单位,有金额必有货币。ALV显示也是这样,如果不给指定单位或者货币字段,显示的可能就是不正确的。数值字段:fldct-qfieldname = 'MEINS'. 金额字段:fldct-cfieldname = 'WAERS'.
总结:
如果方便,最好是写上参考表和参考字段,实在不愿写用一个偷懒的办法:
根据实际情况修改一下既可以。
- 【转】ABAP的坑5
- 【转】ABAP的坑1
- 【转】ABAP的坑2
- 【转】ABAP的坑3
- 【转】ABAP的坑4
- [转]关于ABAP的介绍
- 一些常用ABAP program 的例子(转)
- 转:如何调整ABAP程序的性能
- ABAP--关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)转
- 转: ABAP--关于ABAP流程处理的一些命令的说明(stop,exit,return,check,reject)
- ABAP--OBJECTS ABAP的类的基础知识
- ABAP--OBJECTS ABAP的类的基础知识
- ABAP--OBJECTS ABAP的类的基础知识
- ABAP--ABAP变量的可见范围
- ABAP--ABAP程序员需要参加的课程
- ABAP--ABAP程序员需要参加的课程
- ABAP--ABAP变量的可见范围
- ABAP总结之七,ABAP的学习方法
- MNIST机器学习入门
- java学习总结day1
- 二叉树
- SPFA算法
- JVM调优
- 【转】ABAP的坑5
- hdu 2176 nim博弈
- git常用命令
- JavaScript中的事件冒泡?事件传播的解释
- Stata 数据分析
- 快速转载博客
- 菜鸟程序猿日记
- 分享一本不错的宏观经济分析方法和模型的书籍
- 视频结构化:支撑安防技术新未来