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.

远程主动读取数据 RFC_READ_TABLE的更多相关文章

  1. ArcGIS Engine从服务器(ArcSDE geodatabases)读取数据

    从远程服务器读取数据进行处理,直接贴代码: public class ConnectDB { private static String SERVER = "xxx.xxx.xxx.xxx& ...

  2. 一个I/O线程可以并发处理N个客户端连接和读写操作 I/O复用模型 基于Buf操作NIO可以读取任意位置的数据 Channel中读取数据到Buffer中或将数据 Buffer 中写入到 Channel 事件驱动消息通知观察者模式

    Tomcat那些事儿 https://mp.weixin.qq.com/s?__biz=MzI3MTEwODc5Ng==&mid=2650860016&idx=2&sn=549 ...

  3. 第十七章,txt文件的写入和读取数据结合练习(C++)

    #include <iostream> #include <fstream> int main(int argc, char** argv) { std::string str ...

  4. Delphi判断文件是否正在被使用(CreateFile也可以只是为了读取数据,而不是创建)

    首先,我们先来认识下CreateFile函数,它的原型如下   HANDLE CreateFile( LPCTSTR lpFileName,    //指向文件名的指针 DWORD dwDesired ...

  5. 第十二节,TensorFlow读取数据的几种方法以及队列的使用

    TensorFlow程序读取数据一共有3种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据. 从文件读取数据: 在TensorFlow图的起 ...

  6. ExtJS ComboBox同时加载远程和本地数据

    ExtJS ComboBox同时加载远程和本地数据 原文:http://gblog.hbcf.net/index.php/archives/233 ComboBox比较特殊需求,将远程数据和本地数据同 ...

  7. JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...

  8. struts2中从后台读取数据到<s:select>

    看到网上好多有struts2中从后台读取数据到<s:select>的,但都 不太详细,可能是我自己理解不了吧!所以我自己做了 一个,其中可能 有很多不好的地方,望广大网友指出 结果如图 p ...

  9. [MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据

    继续上一节初始ASP.NET MVC4,继续深入学习,感受了一下微软的MVC4+EF5(EntityFramework5)框架的强大,能够高效的开发出网站应用开发系统,下面就看一下如何用MVC4+EF ...

随机推荐

  1. [转载]String.Empty、string=”” 和null的区别

    String.Empty是string类的一个静态常量: String.Empty和string=””区别不大,因为String.Empty的内部实现是: 1 2 3 4 5 6 7 8 9 10 1 ...

  2. 大数据学习路线:Zookeeper集群管理与选举

    大数据技术的学习,逐渐成为很多程序员的必修课,因为趋势也是因为自己的职业生涯.在各个技术社区分享交流成为很多人学习的方式,今天很荣幸给我们分享一些大数据基础知识,大家可以一起学习! 1.集群机器监控 ...

  3. 一款用于对 WiFi 接入点安全进行渗透测试的工具

    越来越多的设备通过无线传输的方式连接到互联网,以及,大范围可用的 WiFi 接入点为攻击者攻击用户提供了很多机会.通过欺骗用户连接到虚假的 WiFi 接入点,攻击者可以完全控制用户的网络连接,这将使得 ...

  4. Hbase 过滤器的使用

    Filter filter= new RowFilter(CompareFilter.CompareOp.EQUAL,new RegexStringComparator("."+d ...

  5. oj练习---dp专题

    1.POJ 3744 Scout YYF I 经典的dp模型,但是要用到快速矩阵幂加速,分段的思想 # include <stdio.h> # include <algorithm& ...

  6. node.js的on、emit、off封装

    //绑定事件.触发事件和移除事件 //绑定事件 //on(eventName,cb){} //第一步判断当前事件是否存在,如果不存在则初始化:key:[],然后在将回调函数添加到数据中去 let ev ...

  7. kali linux中文输入法

    kali linux中文输入法 已经使用kali linux有一段时间来,越用越喜欢,真的奥! 最近又有宝宝问我kali linux的中文输入法,鉴于当初在坑里蹲了很长时间,还是记录一下吧! The ...

  8. django中模型详解-字段类型与约束条件

    这片博文来详细说明django模型的使用,涉及到django模型的创建,字段介绍,以及django模型的crud操作,以及一对一等操作. 在使用模型之前,我们首先设置数据库选项,django的默认数据 ...

  9. Golang 数组和字符串之间的相互转换[]byte/string

    package main import ( "fmt" ) func main() { str := "hello" arr := []byte(str) fm ...

  10. 【题解】Luogu P4363 [九省联考2018]一双木棋chess

    原题传送门 这道题珂以轮廓线dp解决 经过推导,我们珂以发现下一行的棋子比上一行的棋子少(或等于),而且每一行中的棋子都是从左向右依次排列(从头开始,中间没有空隙) 所以每下完一步棋,棋盘的一部分是有 ...