0

当发生来自数据源的负载时,我试图在 DSO 中填充 infoobject 0LOGSYS。这个想法是您可以告诉特定要求需要从哪个源系统加载数据。到目前为止,我已经为 0LOGSYS 的转换规则设置了一个例程。没有语法错误,一切都在加载期间运行,但没有填充数据。试图调试,但由于某种原因我的 BREAKPOINT 没有被拾起。

这是我放在例程中的代码。另外,我正在尝试在不分配任何源字段的情况下执行此操作,因此这可能会导致问题。不过不确定。

TYPE-POOLS: RSSM.

Data: G_S_MINFO TYPE RSSM_S_MINFO.

CALL FUNCTION 'RSDG_ID_GET_FROM_LOGSYS'

EXPORTING

i_source_system = G_S_MINFO-LOGSYS

IMPORTING

e_soursysid = RESULT

EXCEPTIONS

id_not_found = 1.
4

2 回答 2

1

以不同的方式解决了这个问题。可以通过“if_rsbk_request_admintab_view”的方法从任何请求中提取运行时属性,该方法在每个转换例程开始时自动实例化。这是我放在例程中的代码。

*declaring a local variable like the result type LOGSYS
Data: lvSource like RESULT.

*runs a method to get the source system from the runtime attributes of
*the request
*"p_r_request" is an instance of "if_rsbk_request_admintab_view" which
*has many different methods for runtime attributes
lvSource = p_r_request->GET_LOGSYS( ).
RESULT =  lvSource.
于 2012-12-06T22:07:14.013 回答
0

如果这是完整的源代码,那么没有返回任何内容也就不足为奇了。您声明了一个名为 的新结构化变量G_S_MINFO,不为其分配任何值并返回其内容。除非您从代码示例中删除了应该用值填充变量的步骤,否则如果返回的不是初始值,那将是一个严重的错误。

编辑:即使使用更新的代码,我仍然怀疑这是否可行。现在您传递G_S_MINFO-LOGSYS给一个功能模块,该模块应该在不初始化的情况下查找一些系统 ID。垃圾进垃圾出。或者在这种情况下,初始值输入,初始值输出。

于 2012-12-06T07:48:17.560 回答