
OData
OData 在 SAP 产品开发中的应用
汪子熙
Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达15年的 SAP 产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign,SAP CRM,SAP Cloud for Customer,SAP S/4HANA,SAP Commerce Cloud(电商云)等标准产品的研发工作。
Jerry 工作中使用 ABAP, Java, JavaScript 和 TypeScript 进行开发, 对包括 SAP UI5 在内的多款 SAP 自研框架有深入的研究。
展开
-
SAP CRM Fiori 应用 My Opportunity 的分页读取逻辑,在 GM4 - AG3 无法正常工作
从OData V2注释转换而来的完整OData V4注释被包含在指定目标的注释文件中的注释所取代。此外,来自“http://www.sap.com/Protocols/SAPData”名称空间的注释从扩展数组中提取出来,并从对象转换为名称前缀为。注意,这是另外发生的,因此下面的示例显示了这两种表示。这样,这样的注释就可以通过简单的相对路径来处理,而不是搜索数组。作为基础,并将现有的sap.ui.model.odata.ODataAnnotations的 V4 直接合并到相应的模型元素。但 task 可以。.原创 2022-08-06 13:50:57 · 34 阅读 · 0 评论 -
SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值试读版
Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。...原创 2022-08-04 18:29:18 · 57 阅读 · 0 评论 -
使用 HTTP PUT, PATCH 以及 MERGE 请求消费 SAP ABAP OData 服务修改操作的实现及其区别试读版
Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。...原创 2022-08-03 16:22:39 · 44 阅读 · 0 评论 -
SAP ABAP Gateway Client 里 OData 测试的 PUT, PATCH, MERGE 请求有什么区别
注意:由于 MERGE 不是 HTTP 规范 [RFC2616] 中定义的动词之一,因此使用 MERGE 动词可能不会像 HTTP 规范中定义的方法那样无缝地通过网络中介。SAP ABAP OData 框架每当触发 PATCH 或 MERGE 调用时,它将首先触发相应的 GET_ENTITY(collect all properties) 方法,然后才执行 UPDATE_ENTITY 方法。作为 PUT 方法的输入,则相同的属性子集将会被传入 UPDATE_ENTITY 方法进行处理。...原创 2022-08-02 22:35:44 · 50 阅读 · 0 评论 -
SAP ABAP OData 服务如何支持删除(Delete)操作试读版
JerryWang,2007年从电子科技大学计算机专业硕士毕业后加入SAP成都研究院工作至今。Jerry是SAP社区导师,SAP中国技术大使。在长达15年的SAP标准产品开发生涯里,Jerry曾经先后参与SAPBusinessByDesign,SAPCRM,SAPCloudforCustomer,SAPS/4HANA,SAPCommerceCloud(电商云)等标准产品的研发工作。...原创 2022-08-01 20:12:03 · 83 阅读 · 0 评论 -
SAP ABAP OData 服务如何支持创建(Create)操作试读版
JerryWang,2007年从电子科技大学计算机专业硕士毕业后加入SAP成都研究院工作至今。Jerry是SAP社区导师,SAP中国技术大使。在长达15年的SAP标准产品开发生涯里,Jerry曾经先后参与SAPBusinessByDesign,SAPCRM,SAPCloudforCustomer,SAPS/4HANA,SAPCommerceCloud(电商云)等标准产品的研发工作。...原创 2022-08-01 10:42:23 · 33 阅读 · 0 评论 -
SAP ABAP OData 服务如何支持 $orderby (排序)操作试读版
JerryWang,2007年从电子科技大学计算机专业硕士毕业后加入SAP成都研究院工作至今。Jerry是SAP社区导师,SAP中国技术大使。在长达15年的SAP标准产品开发生涯里,Jerry曾经先后参与SAPBusinessByDesign,SAPCRM,SAPCloudforCustomer,SAPS/4HANA,SAPCommerceCloud(电商云)等标准产品的研发工作。...原创 2022-07-31 20:43:31 · 67 阅读 · 0 评论 -
使用 Postman 工具高效管理和测试 SAP ABAP OData 服务的试读版
JerryWang,2007年从电子科技大学计算机专业硕士毕业后加入SAP成都研究院工作至今。Jerry是SAP社区导师,SAP中国技术大使。在长达15年的SAP标准产品开发生涯里,Jerry曾经先后参与SAPBusinessByDesign,SAPCRM,SAPCloudforCustomer,SAPS/4HANA,SAPCommerceCloud(电商云)等标准产品的研发工作。...原创 2022-07-31 14:03:10 · 188 阅读 · 0 评论 -
SAP ABAP OData 服务如何支持 $filter (过滤)操作试读版
JerryWang,2007年从电子科技大学计算机专业硕士毕业后加入SAP成都研究院工作至今。Jerry是SAP社区导师,SAP中国技术大使。在长达15年的SAP标准产品开发生涯里,Jerry曾经先后参与SAPBusinessByDesign,SAPCRM,SAPCloudforCustomer,SAPS/4HANA,SAPCommerceCloud(电商云)等标准产品的研发工作。.........原创 2022-07-31 09:08:37 · 87 阅读 · 0 评论 -
SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南试读版
JerryWang,2007年从电子科技大学计算机专业硕士毕业后加入SAP成都研究院工作至今。Jerry是SAP社区导师,SAP中国技术大使。在长达15年的SAP标准产品开发生涯里,Jerry曾经先后参与SAPBusinessByDesign,SAPCRM,SAPCloudforCustomer,SAPS/4HANA,SAPCommerceCloud(电商云)等标准产品的研发工作。...原创 2022-07-29 19:10:24 · 35 阅读 · 0 评论 -
SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的使用方法试读版
JerryWang,2007年从电子科技大学计算机专业硕士毕业后加入SAP成都研究院工作至今。Jerry是SAP社区导师,SAP中国技术大使。在长达15年的SAP标准产品开发生涯里,Jerry曾经先后参与SAPBusinessByDesign,SAPCRM,SAPCloudforCustomer,SAPS/4HANA,SAPCommerceCloud(电商云)等标准产品的研发工作。...原创 2022-07-29 15:03:28 · 36 阅读 · 0 评论 -
SAP Gateway Service Builder 里 Project 的概念
简而言之,ServiceBuilder迎合了所有级别的开发经验,并提供了在不影响质量的情况下,节省时间和提高效率的开发方法。因此,项目为开发人员提供了随时中断服务开发和建模过程的自由,而不必担心运行时工件和丢失数据的风险。在项目中组织服务开发和建模过程的优势在于,整个项目数据可以在系统之间轻松传输,以实现最大效率和重用。SAPGatewayServiceBuilder支持不同的开发方法和生命周期,以提供最大的灵活性,以满足不断变化的开发先决条件并满足不同的需求。如果SAP系统具有。...原创 2022-07-22 09:35:02 · 30 阅读 · 0 评论 -
SAP Gateway Service Builder 里的 OData Model 定义方式
提供最大的灵活性,需要手动定义单个数据模型元素及其属性。这个功能能够重新定义现有SAP网关服务或从SAP系统环境中的框架创建的服务。例如,服务提供者接口(SPI)、SAP业务信息仓库(BW查询)、通用交互层(GenIL)。重新定义服务功能够重用SAP系统环境中存在的各种业务对象和服务。此外,它连接现有的服务操作,因此无需创建单独的服务实现。...原创 2022-07-22 09:33:33 · 35 阅读 · 0 评论 -
SAP Gateway Service Builder 里的 OData 服务实现方式
您还可以定义facets例如Nullable、Default、MaxLength、FixedLength、Precision、Scale。此函数旨在与导入数据源函数(RFC/BOR接口)结合使用,并使开发人员能够将RFC/BOR函数映射到服务操作。在可能的情况下,服务构建器会为导入的RFC/BOR接口建议一个操作映射。OData服务生命周期的最后一个开发阶段是服务维护,无论选择哪种开发方法,都必须执行此操作。可用的注释可能会根据要注释的数据模型工件而有所不同。...原创 2022-07-22 09:32:49 · 49 阅读 · 0 评论 -
关于 SAP SEGW Project Type 的四种不同类型
如果OData服务必须在不修改服务的情况下进行外部注释,请选择引用服务的注释模型。如果系统中没有定义特定于客户的生成策略,则输入Standard作为默认值,表示使用标准生成策略。总之,如果项目中的OData服务要使用标准的SAP注释,请选择ServicewithSAPAnnotations。如果项目中的OData服务要使用基于词汇表的注释,那么选择带有基于词汇表的注释的服务。如果您想在不修改服务的情况下对现有服务的工件进行注解并提供有关工件的附加信息,请选择。的Project类型。...原创 2022-07-22 09:31:33 · 23 阅读 · 0 评论 -
SAP SEGW 里的 Entity Type 作用讲解
实体类型属性必须遵循OData协议允许和提供的数据类型,或者是复杂类型。实体类型必须有唯一标识符,允许属于该实体类型的实体在OData上下文中使用。可以在实体集(EntitySet)中将实体类型分组在一起。Label在ServicewithSAPAnnotations项目中使用,需要维护语言相关的文本标签。如下图所示,OpportunityEntityType的key为guid,通过。下图包括Guidkey在内的所有高亮字段都是entitytype的属性。...原创 2022-07-22 09:28:39 · 24 阅读 · 0 评论 -
在 SAP ABAP 系统对事物码 SEGW 创建的 OData 服务进行配置并测试试读版
正如本教程的开篇介绍文章SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)所提到的,SAP OData 服务开发,从实现技术上来说,可以分为三大类。因此本教程也分为三大部分,分别进行介绍。本文是本教程的文章目录。Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByD原创 2022-07-14 13:43:47 · 61 阅读 · 0 评论 -
SAP SEGW 事物码里的 Function Import
开放数据协议(OData)包括标准的 CRUD (创建、检索、更新和删除)操作,这些操作映射到 HTTP 方法的 POST、GET、PUT/MERGE 和 Delete 几类。此外,OData还支持进一步的服务操作:,这些操作可以由HTTP方法GET或POST调用,用于处理不能映射到标准 CRUD 操作的任何内容。通过在数据模型中创建 ,可以在 service Builder 中实现此类额外的服务操作。例如,您可以为以下自定义操作创建函数导入:Work Item confirmation检查航班的可用性虽然原创 2022-07-11 16:17:43 · 55 阅读 · 0 评论 -
了解 Restful ABAP Programming 模型系列之三:云端 ABAP 应用调试
Jerry的Restful ABAP Programming模型介绍系列的前两篇文章:30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现今天咱们来聊聊SAP云平台ABAP环境上的调试问题。Jerry在SAP社区上写了60......原创 2019-09-24 11:09:03 · 256 阅读 · 0 评论 -
了解 Restful ABAP Programming 模型系列之二:Action 和 Validation 的实现
相信通过Jerry的前一篇文章 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用,想必大家对Restful ABAP Programming模型已经有了一个最基本的了解吧?简单回忆一下,我们在前一篇文章里,在SAP云平台ABAP编程环境里创建了一个Z表,然后基于这张自定义数据库表创建了CDS view,基于该view创建Service Defin......原创 2019-09-24 10:55:38 · 328 阅读 · 0 评论 -
基于 OData 模型和 JSON 模型的 SAP UI5 表格控件行项目的添加和删除实现
这是 Jerry 2021 年的第 62 篇文章,也是汪子熙公众号总共第 339 篇原创文章。 龟虽寿 曹操 神龟虽寿,犹有竟时; 腾蛇乘雾,终为土灰。原创 2021-09-25 20:09:21 · 199 阅读 · 0 评论 -
在 Excel 里使用 ODBC 读取 SAP BTP 平台上 CDS view 的数据
这是 Jerry 2021 年的第 59 篇文章,也是汪子熙公众号总共第 336 篇原创文章。Jerry 之前曾经给大家分享过,如何使用各种工具和编程语言,消费 SAP API Business Hub 上罗列的 API.在 SAP API Business Hub 网站上,SAP 这些 API,分为 SOAP,OData 和 REST 三类。Jerry 的文章 SAP Cloud for Customer 如何直接消费 S/4HANA API 介绍了如何在 SAP Cloud for Custo原创 2021-09-08 21:21:06 · 191 阅读 · 0 评论 -
使用 Excel 读取 SAP ABAP CDS View 通过 ODBC 暴露出来的数据
在阅读本文前,请务必先按照在 Excel 内使用 ODBC 消费 SAP ABAP CDS view 介绍的步骤,将 SAP BTP 平台 ABAP 环境下指定的 CDS view,通过 Open Database connectivity API,暴露给 ODBC 消费者使用。然后打开 Windows10 ODBC data source 应用,创建一条新的 Datasource name 记录:注意上图的 host 主机名,需要从 SAP BTP ABAP 环境的 Communication a原创 2021-09-07 21:45:36 · 256 阅读 · 0 评论 -
使用 SAP Cloud SDK 连接 OData 服务
Connect to OData service on Neo using SAP Cloud SDKVirtual Data ModelS/4HANA 系统中存储的数据本质上结构复杂,因此很难手动查询。因此,HANA 引入了虚拟数据模型 (VDM),旨在从这种复杂性中抽象出来,并以语义上有意义且易于使用的方式提供数据。从 S/4HANA 系统使用数据的首选方式是通过 OData 协议。虽然出于兼容性原因也支持 BAPI,但 OData 应该始终是您的首选。您可以在 SAP 的 API 业务中心找到 S原创 2021-08-26 14:27:49 · 213 阅读 · 0 评论 -
关于 SAP CRM 的 Partner Determination 和 organization determination
Partner determinationStep 1: Find partner determination procedure from transaction type definitionStep 2: check partner determination procedure definition to find out the access sequence of a specific role, like sap repWhen field ‘Block Determinatio原创 2021-08-01 19:52:16 · 156 阅读 · 0 评论 -
关于 SAP ABAP gateway OData 的一个诡异问题及解决办法
问题You can see that the old version of cache re-appears in the table in gateway system.Our SEGW project name: CRM_OPPORTUNITY.Gateway system: GM6/001Backend system: AG3/001I am doing some new enhancement on CL_CRM_OPPORTUNITY_MPC_EXT~ DEFINE to add som原创 2021-08-01 19:48:35 · 229 阅读 · 0 评论 -
关于OAuth 协议中刷新令牌存活时间的讨论
OAuth 2.0 协议里,刷新令牌用于在当前访问令牌到期时获取新的访问令牌。 有关更多信息,请参阅 OAuth 2.0 RFC。以 LinkedIn 提供的 API 为例。LinkedIn 提供在固定时间段内有效的程序化刷新令牌。 默认情况下,访问令牌的有效期为 60 天,程序化刷新令牌的有效期为一年。 当刷新令牌过期时,成员必须重新授权您的应用程序。当您使用刷新令牌生成新的访问令牌时,刷新令牌的生命周期或生存时间 (TTL) 与初始 OAuth 流中指定的相同(365 天),并且新的访问令牌具有原创 2021-08-01 19:45:21 · 237 阅读 · 0 评论 -
关于 OData 协议的数据类型 - SAP gateway 框架是如何解析数据类型的?
请求能到后台了,但是传进的输入参数没有OpportunityComplexNotesSet这个entityset:Gateway 区分data type的方式很弱,直接通过prefix的naming convention:像这样:我一会把:var sPath = "/Opportunities('" + headerGuid + "')" + "/OpportunityComplexNotesSet("原创 2021-07-28 11:58:44 · 162 阅读 · 0 评论 -
SAP S/4HANA OData Mock Service 介绍
官网OData Mock Service此存储库还包含一个简单的基于 Node.js 的服务器,它代表分支模拟服务器中的 OData 模拟服务器。 该服务器可以在不访问 SAP S/4HANA 系统的情况下测试 SAP S/4HANA Cloud SDK 的 SAP S/4HANA 集成功能。 该服务器托管一个 OData v2 模拟服务,该服务在一定程度上模仿 SAP S/4HANA Cloud 的业务合作伙伴 API。如果没有可用的 SAP S/4HANA 系统,模拟服务器可用作 SAP S/4原创 2021-07-19 10:13:34 · 165 阅读 · 0 评论 -
如何用 SAP BTP 平台上的图形建模器创建一个 OData 服务
官方链接移动后端工具是一组工具,使开发人员能够对 OData 服务建模并生成 Java EE Web 应用程序以实现 OData 服务,以及在预先存在的数据库模式中自动创建必要的数据库表。在本教程中,您将使用 SAP Business Application Studio 中的 MBT 图形建模器重建 SAP Gateway Demo 系统 (ES5) 上公开可用的 GWSAMPLE_BASIC OData 服务的一小部分。 因此,在进一步的教程中,您可以在其上扩展、连接和构建应用程序。打开 SAP原创 2021-07-05 11:22:21 · 236 阅读 · 0 评论 -
SAP OData 的 V2 模型
文档地址:https://sapui5.hana.ondemand.com/#/topic/6c47b2b39db9404582994070ec3d57a2#loio66a130fa4d10411b8fc90df00185554bThe OData model is a server-side model, meaning that the data set is only available on the server and the client only knows the currently原创 2021-06-01 09:00:24 · 340 阅读 · 0 评论 -
找出SAP OData service出错根源的小技巧
SAP的Fiori应用是通过OData和后台交互的。在使用Fiori应用时您可能会遇到这样的错误消息:这个错误消息没有包含有助于partner或者客户定位问题根源的线索。下面是如何在后台找出问题根源的步骤。1. 在Fiori前台系统上使用事务码/IWFND/ERROR_LOG找到当前OData出错对应的错误日志:关于Fiori前后台系统的区分,参考我的微信公众号文章SAP ...原创 2018-02-21 12:04:44 · 439 阅读 · 0 评论 -
SAP OData 服务在 gateway 层出错,应该如何处理?通过一个错误消息 Query XXX is invalid or contains errors 来举例说明
在浏览器里访问如下url遇到错误:https://jerry.sap.corp:44300/sap/opu/odata/sap/C_SALESCONTRACTITMFLFMTQ_CDS/$metadata 会触发发往后台的 OData 请求
# Created by Wang, Jerry, last modified on Jan 16, 2015![clipboard2](https://user-...原创 2019-06-17 10:54:18 · 266 阅读 · 0 评论