我正在向循环内的排序内部表添加一个新条目。由于我所在的循环的排序顺序与已排序表的排序顺序不同,因此我必须使用INSERT INTO
语句而不是 an APPEND TO
,因为后者有违反排序顺序导致转储的风险。
但是,当我添加该代码时,我收到带有内部消息代码“ MESSAGE GJK
”的语法检查警告,在 EPC 中它说:
Program: ZCL_CLASS Method METHOD_NAME Row: 301
Syntax check warning.
In the table "LT_TABLE_NAME" a row was to be changed,
deleted or inserted. It is not possible
to determine statically if a LOOP is active over "LT_TABLE_NAME"
Internal message code: MESSAGE GJK
Cannot be hidden using a pragma.
但是“不能使用编译指示隐藏”对我不起作用。我理解警告的原因,但我知道在构建时 100% 确定在我插入新记录的内部表上没有循环将处于活动状态。然而我无法隐藏这个警告。除了在开发时引起无用的警告外,在某些环境中,我无法传输带有语法检查警告的代码!
有什么办法可以抑制这种不可抑制的警告吗?
如果做不到,有什么办法可以避免吗?我可能可以通过使用临时未排序表作为中间表然后将行追加到已排序表中来做到这一点,但我不愿意创建一个无用的(百万行)内部表只是为了绕过似乎是一个明显的疏忽。