自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

2007 年 ~ 2025 年,深耕 SAP 技术 18 年

十八年磨一剑——记录汪子熙深耕 SAP 技术领域 18 年的修为

  • 博客(17223)
  • 资源 (16)
  • 收藏
  • 关注

原创 【2025最新版】ABAP 开发百科全书专栏文章目录(上)

本文汇总了一系列SAP ABAP技术文章,内容涵盖实用技巧合集、函数式编程实践(如Currying、reduce应用)、设计模式实现(如Visitor、Singleton)、动态代理与Mock技术、性能优化方案(如Lazy Loading)、日期处理与内存管理,以及ABAP与JavaScript的编程范式对比。还涉及CDS视图、Fiori字段追踪、单元测试优化等实战经验,深入剖析了ABAP底层机制(如Internal Session、Function Module实现原理),并提供了多种反模式改进方案。

2025-12-17 15:11:15 2233 2

原创 《30天入门 SAP BTP 开发》教程的目录和使用说明,建议收藏

本教程分为两部分:第一部分为SAP BTP入门系列,包含从基础概念到操作步骤的系统性学习内容,建议零基础用户按顺序学习;第二部分为专题文章集合,涵盖SAP BTP的多个技术点,适合已有基础的用户按需查阅。教程包含账号申请、Global Account操作、Java应用开发、AI工具使用等丰富内容,同时解答常见问题并提供实战案例。所有文章均附带详细链接,便于读者系统学习或针对性查阅。

2025-09-19 10:09:48 3941 3

原创 ABAP CDS View 从入门到精通教程目录:ABAP CDS View 在 SAP 技术体系中的重要地位

学习 ABAP CDS View 的开发技术,体会其背后的设计理念,也就掌握了 SAP S/4HANA 底层数据模型的设计精髓。

2025-03-13 19:37:33 4427 7

原创 SAP UI5 百科全书的目录

笔者 12 年 SAP UI5 开发岁月中写下的 595 篇 SAP UI5 学习笔记,全部收录到《SAP UI5 百科全书》专栏中去,目录如下。请大家按照自己的学习需要,根据关键字搜索到对应的文章,然后进行学习。

2024-12-17 19:08:59 3730 16

原创 SAP ABAP 实用小技巧合集 (一)

本合集包含了笔者从事 ABAP 开发 17 年以来积累的小技巧。持续更新。

2024-10-19 11:03:32 3051

原创 一些笔者原创或者搜集的 ABAP 小工具集合(一),持续更新中!!

每个报表短小精悍,拷贝到系统激活即可运行。不少报表脑洞大开。

2024-10-15 11:38:19 2621 3

原创 一套适合 ABAP 初级和中级开发人员,从入门到提高的 ABAP 学习教程

曾几何时,ABAP 就是 SAP 的代名词。ABAP 这门编程语言造就了 SAP 名噪一时的 R/3 产品,同时也是如今 SAP 旗舰级产品,SAP S/4HANA 底层的实现语言。ABAP 不仅代表着 SAP 这家公司在企业级管理软件市场辉煌的过去,ABAP 自身也在不断地进化着。SAP 不仅在本地部署(On-Premise)领域继续保持着自己绝对的统治地位,而且在云应用领域(Software-as-a-Service, 简称 SaaS), 也推出了自己的解决方案,比如 SAP S/4HANA Clo

2023-10-12 19:43:52 5703 11

原创 Fiori Elements 从入门到精通开发教程的文章目录

Fiori Elements 开发技术相对 SAP 其他历史悠久,发展成熟的开发技术来说,是一个新事物。正因如此,迄今为止国内深入讲解 Fiori Elements 应用的中文材料几乎没有。

2023-07-09 10:24:07 4054 7

原创 零基础 ABAP 学习教程系列文章的目录

曾几何时,ABAP 就是 SAP 的代名词。ABAP 这门编程语言造就了 SAP 名噪一时的 R/3 产品,同时也是如今 SAP 旗舰级产品,SAP S/4HANA 底层的实现语言。ABAP 不仅代表着 SAP 这家公司在企业级管理软件市场辉煌的过去,ABAP 自身也在不断地进化着。SAP 不仅在本地部署(On-Premise)领域继续保持着自己绝对的统治地位,而且在云应用领域(Software-as-a-Service, 简称 SaaS), 也推出了自己的解决方案,比如 SAP S/4HANA Clo

