直接取HANA数据库数据,动态QUERY
"COPY别人的
TYPE-POOLS:ADBC. DATA LV_SQL TYPE STRING.
DATA LV_FROM TYPE STRING.
DATA LV_WHERE TYPE STRING.
DATA LV_WHERE2 TYPE STRING.
DATA LV_WHERE3 TYPE STRING.
DATA : V_ROWS TYPE I.
DATA : LT_META TYPE ADBC_RS_METADATA_DESCR_TAB,
LT_COLUMN TYPE ADBC_COLUMN_TAB,
LS_META LIKE LINE OF LT_META,
LS_COLUMN LIKE LINE OF LT_COLUMN. *Define variables for the connection
DATA: LR_DBCONN TYPE REF TO CL_SQL_CONNECTION,
LV_CON TYPE DBCON_NAME VALUE 'HDB',
LR_SQL_ENV TYPE REF TO CL_SQL_STATEMENT,
LR_SQL_RESULT TYPE REF TO CL_SQL_RESULT_SET,
LR_SQL_EXC TYPE REF TO CX_SQL_EXCEPTION, "#EC NEEDED
LR_PAR_EXC TYPE REF TO CX_PARAMETER_INVALID, "#EC NEEDED
DREF TYPE REF TO DATA,
TAB_REF TYPE REF TO DATA,
GT_COMPONENTS TYPE CL_ABAP_STRUCTDESCR=>COMPONENT_TABLE,
GS_COMPONENTS LIKE LINE OF GT_COMPONENTS.
FIELD-SYMBOLS : <TABLE> TYPE ANY TABLE,
<STR> TYPE ANY. *Get connection
LR_DBCONN = CL_SQL_CONNECTION=>GET_CONNECTION( CON_NAME = LV_CON ).
CREATE OBJECT LR_SQL_ENV
EXPORTING
CON_REF = LR_DBCONN. LV_SQL = 'SELECT * FROM ZLYTEST01'. LR_SQL_RESULT = LR_SQL_ENV->EXECUTE_QUERY( LV_SQL ).
LT_META = LR_SQL_RESULT->GET_METADATA( ). LOOP AT LT_META INTO LS_META.
LS_COLUMN = LS_META-COLUMN_NAME.
APPEND LS_COLUMN TO LT_COLUMN.
GS_COMPONENTS-NAME = LS_META-COLUMN_NAME.
GS_COMPONENTS-TYPE ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( P_DATA = LS_META-DATA_TYPE ).
APPEND GS_COMPONENTS TO GT_COMPONENTS.
ENDLOOP. DATA LR_TABLEDESCR TYPE REF TO CL_ABAP_TABLEDESCR. LR_TABLEDESCR = CL_ABAP_TABLEDESCR=>CREATE(
P_LINE_TYPE = CL_ABAP_STRUCTDESCR=>CREATE( P_COMPONENTS = GT_COMPONENTS ) ). CREATE DATA TAB_REF TYPE HANDLE LR_TABLEDESCR. * get REFERENCE OF LT_DATA INTO tab_ref.
LR_SQL_RESULT->SET_PARAM_TABLE(
EXPORTING
ITAB_REF = TAB_REF " Reference to Output Variable
CORRESPONDING_FIELDS = LT_COLUMN ). **Execute the query
LR_SQL_RESULT->NEXT_PACKAGE( ).
V_ROWS = LR_SQL_RESULT->NEXT( ). ASSIGN TAB_REF->* TO <TABLE>.
直接取HANA数据库数据,动态QUERY的更多相关文章
- FLUME安装&环境(二):拉取MySQL数据库数据到Kafka
Flume安装成功,环境变量配置成功后,开始进行agent配置文件设置. 1.agent配置文件(mysql+flume+Kafka) #利用Flume将MySQL表数据准实时抽取到Kafka a1. ...
- C#通过ODBC查询HANA数据库数据
创建HANA的ODBC数据库连接. 默认在控制面板——>管理工具——>数据源(ODBC) 提示:如果系统是64位的,要运行 C:\Windows\SysWOW64\odbcad32.exe ...
- C# 数据库数据动态插入(反射)
/// <summary> /// 提供将MySqlDataReader转成T类型的扩展方法 /// </summary> public static class MySqlD ...
- node 爬虫 --- 将爬取到的数据,保存到 mysql 数据库中
步骤一:安装必要模块 (1)cheerio模块 ,一个类似jQuery的选择器模块,分析HTML利器. (2)request模块,让http请求变的更加简单 (3)mysql模块,node连接mysq ...
- 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图
如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?
- SAP HANA SLT 将Oracle表 数据同步到HANA数据库
简单介绍SLT 同步数据的整个配置过程: 在SLT系统中创建与Oracle的链接 在HANA监控平台上,创建Configuration 创建表的同步作业 ——————————————BEGIN———— ...
- jdbc mysql 取数,突然取不到数据,数据库中有数据
项目用的是jdbc+mysql,局网取数据的时候,数据一切正常,但是传到服务器上以后,曾经是好的 不知道为什么,近期一传就取不到数据,发现android写的也没有问题,至少大体上没有语法问题. 跟踪后 ...
- DevExpress 中根据数据库字典动态生成卡式菜单 z
第三方的Devexpress套件因为要使用权限机制控制不同用户进入系统显示菜单所以要配合字典数据动态生成.在WEB中这种问题灰常的轻松在winform里就稍微有点不同为了用DEV实现卡式菜单有组的概念 ...
- smartGWT DataSource数据动态加载
昨天和今天早上,用DataSource从数据库后台动态加载数据,我的业务是这样的: 我有两个SelectItem选择框,第一个选择框里面的数据是单位,第二个选择框中的数据是对应单位的人,因为人可能有重 ...
随机推荐
- ctrl+z暂停任务
(1) CTRL+Z挂起进程并放入后台 (2) jobs 显示当前暂停的进程 (3) bg %N 使第N个任务在后台运行(%前有空格) (4) fg %N 使第N个任务在前台运行 默认bg,fg不带% ...
- GitHub上不错的Android开源项目(三)
收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) GitHub上不错的Android开源项目(一):http://ww ...
- 搭建SSH入过的那些坑
1.添加完相关jar包,写完配置文件,写完测试类,运行提示 WARN:Establishing SSL connection without server's identity verificatio ...
- $.ajax() ,$.post(),$.get() 的用法
在编写代码的过程中,我们会用到一些的需要局部刷新,而且需要数据传递的情况,我们通常是有$.ajax() ,$.post(),$.get() 这三种方式. $.ajax()方法通过 HTTP 请求加载远 ...
- tiled工具使用
转的 在这个分为上下两部分的教程中,我们将介绍如何使用Cocos2D-X和地图编辑器做一款基于地图块的游戏.在这个简单的地图块游戏里,一个精灵将在沙漠里搜寻它可口的西瓜! 在教程的第一部分,我们将介绍 ...
- ASP.NET调用Office Com组件权限设置
ASP.NET在调用Office Com组件时,经常会出现权限限制的问题,而出现如下错误: 现通过以下几步设置,可解决上述问题:(1)64位系统中,请在IIS应用程序池集成模式中应启用调用32位应用程 ...
- php 引用其他action中的方法
例如要调用IndexAction里的isonline(); 可用下列代码 import('@.Action.IndexAction'); $Index=new IndexAction(); $Inde ...
- Gradient Boosted Regression Trees 2
Gradient Boosted Regression Trees 2 Regularization GBRT provide three knobs to control overfitting ...
- 如何删除github里面的文件夹?
按照以下步骤即可(本地删除) 1. git pull you git url2. git checkout 3. rm -r dirName4. git add --all5. git commit ...
- Springmvc中 同步/异步请求参数的传递以及数据的返回
转载:http://blog.csdn.net/qh_java/article/details/44802287 注意: 这里的返回就是返回到jsp页面 **** controller接收前台数据的方 ...