我正在向循環內的有序內部表添加新條目。由於我所在的循環的排序順序與有序表格不同,因此我必須使用INSERT INTO
而不是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%的確定性,我將插入新記錄的內部表格上不會激活任何循環。然而我不能隱藏這個警告。除了在開發過程中導致無用的警告,在某些環境中,我將無法使用語法檢查警告來傳輸代碼!
有什麼辦法可以抑制這種難以預料的警告嗎?
失敗了,有什麼辦法可以避免它嗎?我可以這樣做,通過使用臨時unsorted表作爲中間,然後只是將行附加到排序表中,但我不願意創建一個無用的(百萬行)內部表,只是爲了繞過似乎是一個明顯的疏忽。