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 OData错误消息: Invalid parametertype used at function XXXX
- when is SAP UI5 where is title 'Scaffold in Shell integration test' defined
- SAP ABAP Function Module 的动态调用方式使用方式介绍试读版
- 使用代码给 SAP CRM appointment 和 Opportunity 创建关联关系
- 使用 SAP CDS view SQL Function 将视图某些字段进行合并
- SAP ABAP Platform 1909最新版的 docker 镜像
- 如何在SAP S/4HANA里创建自定义的partner function
- SAP CDS view自学教程之六:如何在CDS view里消费table function
- Visitor(访问者)模式在SAP CDS view测试框架中的灵活运用
- 什么是SAP CRM WebClient UI的component usage
- SAP BOPF BO draft状态的数据激活原理
- SAP 电商云 Spartacus 产品明细页面的 canActivate 执行逻辑 - isUrlProtected
- SAP Spartacus index.html 里的 occ-backend-base-url 如何被解析的?
- 如何安装指定版本的 SAP Spartacus
- SAP Spartacus自定义指令cxOutlet的工作原理
- SAP Spartacus的Responsive和adaptive特性
- 在SAP C4C TI(Thing Inspector)页面里添加自定义UI
- SAP CRM partner function在客户项目中的实际用途
- 如何创建最简单的 SAP Kyma Function
- SAP云平台Extension Factory和微软Azure上的Lambda Function
- SAP UI5 应用开发教程之八十八 - SAP UI5 Mock 服务器如何实现自定义 Function Import 试读版
- SAP UI5框架Component.js里extend函数的实现原理
- 从ABAP Netweaver的SICF到SAP Kyma的Lambda Function