abap中 search 内表

     Search 内表

 

SEARCH dobj FOR pattern  [IN { BYTE | CHARACTER } MODE]
       [STARTING AT p1] [ENDING AT p2]
       [ABBREVIATED]
       [AND MARK].

 

当指定了 starting at  Pos  ending at Pos 之后。只会在指定的行中去找

当指定了 ABBREVIATED 之后,只要 word pattern 开头能对上。并且 word中能按照顺序匹配上 pattern 中所有的字符的话。整个word 即被 选定。

当指定了 AND MARK 之后,被搜寻到的 结果会被  转成 uppercase

可以指定 in BYTE mode 或者 in CHARACTER mode 默认是 字符模式

返回两个结果 sy-subrc  0 表示找到  4 表示没找到

             Sy-fdpos  0 没找到    >0找到的结果的位置

执行搜索只要找到了之后便不会再找。所以如果要遍历整个表需要在循环中找,直到返回了sy-subrc = 4.

Pattern:

If there is a * in the pattern ,that means the whole word will be matched.

‘pat*’    word begin with pat.

‘*pat’    word end with pat.

‘*pat*’   word end with pat*

If there is not a * in the pattern , 只返回匹配上的字符组合。

'pat' - 忽略尾部空格
'.pat.' -
不忽略尾部空格

但是,经过我测试,没有发现 ‘pat’      ‘.pat.’   有什么区别

你可能感兴趣的:(测试,search,character,byte)