当前位置 : 主页 > 编程语言 > java >

SAP SEGW 事物码里的 Function Import

来源:互联网 收集:自由互联 发布时间:2022-07-17
开放数据协议(OData)包括标准的 CRUD (创建、检索、更新和删除)操作,这些操作映射到 HTTP 方法的 POST、GET、PUT/MERGE 和 Delete 几类。 此外,OData还支持进一步的服务操作:​​Function Impo

开放数据协议(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 的例子如下:

SAP SEGW 事物码里的 Function Import_调用函数

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

  • Return Type Kind:

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

SAP SEGW 事物码里的 Function Import_实体类型_02

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

SAP SEGW 事物码里的 Function Import_自定义_03

如果 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方法调用函数导入。

上一篇:如何由 moment 对象 获取 时间对象
下一篇:没有了
网友评论