关于 abap 函数 CALL FUNCTION RFC_READ_TABLE DESTINATION 读取其他系统数据失败问题
在 sm59 测试连接系统是成功的
但是使用 RFC_READ_TABLE 却查不到,返回 sy-subrc = 7,p_dest 为 目标系统
代码如下:
CALL FUNCTION 'RFC_READ_TABLE' DESTINATION p_dest
EXPORTING
query_table = p_tname
IMPORTING
lines_per_record = lv_lines
TABLES
options = lt_options
fields = lt_fields
data = lt_data
EXCEPTIONS
table_not_available = 1
table_without_data = 2
option_not_valid = 3
field_not_valid = 4
not_authorized = 5
data_buffer_exceeded = 6
OTHERS = 7.
IF sy-subrc EQ 7.
ENDIF.
请问怎么解决吗?
RFC_READ_TABLE 函数返回 sy-subrc = 7 时,表示读取表格数据出错,一般是由于以下原因:
目标系统中没有指定的表格或表格不可用。
选项或字段中指定了无效值。
数据缓冲区不够大。
针对这个问题,你可以按照以下步骤进行排查:
确认目标系统中是否有指定的表格,表格是否可用。你可以使用 SE16 或 SE11 等工具进行确认。
确认选项和字段中是否指定了有效值。可以使用 ST05 或 ST12 等工具进行 SQL 语句的跟踪,查看是否有错误的 SQL 语句。
如果数据缓冲区不够大,可以尝试调整 lt_data 的大小,或者使用 BAPI 方法来读取数据。答案参考来自 https://www.wodianping.com/