SAP SEGW 事物码里的 Function Import

开放数据协议(OData)包括标准的 CRUD (创建、检索、更新和删除)操作,这些操作映射到 HTTP 方法的 POST、GET、PUT/MERGE 和 Delete 几类。

此外,OData还支持进一步的服务操作:??Function Import??,这些操作可以由HTTP方法GET或POST调用,用于处理不能映射到标准 CRUD 操作的任何内容。

通过在数据模型中创建 ??Function Import??,可以在 service Builder 中实现此类额外的服务操作。

例如,您可以为以下自定义操作创建函数导入:

Work Item confirmation检查航班的可用性

虽然创建新的函数导入来调用自定义操作很简单,但是如果可以使用标准的 CRUD 操作来调用要使用的操作,那么就应该尽量避免函数导入的创建。也就是说,应该只为不能使用标准操作调用的自定义操作创建函数导入。

Function import 的例子如下:

Function Import 有下列属性需要维护:

Return Type Kind:

可以在 Complex Type 和 Entity Type 里选择,也可以选择不返回任何结果。这种情况下,可以理解成一个产生side effect 的函数执行,比如审批某个 work item.

Return Type: 输入希望函数导入返回的复杂类型或实体类型的名称。可以使用输入帮助从项目中选择现有的复杂类型或实体类型。如果输入帮助为空,则必须首先在项目中创建相关的复杂类型或实体类型。如果选择了不返回,此字段是不可编辑的。Return Cardinality:

如果 Function Import 的返回类型是实体类型,并且:

如果实体类型的关键属性为核心类型 ??Edm.DateTime???, ??Edm.DateTimeoffset??? 或 ??Edm.Guid???,则返回基数选择成 ??0..1???是不允许的,因为对于这些核心类型,初始 ABAP 值并不是一个有效的 edm 值,它可能会导致运行时异常。因此无法选择 ??0..1??.

如果实体类型的关键属性不是??Edm.DateTime???, ??Edm.DateTimeoffset??? 或 ??Edm.Guid???,并返回基数 ??0..1???, 此时会显示一个警告消息。因为根据 OData 标准,??0..1?? 不建议用于任何核心类型。

升级时,如果你的项目包含Function Import,它的返回类型是一个实体类型,核心类型Edm的关键字段。DateTime,电火花。DateTimeoffset或电火花。Guid,你会得到一条错误消息。

选择 HTTP 方法来调用函数导入。如果不选择HTTP方法,则必须使用GET或POST方法调用函数导入。

在乎的是看风景的心情,旅行不会因为美丽的风景终止。

SAP SEGW 事物码里的 Function Import

相关文章:

你感兴趣的文章:

标签云: