【ABAP】SMARTFORMS技巧
1.当需要固定的行数,而我们的行数据没有那么多数据,可以添加空行来填满
DATA:num TYPE i,
temp TYPE i.
"...省略很多代码...
CLEAR num .
"获取行数据有多少
DESCRIBE TABLE lt_data LINES num .
CLEAR temp .
temp = num MOD 15 . "取余数,15是每页想展示的最多的行数据
IF temp <> 0.
DO 15 - temp TIMES. "添加空行
CLEAR wap_data .
APPEND wap_data TO lt_data .
ENDDO.
ENDIF.
2.去除数量字段的小数位
- 在表单:全局定义——全局数据,定义一个STRING类型的变量(用来最终显示)
- 主窗口里面创建新程序行,维护输入输出参数
IF wa_item-znumber IS NOT INITIAL.
znumber = wa_item-znumber.
CONDENSE znumber. " 去掉没用的小数位的0
SHIFT znumber RIGHT DELETING TRAILING '0'."去掉没用的小数位的0
SHIFT znumber RIGHT DELETING TRAILING '.'."去掉没用的小数位的0
ELSE.
znumber = ''.
ENDIF.
CONDENSE znumber.
CLEAR wa_item-znumber.
3.字段输出格式设置说明
Syntax | 说明 |
---|---|
&field+& | 对于字符变量设置从何位置显示数据,如果offset大于字符变量长度时,系统就不会显示任何数据 |
&field()& | 设置输出长度. |
&field(*)& | 如果该字段类型是abap数据字典里定义的类型,系统将按照字典定义的长度设置输出长度 |
&field(S)& | 禁止输出符号位 |
&field(<)& | 符号位显示在数据的左边 |
&field(.)& | 设置显示小数的位数 |
&field(E)& | 设置为科学标示法 |
&field(T)& | 禁止千分位的显示(适用于: DEC, CURR, INT和QUAN几种数据类型). |
&field(Z)& | 禁止数字前导0的显示 |
&field(I)& | 禁止显示空值 |
&field(K)& | 禁止类型系统按数据字典定义的转换函数进行输出转换 |
&field®& | 右对齐(只有在定义了输出长度时才有效) |
&field(F)& | 用指定的字符替换左边的空格 |
&field(L)& | 将日期转换为本地显示格式,使用JDAT指定的格式 |
&field©& | 该设置效果和ABAP的CONDENSE语句相同 |
post SAP-Garson
原文链接:https://blog.csdn.net/qq_41391967/article/details/123295908文章来自于网络,如果侵犯了您的权益,请联系站长删除!