2023-05-04 16:23:25 28802 28

原创 SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)

在 SAP 产品里,存在多种 OData 服务的开发方式,其中最典型的三类,SEGW, RAP(Restful ABAP Programming) 和 CDP(Cloud Application Program),就是笔者在本教程里会为大家分享和讲解的内容。同笔者的另一个 SAP UI5 教程《SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员》一样,本教程笔者计划通过 300 篇以上的文章篇幅,分别介绍这三类 SAP 主流的 OData 服务开发技术。

2022-06-26 11:30:23 11107 17

原创 SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员

笔者在业余时间设计了这份 SAP UI5 学习教程,把开发一个完整的 SAP UI5 应用的流程,拆分成若干个步骤,力求每个步骤里,把涉及到的知识点都涵盖到。建议零基础或者对 SAP UI5 知之甚少的 SAP UI5 初学者,按照顺序从第一个步骤开始循序渐进地学习,把这些代码下载到本地,配合教程的文字讲解,自己动手,以加深理解。对于已经有一定基础的 SAPUI5 开发人员,可以通过本文的目录,跳过前面一部分比较基础的章节,直接挑选对自己工作项目有关,或者包含某些知识点自己尚未掌握的章节来有针对性地学习。

2021-10-05 21:11:59 30574 9

原创 SAP Gateway 后端数据提供者的错误响应控制,Exception、Message Container 与 Leading Message 到底如何协同

本文分析了SAP Gateway项目中常见的错误消息处理问题,揭示了OData错误响应的生成机制。文章指出错误响应由外层消息和内部详情组成,SAP Gateway根据三种情况决定响应内容:仅抛出异常时使用异常文本;携带无主导消息的容器时保留异常文本并添加详情;当消息容器包含主导消息时,主导消息将作为外层错误文本。特别强调了业务错误与技术日志分离的重要性,建议敏感信息通过专用日志通道处理。该机制支持灵活的错误展示策略,使开发者能根据业务需求控制错误信息的呈现层级。

2026-08-18 09:50:58 4

原创 SAP Gateway 后端错误响应控制详解 从 Exception Only 到 Leading Message

摘要:SAP Gateway Client 调试中,错误响应结构遵循明确的控制规则。外层 code 和 message 提供主错误信息,而内层 innererror 包含详细诊断数据(如事务ID、错误明细)。SAP 官方定义了三种错误处理模式:纯异常、异常加消息容器(无主导消息)、异常加消息容器并指定主导消息。消息容器(/IWBEP/IF_MESSAGE_CONTAINER)支持结构化存储多条错误信息,便于前端处理字段级校验问题。开发时需注意异常链(PREVIOUS)可能暴露敏感信息,建议通过消息容器设计面

2026-08-18 09:50:37 5

原创 SAP Gateway 后端错误响应控制,如何让 OData 错误既能给用户看,也能让开发人员快速定位

摘要:SAP Gateway项目中,正确区分和处理业务错误与系统错误是接口设计的核心挑战。文章分析了OData错误响应机制,重点介绍了如何通过/IWBEP/CX_MGW_BUSI_EXCEPTION和/IWBEP/CX_MGW_TECH_EXCEPTION区分业务/技术异常,利用Message Container收集多层级错误信息(主错误、详细错误、技术日志),并强调合理设置HTTP状态码(业务错误使用400而非500)。文中通过销售订单创建场景,展示了如何将BAPI返回的多条消息结构化映射到OData响应

2026-08-18 09:49:41 5

原创 从 OData 表达式树到 Open SQL,彻底理解 SAP Gateway $filter System Query Option APIs

SAP Fiori 列表页面的 $filter 请求在 SAP Gateway 中会被解析为表达式树(Expression Tree),而非简单的字符串处理。Gateway 提供两种主要处理路径:通过 /IWBEP/IF_MGW_EXPR_VISITOR 接口实现自定义逻辑处理复杂表达式树,或直接使用 GET_OSQL_WHERE_CLAUSE 将过滤条件转换为 Open SQL 语句。后者特别适用于数据直接来自数据库的场景,能自动生成 WHERE 条件并优化查询性能。这种机制使开发人员无需手动解析 URL

