我想访问TEST-INJECTION范围之外的变量。为了弄清楚我的意思,请考虑以下示例:
DATA lt_doc_import TYPE zcl_za_doc_cleaner=>tt_doc_protocol.
MOVE-CORRESPONDING mo_dc_cleaner->mt_doc_import TO lt_doc_import.
TEST-INJECTION query_doc_protocol.
rt_doc_protocol = lt_doc_import.
END-TEST-INJECTION.
DATA(lt_protocol) = mo_dc_cleaner->query_doc_protocol( ).
mo_dc_cleaner->filter_delete_protocol(
EXPORTING
it_doc_import = mo_dc_cleaner->mt_doc_import
it_doc_protocol = lt_protocol
IMPORTING
et_doc_import = mo_dc_cleaner->mt_doc_import
et_msg = DATA(lt_msg)
).
DESCRIBE TABLE lt_msg LINES DATA(lv_msg).
DESCRIBE TABLE mo_dc_cleaner->mt_doc_import LINES DATA(lv_doc_import).
编译器在抱怨变量lt_doc_import是未知的。如何从TEST-INJECTION
中获取变量?
答案 0 :(得分:2)
SAP documentation对此主题的报价是...
注入无法访问在指定测试接缝位置不可见的类型和对象。
这尤其适用于注入中定义的测试类和测试方法的类型和对象。这些类型和对象位于语句TEST-INJECTION的位置,但在注入中不可见。
很遗憾,无法访问与TEST-INJECTION
相同作用域的变量。您只能访问在TEST-SEAM
相同范围内也可见的变量。