abap - CL_SALV_BS_RUNTIME_INFO 通过 RFC 返回空引用
问题描述
这段代码已经运行了好几个月了:
SUBMIT (IV_REPORT_NAME)
WITH SELECTION-TABLE selection_table
USING SELECTION-SET IV_SELECTION_SET_VARIANT
AND RETURN.
DATA lr_data_descr TYPE REF TO cl_abap_datadescr.
DATA lr_data_line_descr TYPE REF TO cl_abap_datadescr.
cl_salv_bs_runtime_info=>get_data_ref( r_data_descr = lr_data_descr
r_data_line_descr = lr_data_line_descr ).
IF lr_data_descr IS NOT BOUND.
ev_result_json = '[]'.
EXIT.
ENDIF.
但在其中一种情况下,它通过 RFC 调用并抛出
lr_data_descr 未绑定
它通过 SE37 工作正常,但如果通过 RFC 执行,尽管我对 RFC 和 SE37 使用相同的用户(类型“服务”)、相同的输入和相同的代码,但会引发错误。
为什么有区别?有没有办法得到一些错误信息?
如果我能得到它不受约束的原因,这真的会有所帮助。我调试到 get_data_ref() 并发现这条线的行为不同:
import t_component to lt_component from memory id
cl_salv_bs_runtime_info=>c_memid_data_def.
if sy-subrc eq 0.
如果我在 se37 中测试功能模块,则为sy-subrc
0,如果我与同一用户进行外部调试,sy-subrc
则为 4。
这是一份临时报告,它的名字是AQZZZMM=========ZME80FN=======
解决方案
推荐阅读
- exchange-server - 刺激收件人登录邮件交换服务器?
- react-native - 带有Tracker的react-native-meteor不必要地每秒重复订阅
- python - 难以通过串行数据将数字从 Arduino 发送到 Python
- excel - VBA - 如何在“文件名”中参考其他打开的工作簿的“单元格值”来“另存为”
- visual-studio - 使用远程 docker 主机调试 Visual Studio 容器
- python - 如何在多个条件下使用 np.arwhere?
- go - 如何通过“go get”使用仅二进制包
- python - Def main():给我错误
- php - PHPMailer、SMTP 和 gmail 问题
- php - 通过用户选择的随机 ID 显示无限行(由 php 创建)