2026-08-18 09:49:36 3

原创 深入 SAP Gateway $filter System Query Option APIs,从表达式树到 Visitor 模式

本文探讨了经典 SAP Gateway OData V2 服务开发中处理 GET_ENTITYSET 复杂过滤条件的解决方案。核心观点包括: 当 OData 请求包含 $filter 等查询选项时,简单的字符串解析会导致业务逻辑丢失; SAP 提供了 GET_FILTER_EXPRESSION_TREE 接口,可将过滤条件转换为表达式树结构; 表达式树保留了原始查询的完整逻辑关系(如 AND/OR 嵌套); 采用 Visitor 模式(/IWBEP/IF_MGW_EXPR_VISITOR)可优雅处理多种表达

2026-08-18 09:49:22 3

原创 SAP Gateway 中的 $filter Navigation Property 过滤机制,表达式树、路径编码与 ABAP 解析实战

本文探讨了SAP Gateway项目中处理复杂$filter条件的核心机制。当过滤条件涉及关联实体时,SAP Gateway会构建Filter Expression Tree(过滤表达式树)而非简单转换为Select Options。这种树形结构能完整保留多层级路径的语义信息(如SalesOrder/TwinEntity/property eq 'xyz'),尤其适合处理Navigation Property、复杂AND/OR逻辑等场景。开发人员可通过GET_FILTER_EXPRESSION_TREE获取

2026-08-18 09:48:43 3

原创 别让 Value Help 撑大 $metadata,深入理解 SAP Gateway 的 sap-value-list 元数据过滤机制

SAP Fiori应用中,OData服务的$metadata请求在复杂场景下可能成为性能瓶颈,尤其是当服务包含大量Value Help定义时。Value Help机制通过额外Entity Type和Annotation描述主属性与值帮助源的关系,导致元数据文档膨胀。SAP提供了三种sap-value-list模式:all返回完整元数据;none仅返回基础模型并标记存在值帮助的字段;第三种模式支持按需加载特定值帮助定义。这种机制类似于前端懒加载,可减少初始化阶段不必要的元数据传输和解析开销,平衡功能完整性与性

2026-08-18 09:48:16 5

原创 SAP Gateway Metadata Filtering Value List 深度解析,从属性值帮助到按需元数据加载

本文深入探讨了SAP Gateway项目中OData服务元数据膨胀现象及其解决方案。文章指出,核心业务实体往往被大量Value Help(F4帮助)元数据包围,导致$metadata文件体积过大。通过对Flight Model中Booking场景的分析,作者详细解析了两种Value List类型(standard和fixed-values)的实现机制: 通过SET_VALUE_LIST方法标记属性是否支持值帮助 通过专用Entity Type存储候选值数据(ID+NAME结构) 利用sap:value-li

2026-08-18 09:48:15 2

原创 从 OData $filter 到 ABAP Open SQL,深入理解 SAP Gateway 的过滤条件下推 API

