语句:碰到一个写一个
COLLECT语句用法
用于报表数据的合并计算,如果非数据字段值相等,那么数值字段值相加
内表可以不用排序
LOOP AT gtd_test into gth_test.
COLLECT gth_test into gtd_sum.
clear:gth_test.
ENDLOOP.
可以在LOOP循环中先筛选数据后再使用COLLECT语句。
注意事项:collect语句合并所有(类型为I、P、F)的字段,其他类型的字段默认为关键字。
SAP内表去重
DELETE ADJACENT DUPLICATES FROM <内表:gtd_out> COMPARING <字段:ALL FIELDS>.
DELETE 内表语法
1. DELETE itab[ ].
用于loop当中,删除当前loop行,read table 会改变sy-tabix的值,但是不影响该语法执行结果
2.DELETE itab INDEX i.
删除内表中的指定行
3.DELETE TABLE itab FROM wa.
删除内表KEY值与工作区KEY值相同的行, 关键字TABLE不能丢,否则执行会报错
ABAP 如何判断调用smartforms时是进行打印还是预览
DATA: option TYPE ssfcresop."控制参数
CALL FUNCTION l_fncname
IMPORTING
job_output_options = option"输出参数
TABLES
gt_item = lt_tmp
EXCEPTIONS
......
OTHERS = 5.
IMPORTING
job_output_options = option"输出参数
TABLES
gt_item = lt_tmp
EXCEPTIONS
......
OTHERS = 5.
"如果为X 就是预览 否则就直接打印
IF option-tdpreview <> 'X'.
"则增加打印次数
IF option-tdpreview <> 'X'.
"则增加打印次数
"从内表中删除该行
ENDIF.
ENDIF.
未完待续~
smartforms指针传递内表数据,smartforms定义内表不支持include追加字段