如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版

简介: 如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版

本教程之前的文章,我们已经介绍了在 SAP ABAP OData 服务里,如何完成某个模型节点的增删改查,以及各种排序,过滤等操作:



在 SAP ABAP OData 服务实现中,还存在一个叫做 Function Import 的概念,它允许用户在 OData 模型中,定义并实现特定的业务逻辑,并且这些逻辑不需要直接定义在 OData 模型的数据实体上


换言之,Function Import 允许开发者在 OData 服务中暴露自定义的函数方法,这些方法可以执行不依赖于特定实体的操作,比如计算、审批流程触发、或者调用系统外部的服务等。


本教程之前的文章,我们介绍了通过 HTTP PATCH 和 PUT 两种方式,修改一本图书库存的操作:


本文我们通过修改图书状态的例子,介绍如何给事务码 SEGW 里的 OData 模型,实现 function import.

我们假设这样一个业务场景,给图书模型对应的后台数据库表,增添一个 STATUS 字段,为简单起见,其数据类型就为字符型,长度为 1.


当 STATUS 值为 1 时,代表该图书可以通过在线商城等前端应用访问,当 STATUS 值为 0 时,代表其暂时下架,一般的用户,无法通过在线商城等应用看到这本书。


除了给数据库表增添这个 STATUS 字段外,我们还要给 OData 模型也对应增添这个字段。


具体做法如下。事务码 SEGW 里,模型 Book 对应的 ABAP Structure 为 ZTS_BOOK:

因此我们需要将 ABAP Structure ZTS_BOOK 也对应增添一个 STATUS 字段:


然后进入 SEGW 事务码,点击图例1 所示的按钮,给 Book 模型新增一个 Status 字段,然后将这个 STATUS 字段,绑定到 ZTS_STRUCTURE 的同名字段,如下图图 2 所示。


最后别忘了点击图例 3 所示的激活按钮,重新生成运行时资源。

模型层面的增强结束之后,下面我们开始动手开发 Function Import.


于是我们开发一个名叫 PutToStore 的 Function Import, 意思是将指定的图书的 STATUS 状态,设置为 1,也就是执行图书上架的操作。


下面是详细的实现步骤。

相关文章
|
2月前
|
Java Linux Windows
【Azure 应用服务】App Service / Function App 修改系统时区为中国时区的办法(Azure中所有服务的默认时间都为UTC时间,转换为北京时间需要+8小时)
【Azure 应用服务】App Service / Function App 修改系统时区为中国时区的办法(Azure中所有服务的默认时间都为UTC时间,转换为北京时间需要+8小时)
|
2月前
|
消息中间件 域名解析 网络协议
【Azure 应用服务】部署Kafka Trigger Function到Azure Function服务中,解决自定义域名解析难题
【Azure 应用服务】部署Kafka Trigger Function到Azure Function服务中,解决自定义域名解析难题
|
5月前
|
安全 API 数据库
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
5月前
|
前端开发 开发工具 Android开发
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
|
5月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
|
5月前
|
开发者 供应链 BI
SAP ABAP CALL SUBSCREEN 代码解析
SAP ABAP CALL SUBSCREEN 代码解析
|
5月前
|
存储 数据处理 开发者
ABAP 如何把 unicode 代码点转换成字符
ABAP 如何把 unicode 代码点转换成字符
|
5月前
|
存储
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
使用 ABAP 代码打印出 SAP CRM 系统里所有维护了 Sales Area 的 business partner id
|
5月前
|
SQL 数据库
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)