云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业邮箱_云服务器的原理_年度促销

小七 141 0

这个博客的目的是提供一种在SAPUI5应用程序和它们的OData服务中处理对象服务附件的方法——专注于可重用的服务实用程序结构和类方法。

我曾经处理过许多需要显示和上传附件到Business Object的自定义应用程序服务附件。由于我找不到任何关于这个主题的综合文章,我想分享一些我认为是处理此类附件的最佳方式的东西。

通用对象服务提供了各种SAP应用程序中可用的功能。这些服务围绕一个特定的业务对象。SAP中的业务对象示例包括采购订单、合同、客户等。在本文档中,数据分析怎么做,我们将重点介绍对象服务之一的"附件"。

所有需要对象服务附件的应用程序服务应包括以下类型的实体作为其模型的一部分。附件由对象ID、对象类型、对象类别和文档ID的组合键标识。

例如,请购单12099353的对象服务附件列表如下:

文档ID是SOFD和SOOD表键的组合()。例如,上面的第一个附件可以由以下键唯一标识:Object ID:0012099353;Object Type:BUS2105;Object Category:BO;文档ID:FOL38000000000004EXT43000000005537.

附件的实体将被标记为"媒体类型"

模型提供程序扩展类应重新定义处理此媒体类型实体的DEFINE方法。

三个主要方法GET_ENTITYSET(attachment list)、GET_STREAM和CREATE_STREAM在一个实用程序类中实现,该实用程序类预期将从每个需要对象服务附件的服务中重用。

GET\u ENTITYSET

此方法将检索业务对象的附件列表。正如我们已经看到的,业务对象是通过对象ID、对象类型和对象类别的组合来标识的。这些将作为键/导航源键的一部分提供。

我不喜欢复制粘贴ABAP代码,但会提供高级别的流。

使用方法READ\u LINKS\u of \u OBJECTS of class CL\u BINARY\u RELATION读取对象的链接(ET\u LINKS\u A)上表中的instit\ B字段表示每个附件链接的文档ID。我们看到这个文档id在结构中,您可以进一步查询表SOOD以获取信息,如文件扩展名、创建人、创建日期等

获取流

由于用户将拥有已出现在UploadCollection中的附件列表并选择一个条目,此方法应具有文档id,即键获取附件内容。

从键读取文档ID使用FM SO\u DOCUMENT\u READ\u API1检索文档内容使用FM SCMS \u BINARY \u TO \u XSTRING将十六进制内容转换为原始字符串使用FM SDOK\u MIMETYPE\u GET从扩展派生Mime类型。扩展名将在FM SO\u DOCUMENT\u READ\u API1的结构文档数据的OBJ\u TYPE字段中可用ER\实体应该使用COPY\ DATA\ TO\ REF实用程序方法填充,该方法的结构包含MIME\ TYPE和VALUE(二进制内容)字段。为此,最好使用type/iwbep/cl\u mgw\u abs\u data=>tyu s\u media\u资源。

创建流

对象ID、对象类型和对象类别作为请求头的一部分从UI传递。我们将在本文档后面看到UI部分。下面的代码片段显示了如何在服务实现中从请求头中检索这些信息:

创建附件的主要输入是:

文件内容–是\媒体\资源值文件名–IVïu SLUG业务对象–(Structure sifflporb:对象id、对象类型和对象类别的组合)

高级步骤如下:

使用FM SO\u FOLDER\u ROOT\u id\u GET,区域为'B'来获取文件夹\u id使用FM TRINT\u FILE\u GET\u EXTENSION从文件名获取扩展名使用FM SCMS \u XSTRING \u TO \u BINARY将文件内容转换为二进制使用FM SO_SOLIXTAB_TO_SOLITAB将二进制(SOLIXTAB)转换为SOLITAB使用FM SO\u OBJECT\u INSERT创建文档对象使用类CL\u BINARY\u RELATION或FM BINARY\u RELATION\u CREATE的方法CREATE\u LINK链接文档附件和业务对象别忘了使用COPY\u DATA \u to \u REF实用方法

Display Attachments

返回实体(ER\u实体)"‘ToAttachments’是我的主要业务对象实体的导航属性。格式化程序函数formatImageURL如下所示。记住GET_ENTITYSET(附件列表)将返回前面解释的所有这些部分。

创建/上载附件

在控制器的Init方法中,德国云服务器,在更改事件处理程序上设置集合的上载url

,在头中设置安全令牌。也可以选择为要添加的项目设置缩略图图标:

您需要在instantUpload关闭时调用UploadCollection控件的upload方法。这里我使用的步骤顺序是:

首先创建业务对象在create方法的success处理程序中,物联智能家居,软件企业管理,读取创建的对象id(例如purchasereq)在本地JSON模型中设置object id、object type、object category,在"Before Upload start"事件处理程序中设置为请求的头参数(见下)

,建站快速,设置要传递给CREATE\u STREAM方法的文件名和可选的头参数。

这些头参数应添加到neo中的白名单中-应用程序.json对于从Web IDE环境进行测试的目的。

请参阅Graham Robinson关于构建网关服务的SAUG 2017演示文稿,以了解实现网关服务的详细信息可重用的网关服务实现类。

希望这个博客(我的第一个)对你有用。请在下面登记您的问题和建议。谢谢。