文章摘要:SAP Gateway项目中,GET_ENTITYSET方法在处理大数据量时容易因错误过滤方式导致性能问题。通过GET_OSQL_WHERE_CLAUSE可将OData的$filter直接转换为Open SQL条件,实现数据库层过滤而非内存过滤,显著提升性能。但需注意该方法仅支持部分可转换的Filter表达式,复杂场景可结合GET_FILTER_SELECT_OPTIONS等其他API处理。文章强调了在SAP HANA环境下将过滤逻辑下推到数据库层的重要性,并提供了代码示例说明最佳实践。(149字

2026-08-18 09:48:12 2

原创 SAP Gateway 后端 Data Provider 错误响应控制,从 HTTP 状态码到 Message Code 的完整链路

本文探讨了SAP Gateway项目中错误处理的关键问题与最佳实践。文章指出,错误处理的难点不在于抛出异常本身,而在于如何将ABAP后端的异常信息合理映射到HTTP和OData响应结构中。 核心观点包括: 错误响应应分层设计:HTTP状态码表示协议级错误,OData code提供稳定业务标识,message面向用户,innererror保存技术细节 区分业务异常(/IWBEP/CX_MGW_BUSI_EXCEPTION)和技术异常(/IWBEP/CX_MGW_TECH_EXCEPTION) 建议使用msg_

2026-08-18 09:47:56 4

原创 从 URL 敏感信息暴露到 $batch,深入理解 SAP Gateway 的 sap:use-batch Annotation 安全机制

摘要:SAP Gateway 项目中,OData 请求的 URL 可能暴露敏感数据(如身份证号、员工编号等),存在安全风险。SAP 提供的 sap:use-batch 注解可通过将请求封装在 $batch 的请求体中,减少 URL 直接暴露敏感信息的可能。该注解作用于服务元数据的 EntityContainer 层,提示客户端使用批处理模式。实际实现需客户端(如 SAPUI5)支持,服务端仅声明规则。此方案并非加密技术,而是通过改变请求结构降低敏感数据在日志、历史记录中的留存风险,需结合 HTTPS 确保传

2026-08-18 09:46:50 3

原创 从 Message Container 到 SAP-Message,深入理解 SAP Gateway 成功响应中的消息协议映射

文章摘要:SAP Gateway项目中的业务提示信息处理常被低估。当业务处理成功但需传递额外信息(如字段调整、库存不足等)时,不应抛出异常,而应利用Message Container机制。通过设置IV_ADD_TO_RESPONSE_HEADER = ABAP_TRUE,可将业务消息映射到HTTP响应头SAP-Message中,保持请求成功状态的同时传递业务上下文。该设计避免了污染领域模型,通过协议层标准机制实现消息传递,适用于各类修改请求和批处理场景,是SAP Gateway中处理业务提示的理想方案。

2026-08-18 09:46:43 4

原创 OData V4 $filter 深入解析,Lambda 如何把金额、币种与关联集合变成可执行查询

本文深入解析了SAP OData V4中一个包含Lambda Operator的复杂过滤请求。重点分析了DEPARTMENT_2_TEAMS/any(d:d/Budget gt 4000 and d/BudgetCurrency eq 'JPY')这种结构的语法语义,指出其核心是通过Navigation Property关联另一组Entity,并使用存在性判断进行筛选。文章详细拆解了Lambda表达式的组成要素,包括any操作符、Lambda变量、布尔条件组合等,并特别强调了SAP系统中金额与币种联合过滤的

2026-08-18 09:46:42 3

原创 SAP Gateway Vocabulary-Based Annotations 深入解析,从可翻译文本到 Annotation File 的元数据设计

本文介绍了在SAP Fiori应用中实现OData服务多语言支持的解决方案。针对业务数据相同但不同地区用户需要不同语言显示的问题,SAP Gateway Foundation提供了基于词汇表注解(Vocabulary-Based Annotations)的文本复用机制。文章重点分析了四种方法: 从数据元素获取文本(SET_STRING_FROM_DATA_ELEMENT),复用ABAP字典中已维护的字段标签 从文本元素获取(SET_STRING_FROM_TEXT_ELEMENT),适用于应用特定的UI文本

2026-08-18 09:45:07 5

原创 从 Vocabulary-Based Annotation 到 HTTP 304,理解 SAP Gateway 注解文件的元数据与缓存机制

文章摘要:SAP Fiori应用启动时会通过/IWFND/CATALOGSERVICE请求独立的XML Annotation文件,这是SAP Gateway的Vocabulary-Based Annotation机制。该机制通过注解(Annotation)为OData元数据补充UI语义信息(如字段显示方式、排序规则等),实现元数据驱动的界面生成。注解可内嵌在服务元数据中,也可作为独立文件,后者使业务数据模型和UI语义能独立演进。Fiori Elements等框架通过解析组合后的元数据自动生成界面组件,减少手

2026-08-18 09:45:05 3

原创 深入理解 SAP Gateway Vocabulary-Based Annotations 中的系统来源路由与 Catalog Service 参数

摘要: 在集团型SAP系统中,当SAP Fiori应用的前端通过统一Gateway入口连接多套后端系统时,可能出现界面语义注解(annotation)与业务数据源不匹配的问题,导致字段错位、值帮助失效等隐蔽错误。核心机制在于OData元数据(metadata)和注解必须保持同源,因其分别定义服务结构和UI语义。SAP Gateway通过origin段参数o控制注解来源,支持三种路由方式:1)使用sid(SID.CLIENT)格式隐式定位;2)直接指定system alias;3)依赖默认路由配置。该设计确保

