直接取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选择框,第一个选择框里面的数据是单位,第二个选择框中的数据是对应单位的人,因为人可能有重 ...
随机推荐
- 泛型之Dictionary
Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的:Dictionary<[key], [value]> ...
- SELECT时为何要加WITH(NOLOCK)
此文章非原创,仅为分享.学习!! 要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑.其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH ( ...
- Shared Assembilies and Strongly Named Assemblies
the .NET Framework has in place to deal with versioning problems. Two Kinds of Assemblies, Two Kinds ...
- [JAVA设计模式]第三部分:结构模式
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- SQL 批量删除数据表
) while(exists(select * from sysobjects where name like '表名前缀%')) begin select @name=name from sysob ...
- iOS - Swift NSDate 时间
前言 NSDate public class NSDate : NSObject, NSCopying, NSSecureCoding NSDate 用来表示公历的 GMT 时间(格林威治时间).是独 ...
- Java中的AWT进阶
围棋 package ch11; /** * Created by Jiqing on 2016/12/4. */ import java.awt.*; import javax.swing.*; i ...
- 在 Windows XP 下查看所有卷标信息
http://support.hp.com/cn-zh/document/c01270024 点击“开始”,在“开始搜索”中输入:diskpart,然后按键盘“回车”键. 在“命令行窗口”中,等待“D ...
- 【linux 命令】:查看系统开机,关机时间【转载】
转载原文:http://www.cnblogs.com/kerrycode/p/3759395.html 看Linux开机关机时间的方法(非常全面) 1: who 命令查看 who -b 查看最后一次 ...
- 【linux命令】:查看系统运行状态,命令top 【转载】
原文:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html 简介 top命令是Linux下常用的性能分析工具,能够实时显示系 ...