bb583083775 2023-03-08 09:57 采纳率: 50%
浏览 17
已结题

ABAP 选择屏幕中如何判断select-option中限定的值

选择屏幕定义select-option时,
需要判断是否只有某三个值,例如1.5.10
从而继续下面逻辑,
目前想到的方法是:
IF S_sel-low CN ‘1’‘5’‘10’
OR S_sel-high CN ‘1’‘5’‘10’.

ENDIF.
只能确保框里不可输其他值,
但BT (5.10)的情况还不能排除,
该当如何,请各位帮帮忙,一直没有查到合适解法

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-03-08 10:06
    关注

    “Devil组”引证GPT后的撰写:
    用FIND方法来检查select-option是否包含指定的值。

    以下是一个示例代码,可以检查S_sel-low和S_sel-high是否包含1、5、10中的一个或多个值:

    IF sy-subrc = 0.
      DATA(lv_value) = '1,5,10'.
      DATA(lv_position) = 0.
    
      WHILE lv_position >= 0.
        FIND FIRST OCCURRENCE OF ',' IN lv_value MATCH OFFSET lv_position.
        IF sy-subrc = 0.
          DATA(lv_substring) = lv_value+1(lv_position-1).
        ELSE.
          DATA(lv_substring) = lv_value+1.
        ENDIF.
    
        IF S_sel-low CP lv_substring OR S_sel-high CP lv_substring.
          " S_sel-low 或 S_sel-high 中包含指定值
          ...
          EXIT.
        ENDIF.
    
        lv_value = lv_value+lv_position+1.
      ENDWHILE.
    
    ENDIF.
    
    
    
    

    将要检查的值设置为"1,5,10",然后使用FIND方法循环查找这个值中的每个子字符串。如果S_sel-low或S_sel-high包含任何一个子字符串,将继续执行下一步逻辑。

    这个方法可以有效地检查select-option中是否包含指定的值,包括BT(5.10)的情况。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月16日
  • 已采纳回答 3月8日
  • 创建了问题 3月8日

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号