SAP abap 语句、命令 语法查询备用

语句:碰到一个写一个

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.
 
 "如果为X 就是预览 否则就直接打印  
      IF option-tdpreview <> 'X'.
        "则增加打印次数
  "从内表中删除该行
      ENDIF.

未完待续~

smartforms指针传递内表数据,smartforms定义内表不支持include追加字段

上一篇:G面经prepare: Straight Partition of A Deck of Cards


下一篇:ES6笔记② 箭头函数