DATA str(200) TYPE c.
str = 'hello wor(ld )lo'.
REPLACE all OCCURRENCES OF '(' in str WITH '啦啦'."将中文空格转换为英文空格
REPLACE all OCCURRENCES OF ')' in str WITH '哈哈'."将中文空格转换为英文空格
" 只保留双字节字符
REPLACE ALL OCCURRENCES OF REGEX '[u4e00-u9fa5]' IN lv_str1 WITH space.
" 只保留单字节字符
REPLACE ALL OCCURRENCES OF REGEX '[^x00-xff]' IN lv_str2 WITH space.
CONDENSE wa_z4cgpcm-ZYSYF NO-GAPS.去掉空格
在ABAP报表程序中,经常会涉及到内表字段的统计。而统计一般会以一个或多个Key字段为节点,统计其他某些数值类型字段。这里我们就会用到AT<level>.. ENDAT。
这里<LEVEL>包括: new , first , last , end of .
使用前提:一般在loop中使用,要提前对内表进行排序sort,排序的主键为统计时用到的节点(比如,按销售组织统计,节点为vkorg),Loop不能加where条件,在at 和 endat之间不能再使用loop语法。
那下面我们简单介绍一下四种用法:
1.AT NEW F. 代码段.. ENDAT. f是内表的一个字段,当内表中f字段以及f左边的任何字段内容发生变化时,执行其中的代码段。
- 1
- 2
- 3
- 4
- 5
2. AT END OF F. 代码段.. ENDAT. 当f字段以及f左边字段内容即将发生变化时,执行代码段。
3. AT FIRST. 代码段.. ENDAT. 内表的第一行时,执行。
- 1
- 2
- 3
- 4
4. AT LAST. 代码段.. ENDAT. 内表的最后一行时执行。
https://blog.csdn.net/qq_36617521/article/details/53905577
RSCPSETEDITOR smartforms 用的
a+1(2) 在字符串a中从第一位开始取,取两位
COLLECT SH.
将内表sh中的数据,在中文相等的条件下把数字类型的加起来,在统计前可以利用 MOVE-CORRESPONDING SH_T TO SH.
根据指定字段读取内表信息
READ TABLE SM WITH KEY RSTGR = CONTENT-REASONCODE SHKZG = 'S' .
在alv或者tc上双击后跳转到其他事物码
SET PARAMETER: ID 'BLN' FIELD DETAIL-BELNR,
ID 'BUK' FIELD DETAIL-BUKRS,
ID 'GJR' FIELD DETAIL-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.跳过第一屏
弹框
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
TEXT_QUESTION = '是否保存报表?'
ICON_BUTTON_1 = '是'
ICON_BUTTON_2 = '否'
DEFAULT_BUTTON = '2'
DISPLAY_CANCEL_BUTTON = 'X'
START_COLUMN = 25
START_ROW = 6
IMPORTING
ANSWER = L_ANSWER
EXCEPTIONS
TEXT_NOT_FOUND = 1
OTHERS = 2.
read table i_list with key f1 = f2 获取内表中指定字段得值
read table i_list index 2 获取内表中第二行数据
将内表中重复数据按条件删除
SORT itab by vbeln version.
DELETE ADJACENT DUPLICATES FROM itab COMPARING version vbeln.
获得内表的行数
line = lines( itab ).