二维码

[基础语法] abap比较字符串和数字串

Twilight发表于 2014-12-09 10:48Twilight 最后回复于 2014-12-09 10:48 [复制链接] 9495 0

要比较字符 串(类型C)和数字文本(类型N),可以在逻辑表达 式中使用下列运算符。
我们实际比较时最好用string申明变量,不要用c,因为c需要指定长度,比如length 10,而我们赋值4位,还剩下六位是“空”,不是nothing,比较时易出错。
<运算符>含义
  • CO         仅包含
  • CN         不仅包含
  • CA         包含任何
  • NA         不包含任何
  • CS         包含字符串
  • NS         不包含字符串
  • CP         包含模 式
  • NP         不包含模式

因为除类型N和C外,系统不能执行任何 其它类型转换,所以在进行包含这些运
算之一的比较时,操作数应该是类型N或C。
运算符的功能如下:
CO (仅包含)
如果 <F1> 仅包含 < F2> 中的字符, 则逻辑表达式
<F1> CO <F2>
为真。该比较区分大小写,并包括尾部空格。 如果比较结果为真,则系统字段 SY-FDPOS
包括 <F1> 的长度。如果为假,则 SY-FDPOS 包含 < F1>中第一个未在 < F2> 内出现的字
符的偏移量 。
CN (不仅包含 )
如果 <F1> 还包含 < F2> 之外的其他 字符,则逻 辑表达式
<F1> CN <F2>
为真。该比较区分大小写,并包括 尾部空格。 如果比较结果为真,则 系统字段 SY-FDPOS
包含 <F1>中第一个未同时在 < F2> 中出现的字符的偏移量。如果为假,SY-FDPOS包
含 <F1> 的长度。
CA (包含任何 )
如果 <F1> 至少包含 < F2> 的一个字符 ,则逻辑表达式
<F1> CA <F2>
为真。该比较区分大小写。如果比较结果为真,则系统字段 SY-FDPOS 包含 < F1> 中
第一个也在<F2> 中出现的字 符的偏移量 。如果为假 ,SY-FDPOS 包含 < F1> 的长度。
NA (不包含任 何)
如果 <F1> 不包含 < F2> 的任何字符 ,则逻辑表达式
<F1> NA <F2>
为真。该比 较区分大小写。如果比较结果为真 ,则系统字 段 SY-FDPOS包含 < F1>的 长
度。如果为假,则 SY-FDPOS 包含 <F1> 中在 < F2> 内出现的第 一个字符的偏移量。
CS (包含字符 串)
如果 <F1> 包含字符串 < F2>, 则逻辑表达式
<F1> CS <F2>
为真。忽略 尾部空格并且比较不区 分大小写。 如果比较结 果为真,则系统字段
SY-FDPOS 包含 <F2> 在 <F1> 中的偏移量 。如果为假 ,SY-FDPOS 包含 < F1> 的长度。
NS (不包含字 符串)
如果 <F1> 不包含字符 串 < F2>, 则逻辑表达 式
<F1> NS <F2>
为真。忽略 尾部空格且比较不区分大小写。如果比较为真,系统字段SY-FDPOS 包含
<F1> 的长度。如果为假,系 统字段 SY-FDPOS 包含 < F2> 在 < F1> 中的偏移量 。
CP (包含模式 )
如果 <F1> 包含模式 < F2>, 则逻辑表达式
<F1> CP <F2>
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表