ABAP的匹配

ABAP的匹配

  • 通配符

    1. 字符串操作中的通配符

      • *:多位字符的通配符

      • +:一位字符的通配符

      • #:字符操作中的转义符

        REPORT ztest_placeholder.
        
        DATA:l_name(8) TYPE c VALUE 'ZhangSan'.
        
        * *号是多位的通配符
        IF l_name CP '*San'.
          WRITE: '*:YES'.
        ELSE.
          WRITE: '*:NO'.
        ENDIF.
        
        * +号是一位通配符
        IF l_name CP '+San'.
          WRITE:/ '+:YES'.
        ELSE.
          WRITE:/ '+:NO'.
        ENDIF.
        
        

        输出
        *:YES

        +:NO

    2. OPEN SQL where条件中通配符

      • %:多位字符的通配符

      • _:一位字符的通配符

      • ESCAPE:Where条件中转义符

        TABLES:makt.
        SELECT SINGLE *
          FROM makt
         WHERE spras = 1
           AND maktx LIKE '%/_' ESCAPE '/' .
        
  • CA,CO,CS,CP

  1. CA(Contain Any)

    str1 ca str2 遍历str1,其中的每个字符对应到str2的每个字符,如果对应成功,注意:只要有一个字符成功,就为true.

    str1 = '我a'.  
    str2 = 'hubab'.
    str1 ca str2 -true
  2. CO(Contain Only)

    str1 co str2 遍历str1,其中的每个字符对应到str2的每个字符,如果对应成功,注意:str1中的每一個字符成功,就为true.

    可用于判断是否为数字。ca ‘0123456789’

    str1 = '我a'.  
    str2 = 'hubab'.
    str1 ca str2 -false
    
    str1 = 'ba'.
    str2 = 'hubab'.
    str1 ca str2 -true
  3. CS(Contain String)

    str1 cs str2 str1 是否包含str2。

  4. CP(Contain Pattern)

    加入通配符的匹配

    str1 = 'aac'   
    str2 = '#aA#c
    str1 cp str2 -true
    
    str1 = 'aAc'   
    str2 = '#aA#c' 
    str1 cp str2 -true
  5. NOTE

    • CO / CN contains only or not

    • CA / NA contains any or not any

    • CS / NS contain string or not

    • CP / NP contains pattern or not

    • CO, NO, CA, NA比较时区分大小写, 并且尾部空格也在比较的范围之内

    • CS, NS, CP, NP不区分大小写和尾部空格

    • 比较结束后,如果结果为真,sy-fdpos将给出s2在s1中的偏移量信息

    str1 = '123abc123' 
    str2 = '*abc*'    
    sy-fdpos = 3.
  • 使用正则表达式

    ^表示否定

    FIND FIRST OCCURRENCE OF REGEX '[^a-zA-Z]' IN p_input3.
    IF sy-subrc = 0.
        MESSAGE 'There is some non-letter in your input.' TYPE 'E'.
    ENDIF.

转载于:https://www.cnblogs.com/aurora-cj/p/10526286.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP是一种编程语言,用于在SAP系统中开发和定制软件解决方案。VC是Variant Configuration(变量配置)的缩写,用于管理和配置复杂的产品变体和组合。BOM(Bill of Materials,物料清单)是指列出产品所需的各种组件及其数量的清单。 在ABAP中,可以使用相关性来匹配BOM数据。相关性是一种规则,用于确定不同组件之间的依赖关系和匹配规则。利用相关性,可以确保在配置产品时只选择符合要求的组件,并且满足特定的条件。 通过在ABAP中定义相关性规则,可以实现以下功能: 1. 依赖关系:相关性可以定义不同组件之间的依赖关系。例如,如果产品需要选择特定的组件A,那么在选择组件A之,不能选择其他特定的组件B。 2. 匹配规则:相关性可以定义选择组件的条件。例如,如果产品需要选择特定类型的组件,那么可以定义相关性规则,要求只有符合特定属性或标准的组件才能被选择。 3. 动态变化:相关性可以根据所选组件的变化而动态调整。通过定义相关性规则,可以确保如果某个组件的选择发生变化,那么其他相关组件的匹配规则也会相应地发生变化。 在ABAP中使用相关性匹配BOM数据,可以有效地管理和配置复杂的产品变体和组合。通过定义相关性规则,可以实现精确的产品配置,并确保产品的可靠性和一致性。同时,相关性还可以提高生产效率,减少错误和重复工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值