远程主动读取数据 RFC_READ_TABLE

 IF IM_UDATE1 <> IM_UDATE2."get data from bw
    CLEAR IT_SEL_TAB.
    IT_SEL_TAB '( /BIC/Z01CH0184 >= '''.
    IT_SEL_TAB+20(1''''.
    IT_SEL_TAB+21(8= IM_UDATE1.
    IT_SEL_TAB+29(1''''.
    IT_SEL_TAB+30(24' AND /BIC/Z01CH0184 <= '''.
    IT_SEL_TAB+54(8= IM_UDATE2.
    IT_SEL_TAB+62(1''''.
    IT_SEL_TAB+63(2' )'.
    APPEND IT_SEL_TAB.
  ELSE.
    CLEAR IT_SEL_TAB.
    IT_SEL_TAB '( /BIC/Z01CH0184 = '''.
    IT_SEL_TAB+20(8= IM_UDATE1.
    IT_SEL_TAB+28(1''''.
    IT_SEL_TAB+29(2' )'.
    APPEND IT_SEL_TAB.

  ENDIF.
*--------------------OPTIONS(WHERE)----------------------*

*-------------------get field catalog--------------------*
  NAMETAB1-FIELDNAME '/BIC/Z01CH0165'.
  APPEND NAMETAB1.
  NAMETAB1-FIELDNAME '/BIC/Z01CH0173'.
  APPEND NAMETAB1.

  NAMETAB1-FIELDNAME '/BIC/Z01CH0174'.
  APPEND NAMETAB1.
  NAMETAB1-FIELDNAME '/BIC/Z01CH0175'.
  APPEND NAMETAB1.
  NAMETAB1-FIELDNAME '/BIC/Z01CH0183'.
  APPEND NAMETAB1.
  NAMETAB1-FIELDNAME '/BIC/Z01CH0184'.
  APPEND NAMETAB1.
*-------------------get field catalog--------------------*

*-------------------get data from BW---------------------*
  CALL FUNCTION 'RFC_READ_TABLE'
*    DESTINATION LS_DESTINATIN
    DESTINATION 'BWPCLNT001'  "BW SYSTEM
    EXPORTING
      QUERY_TABLE                '/BIC/AZ01CM00400' "The table from BW system
*    DELIMITER                  = ' '
*    NO_DATA                    = ' '
*    ROWSKIPS                   = 0
*    ROWCOUNT                   = 0
    TABLES
      OPTIONS                    = IT_SEL_TAB[]
      FIELDS                     = NAMETAB1[]
      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 <> 0.
    CASE SY-SUBRC.
      WHEN 1.
        E_MSGTY 'E'.
        E_ERMSG 'RFC Error : Internal Error'.
      WHEN 2.
        E_MSGTY 'E'.
        E_ERMSG 'RFC Error : No fields in table' .

      WHEN 3.
        E_MSGTY 'E'.
        E_ERMSG =  'RFC Error : Table is not active'.

      WHEN 4.
        E_MSGTY 'E'.
        E_ERMSG =  'RFC Error : No authorization' .

      WHEN OTHERS.
        E_MSGTY 'E'.
        E_ERMSG =  'RFC Error : No records selected'.
    ENDCASE.
  ENDIF.

转载于:https://www.cnblogs.com/sap-ronny/p/7772856.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值