我正在寻找一个编译指示,可以用来隐藏当选择的 WHERE 条件中使用的字段可能包含数据库中的 NULL 值时生成的编译器警告。
阅读 SAP note 1088403 后,我知道这里可能存在问题,但我无法应用那里建议的解决方案,因为我在 WHERE 子句中使用的是范围,而不是单个值。无论哪种情况,这都是遗留代码,从未被发现有缺陷(据我们所知),并且很快就会被替换。
然而,当我重写程序的其他部分时,我想使用以下命令禁用此警告pragma http://help.sap.com/abapdocu_702/en/abenpragma.htm。谁能告诉我我可以使用什么pragma来实现这个目的?
选择示例:
SELECT d~matnr d~werks d~lgort d~bdmng k~maktx
INTO CORRESPONDING FIELDS OF TABLE itab
FROM resb AS d
INNER JOIN makt AS k ON d~matnr = k~matnr
WHERE
k~spras = syst-langu
AND d~werks = p_werks
AND d~matnr IN s_matnr
AND d~bwart IN r_bwart.
请注意,我已经将此选择替换为使用动态 where 子句的选择,该子句也隐藏了警告,因为编译器显然无法检查基于文本的 where 。
如果您对包含此代码片段的程序运行扩展语法检查,您将看到它明确指出没有编译指示来抑制此情况(强调我的):
程序: 行:
语法检查警告
WHERE 条件中使用的字段“BWART”可能包含 NULL 值。
内部消息代码:MESSAGE GYT
无法使用编译指示或伪注释来抑制
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)