abap - 如何在 TEST-INJECTION 之外获取变量?
问题描述
我想访问 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
?
解决方案
SAP文档中关于该主题的引文表明......
注入无法访问在指定测试接缝位置不可见的类型和对象。
这尤其适用于注入中定义的测试类和测试方法的类型和对象。这些类型和对象被放置在语句TEST-INJECTION的位置,但是在注入中是不可见的。
所以不幸的是,无法访问与TEST-INJECTION
. 您只能访问在相同范围内也可见的变量TEST-SEAM
。
推荐阅读
- arrays - 设置可见性槽属性不起作用 actionscript 3.0
- android - Swipte to Refresh 不断添加 TextViews
- hive - 在 Hive 表中重命名名称为 count( distinct( id )) 的列
- sql - 使用 DATEADD 后如何转换值
- java - JUnit 5 是否支持按字母顺序或任何类似功能执行测试方法?
- asp.net-mvc - 如何将值从 PartialView 传递到 View ASP.NET MVC
- c# - 如何使用 Confluent.Kafka .Net 客户端创建 Kafka 主题
- c# - 使用 IEnumerable 初始化的 HashSet 包含重复元素
- windows - 从 Go 程序调用 Windows 批处理文件,使其在新窗口中打开
- java - JHipster 新项目无法运行