Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date SAP HANA十进制到时间戳或秒日期SLT_Date_Abap_Hana_Slt - Fatal编程技术网

Date SAP HANA十进制到时间戳或秒日期SLT

Date SAP HANA十进制到时间戳或秒日期SLT,date,abap,hana,slt,Date,Abap,Hana,Slt,我正在使用SLT将表加载到Hana数据库中。SLT使用ABAP字典并将时间戳作为十进制(15,0)发送到HANA DB。一旦通过计算视图中的计算列进入HANA DB,我将尝试将小数转换为时间戳或秒日期。表如下所示: Select to_timestamp(DELETE_TIME) FROM SLT_REP.AUSP Select to_seconddate(DELETE_TIME) FROM SLT_REP.AUSP 我运行了一个小的SLT转换来填充27-30列。SLT中的ABAP层基

我正在使用SLT将表加载到Hana数据库中。SLT使用ABAP字典并将时间戳作为十进制(15,0)发送到HANA DB。一旦通过计算视图中的计算列进入HANA DB,我将尝试将小数转换为时间戳或秒日期。表如下所示:

Select to_timestamp(DELETE_TIME)
 FROM SLT_REP.AUSP

Select to_seconddate(DELETE_TIME)
 FROM SLT_REP.AUSP

我运行了一个小的SLT转换来填充27-30列。SLT中的ABAP层基于数据库事务填充列

当我尝试将第28-30列转换为时间戳或秒日期时,问题就出现了。使用如下语法:

Select to_timestamp(DELETE_TIME)
 FROM SLT_REP.AUSP

Select to_seconddate(DELETE_TIME)
 FROM SLT_REP.AUSP
我得到以下错误:

问题是,它有时也会起作用:

计算列中的语法如下所示:

Select to_timestamp(DELETE_TIME)
 FROM SLT_REP.AUSP

Select to_seconddate(DELETE_TIME)
 FROM SLT_REP.AUSP

计算视图中的错误为:


是否有人找到了一种将ABAP时间戳(十进制(15,0))转换为HANA中的时间戳或Seconddate的好方法?

这里有一些转换函数,您可以使用(遗憾的是,没有很好的文档记录)


问题在于ABAP数据类型。我将目标变量声明为DEC(15,0)。在某些情况下,提取数据的ABAP将时间戳舍入到第60秒。一旦进入目标Hana,当时间看起来像“20150101121060”,最后两位是第60秒时,to_时间戳(目标_字段)将返回无效。这是无效的,将失败。基础Hana层并不在意,因为它只是将长度14放入字段中。我将源变量更改为DEC(21,0)。这消除了ABAP舍入并解决了我的问题

你的消息来源是什么?我希望将varchar'2011-01-01-00.00.00.000000'转换为时间戳/seconddate@ThorstenNiehues什么的来源?这个函数的来源。我没有通过Google/Startpage找到它,我想浏览一下,看看还有哪些其他功能可用。在我的演示文稿中,您将找到更多功能以及如何找到它们。