2026-08-18 09:44:29 3

原创 SAP Gateway $metadata 长文本扩展支持详解,从 DDIC 文本到 F1 文档的完整语义链路

摘要:SAP Gateway 项目中,OData服务的元数据文本输出采用分层策略,默认只显示sap:label(取自Data Element的Medium Field Label)。通过特定参数(sap-documentation)可获取更多文本层:sap:heading(表格列头用短标题)、sap:quickinfo(悬停提示)及完整的F1帮助文档。Gateway会智能去重相同文本,保留DDIC原有业务语义。这种设计既保持基础元数据轻量,又支持按需获取丰富文档,延续了SAP传统开发中字段语义分层展示的理念

2026-08-18 09:44:06 2

原创 SAP Gateway $metadata 长文本扩展机制,如何把 ABAP Dictionary 的字段语义完整带到 OData 客户端

SAP Gateway 通过 OData 协议扩展机制,将 ABAP Dictionary 中 Data Element 的丰富语义信息分层传递给客户端。默认 $metadata 仅包含 sap:label(对应 Data Element 的 Medium Field Label),但通过 sap-documentation 查询参数可动态获取更多信息: heading(对应 Data Element 的表头文本)适合紧凑表格列头 quickinfo(对应 Short Description)适合工具提示

2026-08-18 09:44:03 3

原创 SAP Gateway OData Soft State 深度解析,从无状态协议到可恢复的会话级缓存

本文探讨了SAP Gateway中的Soft State模式,这是一种优化OData服务性能的特殊机制。文章指出,Soft State通过复用ABAP应用服务器会话资源来减少重复初始化开销,特别适用于需要加载大量配置或历史框架的遗留系统场景。作者详细解析了Soft State的实现要点:需要在Data Provider Class中实现特定接口方法,采用"检查后加载"模式确保资源可用性,同时强调业务逻辑必须保持无状态设计原则,任何缓存都应被视为可丢弃且可重建的。文章还区分了Soft State与有状态处理的

2026-08-18 09:43:39 3

原创 SAP Gateway Soft State 深入解析,从无状态 OData 到可复用 ABAP Session 的性能优化

本文讨论了SAP Gateway项目中常见的性能问题及其解决方案——Soft State机制。当OData请求需要频繁执行昂贵的后台初始化工作时,Soft State允许连续多个请求复用同一个ABAP session,从而避免重复初始化成本。文章详细分析了Soft State的工作原理,强调其"可以利用但不依赖状态"的设计理念,并提供了实现示例,包括MPC和DPC的代码调整要求。最后指出,除了代码修改外,还需要在SICF和Gateway Service层进行配置才能启用该功能。这种机制特别适合需要加载大量缓

2026-08-18 09:34:07 3

原创 SAP Gateway 的 sap:use-batch 安全机制,如何避免敏感数据暴露在 OData URL

本文揭示了SAP Gateway项目中一个容易被忽视的安全问题:敏感业务数据可能通过OData GET请求的URL参数泄露到浏览器历史记录、服务器日志等位置。尽管HTTPS能加密传输过程,但URL中的查询条件仍可能被记录。 SAP Gateway提供的解决方案是通过OData $batch机制,将敏感查询参数从URL转移到POST请求的body中。具体实现是在MPC扩展类的DEFINE方法中调用model->set_use_batch(abap_true),这会在服务元数据中添加sap:use-batch=

2026-08-17 09:54:03 14

原创 SAP Gateway 敏感数据防缓存设计,从 Cache-Control 到 DPC 运行时的安全边界

