有一個任務可以用宏來填充深層結構,其中結構組件的名稱是相似的,並且可以通過帶有索引的簡單循環來構造。 例如,結構根1級,級別2 - 3級,級別4用循環將參數傳遞給宏
我想用下面的嵌套宏
DEFINE iterate_menges.
do &4 times.
fill &1 &2 sy-index level4.
enddo.
END-OF-DEFINITION.
DEFINE fill.
cs_root-sheet&1-&2-level&3-&4 = 'some_value'.
END-OF-DEFINITION.
填充它,但這個概念不工作,sy-index
就像一個文本處理。錯誤
部件cs_root-Sheet 1中-level2- levelsy-指數級別4沒有找到
所示,但是數字文字作品奇妙。
這裏應該使用什麼語法?
ADDITION:這是我在SCN上找到的一個示例代碼片段,它完美地工作。爲什麼如此?
DEFINE ADD_MAPPING.
p_c = &1.
CONDENSE p_c.
CONCATENATE 'p_old' p_c INTO p_c.
ASSIGN (p_c) TO <fs>.
WRITE <fs>.
END-OF-DEFINITION.
DO 14 TIMES.
ADD_MAPPING sy-index.
ENDDO.
P.S.是的,我知道宏是不可破壞的,不安全的,完全不應該使用,但我對這個特殊問題感興趣,而不是最佳實踐建議。
PS:我沒有看到你在'fill'宏中使用第5個參數(level4)...... – Marius