ITPub博客

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

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

原创 Linux操作系统 作者:magiclhq 时间:2009-05-06 07:50:33 0 删除 编辑

下面是工作中发现的一个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.

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

 

 

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

上一篇: 外语学习经验
请登录后发表评论 登录
全部评论

注册时间:2009-01-02

  • 博文量
    33
  • 访问量
    67843