SAP Gateway 项目中的 HTTP 缓存安全隐患与解决方案 在 SAP Gateway 项目中,即使 OData 服务端权限检查完备且使用 HTTPS,敏感数据仍可能因 HTTP 缓存机制残留于浏览器或中间缓存中。这类问题与 ABAP 数据库权限不同,涉及的是数据离开 SAP 系统后的缓存控制。 SAP 官方建议通过在 Data Provider Class 中设置 HTTP 响应头来防止敏感数据被缓存。关键代码示例使用 Cache-Control: no-cache, no-store 和 Pra

2026-08-17 09:54:00 11

原创 深入理解 SAP Gateway OData Channel,从对象模型、DPC 到多后端系统路由的完整运行机制

摘要: SAP Gateway的OData Channel(ODC)是其核心运行机制,通过MPC(Model Provider Class)和DPC(Data Provider Class)分别处理OData服务的元数据模型与业务数据逻辑。MPC定义服务结构(如Entity/Property),DPC实现具体业务操作(如CRUD)。请求通过/sap/opu/odata进入后,Gateway Runtime解析URI和查询参数(如$filter、$expand),由ODC协调元数据与数据提供层,最终将ABAP

2026-08-17 09:53:16 13

原创 SAP Gateway Virus Scan 深入解析,从 OData 写请求到 Virus Scan Profile 的安全防线

摘要:SAP Fiori应用中,文件上传通过OData请求进入系统后,仅靠文件扩展名和MIME类型校验无法检测恶意内容。SAP提供Virus Scan Interface(VSI)作为标准解决方案,通过Virus Scan Profile逻辑对象与外部杀毒引擎集成,实现分层扫描策略。该机制被集成到Gateway的OData请求处理流程中,在业务数据持久化前拦截潜在风险。Profile支持策略编排、多扫描服务器负载均衡,并与Clean Core理念契合,避免业务代码直接绑定基础设施。配置可通过SPRO、VSC

2026-08-17 09:53:13 13

原创 SAP Gateway OData Query Options 深度解析,哪些框架自动处理,哪些必须自己写 ABAP

本文揭示了SAP Gateway项目中容易被误解的现象:客户端发送的OData查询选项(如$filter、$orderby等)能被Gateway解析,但实际数据处理仍需要开发人员在业务层面实现。文章通过对比SAP官方支持矩阵,区分了Gateway框架自动处理与需要额外开发的查询选项,重点分析了$select、$filter和$orderby的实现差异: $select虽由框架自动裁减响应字段,但后端仍可优化数据库查询以减少不必要的数据读取; $filter需要开发人员从请求上下文中提取条件并应用到数据查询中

2026-08-17 09:51:25 14

原创 从 CRUD 到多后端编排,读懂 SAP Gateway OData V2 的完整能力版图

SAP Gateway OData 协议演进与企业级能力解析 本文深入剖析了SAP Gateway OData服务的核心能力及其在企业应用中的重要性。从早期SP03到SP05版本演进中,Gateway逐步构建了包括数据格式支持(ATOM/JSON)、CRUD操作、Deep Insert、$expand查询、Media资源处理、Function Import等完整功能体系。特别分析了企业级应用所需的事务控制(ETag并发机制)、批量操作(Batch请求)等关键特性,揭示了OData协议超越简单数据接口的本质:

2026-08-17 09:50:09 9

原创 SAP Gateway OData Query Options 深入解析

摘要: SAP Gateway OData服务通过标准查询选项(如$select、$count、$expand)提供灵活的数据访问能力,无需额外ABAP代码即可支持客户端按需获取数据。$select限制返回属性,减少冗余传输;$count高效返回记录数,避免全量查询;$expand关联资源减少请求次数,但需注意性能(如避免深层嵌套或N+1查询)。这些协议能力由框架原生支持,但业务逻辑仍需合理设计,确保数据库高效访问。遵循Clean Core原则,优先利用标准OData功能,而非创建场景化自定义接口。

2026-08-17 09:49:37 9

原创 SAP Gateway OData Query Options 实战,六个参数如何真正落到 ABAP 数据访问层

