ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 通用RFC可以远程读取R3 TABLE 数据基本使用

通用RFC可以远程读取R3 TABLE 数据基本使用

原创 Linux操作系统 作者:heart_smile 时间:2010-02-25 15:01:44 0 删除 编辑

通用RFC可以远程读取R3 TABLE 数据基本使用


下面是工作中发现的一个RFC可以远程读取R3 TABLE数据基本使用方法,在使用过程中发现部分数据库表无法读取,但这个可以做为处理问题的一种方法供参考:



/*.............

parameters: p_client like rfcdes-RFCDEST.

data: l_OPTIONS like RFC_DB_OPT occurs 0 with header line. /*可以下SQL查询条件筛选数据纪录;

data: l_FIELDS like RFC_DB_FLD occurs 0 with header line. /*返回数据表的字段长度信息;

data: l_data like TAB512 occurs 0 with header line. /*返回查询数据信息,可以参考l_FIELDS返回值读取想要的字段数据;

clear: l_options,l_fields,l_data,it_psa.

clear: l_options[],l_fields[],l_data[].



concatenate 'BUDAT =' pl_date into l_options-TEXT SEPARATED BY space.

append l_options.



CALL FUNCTION 'RFC_READ_TABLE' destination p_client

EXPORTING

query_table = 'MKPF'

tables

OPTIONS = l_options

fields = l_fields

data = l_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 <> 0.

if sy-subrc = 1. write:/ 'TABLE_NOT_AVAILABLE'.

elseif sy-subrc = 2. write:/ 'TABLE_WITHOUT_DATA'.

elseif sy-subrc = 3. write:/ 'OPTION_NOT_VALID'.

elseif sy-subrc = 4. write:/ 'FIELD_NOT_VALID'.

elseif sy-subrc = 5. write:/ 'NOT_AUTHORIZED'.

elseif sy-subrc = 6. write:/ 'DATA_BUFFER_EXCEEDED'.

elseif sy-subrc = 7. write:/ 'OTHERS'.

endif.

exit.

endif.



loop at l_data.

itab-mblnr = l_data-WA+3(10).

itab-budat = l_data-WA+31(8).

itab-CPUDT = l_data-WA+39(8).

append itab.

endloop.

/*.............

引用:http://space.itpub.net/9381143/viewspace-592709


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10339719/viewspace-627832/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-11-15

  • 博文量
    32
  • 访问量
    73124