IF条件下IN操作的替代方法

2020-09-10 12:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

看,有一个选择选项,例如so_po。

IF条件中,使用此选择选项进行了一次检查,并使用 IN 操作进行了一个变量。

在这种情况下,发生什么情况,so_po中没有数据,并且有值的变量中没有数据,然后它传递if条件。 (如果lv_po IN so_po)

所以,我需要克服这种情况的要求,

如果遇到这种情况,请告诉我。

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

看,有一个选择选项,例如so_po。

IF条件中,使用此选择选项进行了一次检查,并使用 IN 操作进行了一个变量。

在这种情况下,发生什么情况,so_po中没有数据,并且有值的变量中没有数据,然后它传递if条件。 (如果lv_po IN so_po)

所以,我需要克服这种情况的要求,

如果遇到这种情况,请告诉我。

谢谢

付费偷看设置
发送
6条回答
ZJXianG
1楼-- · 2020-09-10 13:02

对于使用IN运算符进行比较:

如果选择表是初始表,则比较表达式始终为true。

因此,应检查 选择选项不是最初的。

SAP小菜
2楼-- · 2020-09-10 13:03

嗨,卡西克,

在IF语句之前再添加一个条件,并检查so_po []是否不是初始值。

如果so_po []不是INITIAL。
 如果lv_po IN so_po
 万一。
 ENDIF。

此致

穆罕默德

shere_lin
3楼-- · 2020-09-10 13:09

您好,范围声明已过时-请查看SAP文档中的范围关键字。

相反,应使用以下声明:

数据:rtab OCCURS {10 | n}的开始,
         标志TYPE C LENGTH 1,
         选项TYPE C LENGTH 2,
         低像dobj
         高像dobj
       结束OF rtab。
微wx笑
4楼-- · 2020-09-10 13:18

是的,RANGES已过时,但SELECT-OPTIONS尚未(至少尚未)。

OCCURS也已过时。

使用TYPE | LIKE RANGE OF,而不是RANGES,就像这样:

数据范围TYPE RANGE OF dtype。
 要么
 数据范围类似dobj的范围。
 
Baoming ROSE
5楼-- · 2020-09-10 12:53

除了 Quynh Doan Manh 解决方案之外,在某些情况下,以下解决方法 可能也会有用,该范围将排除所有内容:

如果范围为INITIAL。
   APPEND值#(符号='E'选项='CP'低='*')TO范围。
 ENDIF。
悻福寶寶
6楼-- · 2020-09-10 13:09

嗨,

尝试,

使用Ranges创建新变量,并在变量值后附加新变量。 选择查询对新变量而不是旧变量使用'IN'操作。

致谢

Venkat。

一周热门 更多>