这篇文章介绍了SAP Fiori Elements应用中OData Query Option的处理机制,重点分析了SAP Gateway后端对常见查询参数($orderby、$top、$skip、$filter、$inlinecount)的实现要点。文章指出虽然Gateway框架能解析这些查询选项,但真正的数据处理逻辑需要开发人员实现。作者详细讲解了每个查询选项的技术细节和实现误区,包括:排序的稳定性要求、分页的正确执行顺序、过滤条件的下推优化,以及总数统计的实现方式。文章强调理解这些查询选项的关键在于建立

2026-08-17 09:49:26 9

原创 从 URI 到 ABAP 运行时,彻底理解 SAP Gateway 的 OData Query Options

SAP Gateway项目中GET_ENTITYSET方法容易从简单查询演变为复杂逻辑。OData标准查询参数($filter、$orderby等)通过SAP Gateway解析后,需要开发者在ABAP层手动实现数据筛选、排序和分页逻辑。摘要说明: OData查询参数通过Gateway解析后形成IO_TECH_REQUEST_CONTEXT上下文对象 开发者需从该对象获取过滤条件、排序规则和分页参数 示例代码展示了如何: 将OData筛选条件转换为BAPI参数 实现客户端排序(SORT语句) 处理分页(TO

2026-08-17 09:48:31 10

使用 JavaScript 上传 PDF 和 Excel 文件到 ABAP 服务器并解析

笔者微信公众号文章《使用 JavaScript 上传 PDF 和 Excel 等二进制文件到 ABAP 服务器并进行解析》的附属资源,包含了文章介绍知识要点对应的源代码实现。

2021-11-13

SAP Fiori 和 SAP UI5 开发学习路线图

内容参考我的专栏:一套适合 SAP UI5 开发人员循序渐进的学习教程,地址:https://blog.csdn.net/i042416/category_11395500.html

2022-03-25

自己用Java编写的有道云笔记图片批量下载工具

使用方式:java -jar tool.jar [0,1,2] 0,1,2分别是有道云笔记的编号。0的guid:c91a710af51c1e1b20f5d1da2140a9e4; 1的guid:4cc557ab9b7cbde0515b49a155c5dce3 2的guid:6eaae532daaa678cc610f2a34cbc9119

2020-11-29

红白机 FC 全部游戏 ROM 名称列表

内容概要:该文档《list.txt》列举了大量NES/Famicom游戏的名称及其对应的版本和地区信息。游戏种类繁多,涵盖了动作、冒险、角色扮演、射击、体育等多个类别。文档中不仅有经典游戏如《超级马里奥》、《魂斗罗》、《洛克人》等的不同版本,还包括了许多地区特定的游戏版本,如日版、美版、欧版等。此外,文档还列出了一些简体中文和繁体中文的本地化版本,以及一些较为冷门或小众的游戏。 适用人群:对经典游戏尤其是NES/Famicom平台游戏有兴趣的玩家,以及研究游戏历史和版本差异的研究人员。 使用场景及目标:①帮助玩家找到特定版本的游戏ROM;②为游戏收藏者提供详细的游戏版本信息;③辅助游戏开发者或翻译者了解不同版本之间的差异;④为游戏历史爱好者提供参考资料。 阅读建议:由于文档内容较多,建议根据个人兴趣或需求筛选相关信息。对于想要深入了解某款游戏的玩家,可以重点关注该游戏的不同版本及其特点;而对于研究者,则可以根据地区和语言版本进行分类整理和对比分析。

2025-05-03

FileUpload.zip

没有使用任何框架,原生 JavaScript 上传文件到 ABAP 服务器

2021-11-07

UI5 Inspector,一款好用的 Chrome 扩展

适用于 SAP UI5 应用开发人员,我的专栏《一套适合 SAP UI5 开发人员循序渐进的学习教程》对这个工具有详细介绍。

2022-02-22

如何使用 ABAP 创建包含不同字体大小的 Word 文档-模板文件

本模板文件同笔者的 ABAP 教程配套使用。使用 ABAP 代码,结合这个模板文件,能通过编程的方式,创建出具有不同字体大小和样式的 Word 文档出来。

2022-08-07

一个解析 JSON 数据的标准类

一个解析 JSON 数据的标准类

2022-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除