Hana CD视图中的READ_文本类似功能

Hana CD视图中的READ_文本类似功能,hana,cds,read-text,Hana,Cds,Read Text,我需要阅读为发票、订单等存储的文本。 在ABAP中,我们可以使用READ_TEXT函数模块,但我需要在CD视图中读取它。 有没有一种方法可以在SELECT语句中直接从数据库表中读取文本?我认为主要的问题是将二进制文件转换为文本。因为sap脚本文本以编码的二进制格式存储。有一个sap HANA SQL函数。这可能会有帮助。我没有汉娜平台。不幸的是,我无法尝试 @AbapCatalog.sqlViewName: 'ZMYSELECT' @AbapCatalog.compiler.CompareFil

我需要阅读为发票、订单等存储的文本。 在ABAP中,我们可以使用READ_TEXT函数模块,但我需要在CD视图中读取它。
有没有一种方法可以在SELECT语句中直接从数据库表中读取文本?

我认为主要的问题是将二进制文件转换为文本。因为sap脚本文本以编码的二进制格式存储。有一个sap HANA SQL函数。这可能会有帮助。我没有汉娜平台。不幸的是,我无法尝试

@AbapCatalog.sqlViewName: 'ZMYSELECT'
@AbapCatalog.compiler.CompareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'BinToStr'
define view ztmp_cds_demo
as select from vbak as k 
left outer join stxh as h on k.mandt = h.mandt
           and h.tdobject = 'VBBK'
           and k.vbeln = h.tdname
           and h.tdspras= 'T' 
inner join stxl as l on h.tdobject = l.tdobject  
            and h.tdname  = l.tdname
            and h.tdid    = l.tdid 
            and h.tdspras = l.tdspras   {

    //cast(BINTOSTR(cast(CLUSTR as binary)) as varchar) as id,
    cast(BINTOSTR(cast(CLUSTD as binary)) as varchar) as text
} 
注意:您可能需要为您的案例更改连接、添加一些参数等。 有用链接:


我在ABAP 7.50系统(EHP8)上为我的OData服务使用CD时所做的一件事就是创建一个单独的OData服务,它是一个通用的“标准文本”阅读器。这是一个在SEGW中建模的基于ABAP的OData服务


然后,每当我想在我的应用程序中显示标准文本时,我都会打电话给这项服务。效果很好。似乎在S4中,您可以在CD中完成所有操作。

我相信您可以创建两个CD视图,其中包含STXH、STXL和STXB表的参数,一个用于sap脚本文本,另一个用于非sap脚本文本。但是,最终必须在ABAP中解压缩文本。你为什么需要它?如果是关于性能问题,您可以查看大量阅读的标准文本Merhaba Oguz,我已经有一张CD,可以从各种发票表格中读取数据。我需要显示项目文本等。因为我无法在CDS视图中从表中读取它们,所以我必须在ABAP代码中操作CDS数据,例如,将所有内容捕获到内部表循环中,并使用FM读取。但这种类型的编码与HANA方法不匹配,将数据读取推到了数据库级别Merhaba Eralper。我对此很好奇,你的问题解决了吗?Merhaba Oğuz,不幸的是,当我在CDS视图中尝试查询时,我发现bintostr函数未知,错误阻止激活。当我直接在HANA db上执行查询时,我遇到了无效字符编码错误。所以我还不能解决这个问题Hi Jason,谢谢你告诉我这个选项。据我所知,您在OData方法中调用函数模块read_text来读取通过CD等获取的数据。因此,您可能会根据每条记录进行读取,对吗?我真正想做的是大量阅读。你认为有可能吗?在你自己的odata服务中,你可以做任何你想做的事。。。包括大众阅读标准文本。;-)在我看到的每一个用于文本读取的fm中,都会出现以下导入命令代码块,我希望在AMDP或CDS View SELECT语句中实现这些代码块。我想知道有没有办法?从内部表cluster_选项卡将tline导入rt_行,接受截断“对于Unicode重要->非统一编码”代码页,忽略转换错误导入l_cp。