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

中间件_oracle数据库分页_稳定性好

小七 141 0

关于OData$batch processing已经有很多文章。这些都是丰富知识的。本文试图提供一些更实际的例子,说明如何显式地使用json进行$batch处理。本系列共分两部分,涵盖$batch processing的基本和高级功能。

主题包括:

1)$batch wit GET,POST&PUT

2)$batch with$filter

3)变更集处理–默认行为

4)变更集处理–延迟处理

5)比较默认与延迟

6)使用内容ID

环境是:

1)Netweaver7.4 EHP7 GWFND 740 SPS 22

2)邮递员客户端

采用的Odata模型为物料,与工厂对应

以下为Odata模型:

Odata模型

导航与关联

准备邮递员客户端

获取X-CSRF-TOKEN

请求主体:注意,如果没有"接受",个人用云服务器,结果将以xml

获取请求

响应正文:

GET response

结果详情:

json details

json details

在$batch中的这些取数操作默认是并行处理的。为特定服务启用/禁用并行化的设置可以通过/IWBEP/CONF\u service

启用/禁用并行化

从/IWFND/MAINT\u service通过以下方式进行:service implementation->click configuration

Request:

GET with navigation

Response:

GET Response with navigation

json的详细信息结果:

json详细信息

请求:按"Created\u On"日期检索物料

使用$filter获取

其余查询选项与平时基本相同。让我们转到后期操作

在我们进入后期操作之前,是时候引入变更集了。根据SAP,$批处理请求由一系列有序的检索操作和/或更改集组成。

1)更改集是由一个或多个插入、更新或删除操作组成的无序组。检索操作不是一个更改集。

2)每个更改集都被视为单独的LUW,确保"全部"或"无"事务行为

如果有2个更改集,小程序建站,其中包含一些操作,则意味着处理2个LUW。使用$batch和changesets时,软件企业条件,提交和回滚由GW框架完成。下面是一些更改集操作的示例。

示例:包含一个POST操作的更改集

更改集示例

下面的$batch请求包含一个包含一个操作的更改集。

请求:

包含一个POST操作的更改集

响应:

POST Response

内部的更改集由2个API方法处理:-

CHANGESET\u BEGIN–默认情况下,每个变更集只允许1个操作

变更集结束–此处完成修改更新。框架在这个方法的末尾发出提交工作

请求主体:变更集C01有2个POST操作

变更集C01

变更集C01

响应:一个变更集中不允许有多个操作

不允许有多个操作

为了有多个操作,淘客大玩家,需要多个更改集

以下$batch请求包含:

更改集C01–1 POST operation.

更改集C02–1 POST operation.

记住每个更改集将被视为一个单独的LUW.

请求主体:

更改集C01 POST

更改集C02 POST

响应:

深插入POST响应

深插入POST响应

假设其中一个变更集被中止,这不会影响另一个变更集。

下面的$batch request包含两个变更集。其中一个肯定会失败。

更改集C01–LUW将因输入错误而出错

更改集C02–此LUW将成功

请求主体:

操作中值错误的更改集

操作成功的更改集

响应:

响应更改集C01和C02

每个更改集允许一个操作。这是默认行为。

要在更改集中处理多个操作,必须更改默认行为。这是使用延迟模式实现的。它也被称为延迟处理。

我们如何做到这一点?我们重新定义了后端数据提供程序的这些方法

DPC Change set methods

,因此本质上我们使用defer mode

1)通过实现CHANGESET\u BEGIN来设置defer mode='X'。这表明后端数据提供程序能够同时处理多个操作。

2)后端数据提供程序将使用新方法CHANGESET\u process处理多个操作。此方法收集所有更新和修改。确保在LUW中没有调用commit来遵守ALL or Nothing原则。

3)在变更集的末尾,云主机云服务器,调用CHANGESET\u end方法。框架在这里发布提交工作来执行数据库更新。

引入延迟模式处理,通过处理更改集中的多个操作来实现性能。