SAP CAP 开发百科全书
文章平均质量分 76
SAP CAP(Cloud Application Programming Model,云应用编程模型)是 SAP 推出的一套用于构建企业级服务的应用程序开发框架。它旨在为开发者提供一条遵循最佳实践的「黄金路径」,帮助大家更高效地构建健壮且可扩展的云原生应用。
余额抵扣
助学金抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
汪子熙
19年深耕企业管理软件领域(2007 年 1 月~ 至今),精通 ABAP, Java, Javascript, Typescript, 精通 UI5, Fiori, Fiori Element, Angular, Kubernetes, SAP HANA, SAP BTP. 具有通过阅读 Github 上各种优秀的开源框架和工具源代码的习惯,对于我来说阅读源代码,就像阅读中国白话文一样轻松自然。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CAP Event Handlers for Node.js 完整实践笔记,业务逻辑到底应该写在哪里
CAP Node.js 服务实现的关键在于通过事件处理器(Event Handler)分层组织业务逻辑。before、on、after三个阶段分别处理请求预处理、核心业务和结果后处理,形成清晰的业务编排机制。Handler支持类式和函数式两种注册方式,适合不同规模项目。实践中应注意:校验和权限检查放在before阶段,核心业务逻辑通过on处理,派生字段和异步通知则放在after阶段。这种分层设计能有效管理企业级CAP应用的复杂性,避免代码耦合,同时充分利用CAP的默认CRUD能力。典型应用场景包括与SAP原创 2026-06-05 10:56:30 · 19 阅读 · 0 评论 -
CAP Event Handlers 完整模式参考,一套把业务规则放进服务层的 CAP 写法
本文总结了CAP项目中服务实现的最佳实践,主要聚焦于业务逻辑的组织方式和事件处理器(Event Handlers)的使用。文章指出以下关键点: 业务规则应集中管理,避免分散在Controller、前端或数据库触发器中。CAP的Event Handlers提供了一条清晰的业务逻辑处理流水线: before:处理请求准备和校验 on:执行业务核心逻辑 after:处理结果增强和事件通知 介绍了两种Handler组织方式: Class-based:适合复杂服务,支持继承和模块化 Function-based:适合原创 2026-06-05 10:56:01 · 20 阅读 · 0 评论 -
CAP 多租户与扩展性,SaaS 应用从可交付到可运营的关键一跃
本文探讨了SAP BTP平台下CAP应用的多租户和扩展性架构设计。通过cds命令轻量级开启多租户功能,基于MTX Sidecar实现租户生命周期管理,使单一应用实例可服务多个租户,各自保持数据隔离和定制化能力。同时介绍了扩展性机制,允许租户在可控范围内扩展数据模型和UI。文章重点阐述了生产环境中与HANA Cloud、XSUAA等服务的集成配置,以及租户订阅、升级、退订等关键事件处理,为构建可持续运营的SaaS产品提供了技术实现方案。原创 2026-06-05 10:55:48 · 34 阅读 · 0 评论 -
从 CAP 到 SAP Fiori Elements,一套围绕注解、草稿和值帮助的集成参考
SAP Fiori Elements 开发模式解析 SAP Fiori Elements 通过元数据驱动方式大幅提升了企业应用开发效率。核心要点包括: 前后端契约:将界面控制权交给模型层,通过 OData 元数据和注解实现前后端解耦,保障业务语义一致性。 项目结构:推荐分层架构(app/srv/db),服务层保持干净稳定,界面注解靠近应用层,避免污染核心业务模型。 草稿机制:通过 @odata.draft.enabled 支持企业级编辑场景,需注意: 在服务投影而非基础实体上启用 区分 Compositio原创 2026-06-05 10:12:55 · 30 阅读 · 0 评论 -
CAP Java Runtime 全景指南,从工程骨架到企业级运行时治理
本文探讨了在企业级扩展项目中,如何利用CAP Java Runtime构建基于Spring Boot的云原生应用。文章对比了ABAP RAP与CAP Java的技术栈差异,指出后者以CDS模型为中心,结合事件驱动架构和CQN查询语言的特点。重点分析了CAP Java的工程结构、事件处理机制(@Before/@On/@After)以及与Spring Boot的深度集成。特别强调版本兼容性(Java 17+/Spring Boot 3.x)和开发工具链(Maven/CDS-DK)的重要性,并通过代码示例展示了如原创 2026-06-05 10:12:13 · 31 阅读 · 0 评论 -
CAP 里的语言、文本和时间,i18n、Localized Data 与 Temporal Data 的实战理解
CAP项目中的商品主数据服务需要特别注意语言和时间两个关键问题。语言方面,静态文本国际化应通过i18n文本包实现,避免硬编码,同时区分模型文本(i18n)和业务数据翻译(localized字段)。时间方面,应采用CAP的temporal机制处理历史数据,而非手动拼接条件查询。这两个设计体现了CAP的核心思想:将业务语义明确表达在模型中,而非推给应用代码处理。项目实施时需注意语言判定规则、文本包管理规范,以及区分静态文本与业务数据翻译的边界。原创 2026-06-05 10:11:48 · 22 阅读 · 0 评论 -
把 CAP Node.js Runtime 用成企业级应用的主干,而不是只会写几个 Handler
CAP Node.js Runtime 在企业应用开发中的价值主要体现在:它通过统一的开发范式整合了数据库访问、事务管理、用户认证、权限控制等核心能力,使开发者能专注于业务逻辑而非技术细节。其查询构建器提供类SQL的JavaScript语法,支持复杂条件组合和深度关联查询;事务管理既支持自动提交/回滚,也保留手动控制能力;并发控制通过forUpdate等机制保障数据一致性。这些特性使CAP项目能从演示原型顺利演进为支撑真实业务流程的生产系统,尤其适合处理SAP环境中常见的订单、库存、主数据同步等企业级场景。原创 2026-06-03 13:40:45 · 24 阅读 · 0 评论 -
CAP 插件体系实战全景,企业级应用从协议到可观测性的拼装逻辑
CAP框架正从OData服务开发工具演进为企业级应用骨架,通过插件体系集成各类横切关注点(如文件处理、协议适配、实时通信等),避免业务代码沦为平台胶水。插件通过标准机制(如cds-plugin)挂接CAP生命周期,支持Node.js和Java运行时,使企业能沉淀内部能力为可复用扩展。典型插件包括OData V2适配器(兼容旧UI)、WebSocket(实时协作)、GraphQL适配器(灵活查询)、文件处理(统一附件管理)等。这种架构既保持核心模型简洁,又支持渐进式扩展,平衡了技术演进与历史兼容需求,特别适合原创 2026-06-03 13:40:18 · 18 阅读 · 0 评论 -
CAP Tools Complete Reference,从工具清单到企业级 CAP 交付流水线
本文探讨了SAP CAP开发工具链在企业项目中的实际应用价值。开发工具如SAP Business Application Studio、VS Code和IntelliJ IDEA通过语言支持、代码补全和格式化等功能提升了CDS模型的可维护性。cds CLI命令支持项目初始化、功能扩展(如hana、xsuaa等)、开发调试(watch/serve/repl)和部署构建。CDS Lint工具可及早发现模型问题,如CSV数据校验和授权注解检查。文章强调,CAP Tools不仅是技术框架,更是贯穿企业应用全生命周期原创 2026-06-03 13:39:52 · 44 阅读 · 0 评论 -
CAP MCP Server Integration Guide,一台真正懂 CAP 项目的本地助手
本文介绍了CAP MCP服务器如何为AI编码代理提供项目上下文支持。CAP MCP通过Model Context Protocol协议,让Claude Code等代理能够主动查询项目编译后的CDS模型(CSN)和官方文档。服务器提供search_model和search_docs两个核心功能,前者查询项目实际结构,后者获取官方规范建议。安装方式轻量,支持npx直接运行或全局安装,适合企业内网环境。文章还展示了如何为不同工具配置MCP服务器,帮助AI代理生成更符合项目实际和CAP规范的代码,避免仅凭记忆或猜测原创 2026-06-01 09:53:20 · 23 阅读 · 0 评论 -
CAP MCP Server,CAP 开发从找资料走向找答案
本文讨论了在CAP项目开发中,AI代理面临的上下文缺失问题,以及CAP MCP Server的解决方案。MCP通过提供语义索引,使AI代理能直接查询项目CDS模型结构和官方文档,减少了开发中的上下文切换时间。文章通过多个典型场景(如实体发现、前端集成、业务逻辑开发等)量化了MCP带来的效率提升,估算年节省可达数万美元。核心价值在于将碎片化检索转化为结构化上下文,提高开发准确性和效率,而非单纯代码生成。原创 2026-06-01 09:53:02 · 26 阅读 · 0 评论 -
CAP 数据库配置,一套能从本地开发走到生产部署的持久化路线
CAP 项目中的数据库配置是贯穿开发到生产环境的核心问题,需要根据不同环境(开发、混合、生产)选择合适的数据库(SQLite、SAP HANA、PostgreSQL等)。开发环境常用轻量级SQLite,混合环境连接SAP HANA Cloud,生产环境则根据需求选择SAP HANA或PostgreSQL。配置需通过profile管理,避免硬编码敏感信息,并充分利用CAP的跨数据库能力,尽量使用CQL保持业务逻辑与数据库无关,仅在必要时使用原生SQL。这种配置策略确保了项目的灵活性、安全性和可维护性。原创 2026-05-31 10:45:37 · 46 阅读 · 0 评论 -
把 CAP 应用稳稳送上 SAP BTP Cloud Foundry 的部署全链路
Cloud Foundry 部署的关键挑战与解决方案 本文分析了从本地开发环境到 SAP BTP Cloud Foundry 生产部署的主要障碍。开发时使用 SQLite 和模拟认证可以快速迭代,但生产部署需要完整的技术栈切换,包括: 基础设施转型:从 SQLite 到 SAP HANA Cloud 的 HDI Container 认证体系重构:从 mock user 到 XSUAA 的 OAuth2/JWT 认证 部署架构调整:通过 MTA 模型管理多模块应用生命周期 关键解决方案包括: 使用 cds a原创 2026-05-31 10:44:35 · 38 阅读 · 0 评论 -
SAP CAP 里的 CDL 语法全景,写给真正要建模和落地的人
摘要:SAP CAP中的CDL(Conceptual Definition Language)是一种业务语义驱动的建模语言,通过.cds文件定义实体、类型、服务等元素,将业务概念转化为可运行系统的核心骨架。CDL不仅生成数据库结构,还影响OData服务、权限、UI元数据等。其特点包括: 业务导向:相比传统SQL DDL,CDL更贴近业务语义(如entity Books描述图书对象及其关联)。 类型系统:支持基础类型(String、Decimal)、结构化类型(如Address)、数组、关联关系,并支持默认值原创 2026-05-30 10:47:49 · 28 阅读 · 0 评论 -
CDS Schema 与 Query Notation,从模型到查询的 CAP 内部语言
本文探讨了 SAP CAP 框架中 CDS 模型在运行时的内部表示形式 - CSN(Core Schema Notation)、CQN 和 CXN。作者通过企业业务流程类比,解释了开发人员编写的 CDS 模型如何被转换为结构化 JavaScript 对象,便于框架在不同层面处理。文章详细解析了 CSN 的核心结构,包括模型依赖(requires)、定义(definitions)、扩展(extensions)和多语言支持(i18n),并举例说明了不同类型定义(标量、结构化、枚举等)和实体定义(字段、关联、视图原创 2026-05-30 10:47:26 · 28 阅读 · 0 评论 -
从 cds init 到上线,CAP CLI 才是 SAP BTP 项目的那条主线
文章摘要:本文深入剖析了SAP CAP(Cloud Application Programming)项目开发中的核心命令行工具cds,指出它不仅是技术入口,更是项目工程秩序的体现。作者通过对比概念讨论与实际项目痛点(如环境切换、生产部署问题),系统梳理了cds全生命周期命令链:从初始化架构选型(cds init/add)、开发调试(watch/serve)、生产构建(build)到数据库部署(deploy)。特别强调"渐进式架构"理念,警告避免盲目堆砌技术栈,提倡根据业务边界选择功能组合,并建议将命令行操作原创 2026-05-30 10:41:23 · 29 阅读 · 0 评论 -
从外部服务消费到云端交付,CAP 应用在 SAP BTP 上的一条完整工程路径
CAP项目通过工程化设计将企业应用开发中的外部服务接入、凭证管理、环境切换等琐碎问题统一处理,其核心特点包括: 统一模型:业务服务通过CDS模型描述,运行时差异由配置和Profile处理 外部服务集成:支持通过cds import将SAP API转换为项目模型,并提供本地mock能力 查询抽象:使用CQN统一查询本地和远程服务,简化开发 生产部署:集成Destination服务、XSUAA认证等BTP组件 数据融合:支持本地与远程数据的mashup,但需注意性能优化 项目价值在于避免重复处理连接/认证等基础原创 2026-05-30 10:41:00 · 32 阅读 · 0 评论 -
把 CQL 当成 CAP 应用的数据表达骨架
本文介绍了CAP项目中的CQL(CAP Query Language)在企业应用开发中的核心价值与实践技巧。CQL作为CAP runtime的关键组件,通过统一语法封装了模型、关联、投影等核心能力,能适配SQLite、HANA Cloud等多种数据库环境。文章着重分析了SELECT查询的优化策略,包括字段选择、条件过滤、分页排序等场景,并演示了聚合函数、CASE表达式等高级用法。作者强调CQL不仅是一种查询语法,更应结合企业级数据量、性能需求和业务语义来使用,建议将业务规则尽量下推到查询层实现,避免前端重复原创 2026-05-30 10:40:37 · 31 阅读 · 0 评论 -
CAP 开发里最容易被低估的一门语言,CDS Query Language 完整实践笔记
本文介绍了CAP项目中CQL(CDS Query Language)的核心价值与实用技巧。CQL作为连接业务模型与服务运行时的中间语言,提供了比原生SQL更高级的抽象能力: CQL通过SELECT构建查询对象而非字符串,支持跨数据库适配 单条查询需注意结果校验,避免空值导致的TypeError where条件支持对象式语法,便于构建复杂业务筛选逻辑 分页查询必须包含稳定排序规则,防止数据漂移 聚合查询可简化业务报表开发 对CDS模型中关联关系的智能处理是其最大优势 文章通过实际代码示例展示了CQL在企业应用原创 2026-05-30 10:39:05 · 36 阅读 · 0 评论 -
从 .mcp.json 看 SAP CAP 项目如何接入 Claude Code 的智能开发上下文
.mcp.json 是用于编码助手(如 Claude Code)的配置文件,而非 CAP 运行时配置。它声明了一个本地 MCP 服务器(@cap-js/mcp-server),使 AI 工具能通过 CAP 感知的接口查询 CDS 模型、服务和文档,而非直接读取源码文件。该配置通过 npx 启动本地服务,名称 sap-cap-capire 为自定义标识符,不涉及业务逻辑。MCP 服务器提供编译后模型搜索和文档检索功能,帮助 AI 生成更符合 CAP 语义的代码建议,尤其适用于复杂项目中的模型关系分析。文件需注原创 2026-05-30 10:37:27 · 181 阅读 · 0 评论 -
把 CDS Annotations 当成业务契约来设计,SAP CAP 项目里的注解全景图
摘要: 在 SAP CAP 开发中,模型文件的语义缺失是后期维护的隐患。通过 CDS Annotations 将业务规则(如字段可修改性、校验逻辑、UI 语义等)嵌入模型层,能统一服务、UI 和持久化逻辑。例如: 基础语义:@title 和 @description 提升字段可读性,保持协议中立性; 访问控制:@readonly 和 @Core.Immutable 明确系统边界; 校验规则:@mandatory 和 @assert.format 集中校验逻辑,避免前后端不一致; 服务暴露:@cds.auto原创 2024-02-25 10:32:25 · 716 阅读 · 0 评论 -
知其雄守其雌为天下谿在 SAP CAP 开发中的落地之道
在 SAP CAP 项目里,最容易被团队反复争论的地方,往往不是某一行 JavaScript 或 Java 代码该怎么写,而是我们到底要把能力做得多强,把边界收得多稳。有人希望服务足够灵活,所有业务规则都能通过自定义代码兜住;也有人希望模型足够朴素,尽量把 CRUD、校验、权限、草稿、分页、搜索交给框架。老子说「知其雄,守其雌,为天下谿」,放到 SAP CAP 里看,正好落在这个分寸上。所谓「雄」,是强,是外放,是架构师对复杂场景的掌控力,是微服务、事件驱动、多租户、扩展性、集成、性能优化这些显性的技术能力原创 2024-01-19 18:23:03 · 943 阅读 · 0 评论 -
贵师而爱资,在 SAP CAP 开发里守住模型、运行时与人的清明
《道德经》智慧在SAP CAP开发中的实践启示 摘要: 本文巧妙结合《道德经》"贵其师,爱其资"的思想与SAP CAP开发实践,指出开发者应当尊重CAP框架的设计范式(师),同时善用业务差异和历史遗留(资)。在CAP开发中,过度依赖自定义代码(虽智大迷)会导致框架价值流失,而恰当使用CDS建模、通用服务和扩展机制,才能实现业务意图的清晰表达。文章通过订单管理、多租户等案例,说明如何在模型驱动与业务现实间保持平衡,让CAP的声明式特性与HANA的计算能力各展所长,最终构建出既规范又灵活的企业级应用。原创 2024-01-19 18:33:51 · 943 阅读 · 0 评论 -
分享一个专门用于 SAP 开发的 Claude Code Skill 插件集合
本文介绍了Claude Code学习笔记系列和一个专为SAP技术开发设计的Skill插件集合。该插件集成了ABAP、SAP UI5、Fiori Elements等多种SAP开发技术,通过自然语言指令即可调用。作者以创建CAP服务为例,展示了插件自动完成项目初始化、依赖安装、服务配置等全流程操作。重点介绍了sap-cap-capire技能,它整合了22个参考文档和8个生产模板,支持从数据建模到部署的完整开发生命周期,并具备实时查询CDS模型结构的能力。安装和使用方法详见GitHub仓库README。原创 2026-05-22 10:25:26 · 391 阅读 · 0 评论 -
天下皆知美之为美,CAP 开发里的克制、分寸与长期可维护性
《道德经》智慧在SAP CAP项目中的技术启示:当"美"与"善"被绝对化时,原本的优势可能转化为工程隐患。文章指出CAP项目常见误区并非技术实现,而是过早固化对"完美设计"的认知,如过度抽象模型、滥用泛型服务、强求统一入口等。通过分析CDS建模、服务边界、事件处理、权限设计等核心场景,揭示"完整≠全部"的工程哲学,强调保持技术方案边界感的重要性。文中结合SAP官方文档,说明CAP设计本意是关注点分离而非功能堆砌,建议团队在领域建原创 2025-05-08 18:36:40 · 1733 阅读 · 0 评论 -
常无欲以观 CAP 之妙,常有欲以观企业应用之徼
摘要: 在 SAP CAP 项目开发中,技术欲望常导致过早陷入微服务、事件驱动等技术细节,而忽视业务本质。CAP 的核心价值在于引导开发者回归业务语言与领域模型,通过 CDS 建模捕捉业务骨架而非数据库表结构。开发初期应保持「无欲」——专注领域对象与关系,让业务逻辑自然呈现;后期则需「有欲」——明确服务边界、权限控制等系统约束。CAP 的妙处在于平衡声明式建模与命令式扩展,避免过度技术化,真正实现「以业务观技术」而非「以技术扭曲业务」。原创 2025-05-19 12:09:09 · 1841 阅读 · 0 评论 -
从无名到有名,老子这句话给 SAP CAP 开发的一条架构心法
本文探讨了《道德经》中「无名」与「有名」思想在SAP CAP开发中的实践应用。文章指出,CAP开发应遵循从「无名」到「有名」的演进过程:在「无名」阶段保持开放心态观察业务本质,避免过早固化模型;在「有名」阶段通过CDS精准定义领域模型、服务和事件,形成系统契约。作者强调,良好的命名不是简单的标签,而是建立可扩展的业务语义基础,使数据库结构、OData服务和业务逻辑能自然生长。文章还分析了服务层和事件层的命名原则,指出清晰的命名架构是发挥CAP开箱即用能力的关键,让系统从函数式调用转向事件驱动的云原生架构。原创 2025-05-29 23:31:38 · 895 阅读 · 0 评论 -
使用 Cloud Application Programming 模型开发 OData 的一个实际例子
刚刚过去的SAP TechEd上,SAP CTO Juergen Mueller向外界传递了一个重要的信息:身处云时代大环境下的SAP从业者,在SAP云平台上该如何选择适合自己的开发方式?Juergen Mueller用了一棵决策树来向大家介绍,对于拥有不同开发技能水平的SAP从业者,可以按照这棵树,根据自身情况和项目需要来选择不同层次和组合的开发工具以及编程模型。上图右边的分支表明,如果不......原创 2019-12-30 13:29:25 · 1611 阅读 · 0 评论 -
Cannot find package module @sap/cds/common
我在做SAP Cloud Application Programming 练习时,执行下列两条命令后:cds init bookshopcds watch bookshop遇到这一条错误消息:cannot find package module @sap/cds/commonnpm install之后,问题解决,现在错误消失了:@sap/cds/common 位于node_modules文件夹下,例子程序中的Currency,Country等类型和entity等等,就出自这个资原创 2021-04-08 11:50:17 · 647 阅读 · 0 评论 -
SQLITE_ERROR - table sap_capire_bookshop_books has no column named currency
在做 SAP Cloud Application Programming 练习时,遇到如下的错误消息:SQLITE_ERROR: table sap_capire_bookshop_books has no column named currency在我的 schema 定义里,Books entity 里确实存在一个叫做 currency 的字段,但其数据类型为 Currency,来自 @sap/cds/common,而非 built-in 数据类型比如 Integer,String,Decimal原创 2021-04-08 18:29:31 · 643 阅读 · 1 评论 -
安装 SAP Cloud Application Programming SDK @sap/cds-dk 时报错以及解决方案
我使用下列命令行安装 SAP Cloud Application Programming 开发SDK时,遇到下列错误消息:EEXIST file already existsEEXIST: file already exists, cmd shim ‘C:\app\node-v12.18.3-win-x64\node_modules@sap\cds-dk\bin\cds.js’ -> ‘C:\app\node-v12.18.3-win-x64\cds’使用选项 --force,问题即原创 2021-04-08 12:01:32 · 732 阅读 · 1 评论 -
SAP Cloud Application Programming 里的@(path) 注解
标题:SAP Cloud Application Programming 里的@(path:’/browse’)service 实现的 .cds 文件源代码:using { sap.capire.bookshop as my } from '../db/schema';service CatalogService @(path:'/browse') { @readonly entity Books as SELECT from my.Books { *, author.name as a原创 2021-04-08 20:02:22 · 572 阅读 · 0 评论 -
SAP Cloud SDK for JavaScript 概述
原文链接TypeScript 和 JavaScript 开发人员,这是为您准备的:SAP Cloud SDK (fka SAP S/4HANA Cloud SDK) 现在可用于 JavaScript。 今天,我们很自豪地发布了适用于 JavaScript 的 SAP Cloud SDK 1.0.0 版。 这是继去年 10 月开始的测试版之后,第一个通用的、高效的 JavaScript 库版本。与适用于 Java 的 SDK 类似,适用于 JavaScript 的 SAP Cloud SDK 使在 SA原创 2021-07-18 15:27:18 · 711 阅读 · 0 评论 -
如何给基于 SAP Cloud SDK 的应用增添缓存支持 Cache support
摘要 本文介绍了如何在SAP Cloud SDK应用中实现缓存功能以提升性能。缓存通过存储重复请求的数据来减少带宽消耗和服务器负载,特别适用于频繁读取大数据块的场景。文章解释了缓存工作原理(命中/未命中机制)及适用条件,并详细展示了如何在OData调用中配置缓存:通过ResilienceConfiguration设置缓存时间(如10秒)和参数处理(无参数或指定参数)。实施后,后续请求将显著提速。该方案采用JCache标准,推荐使用Caffeine作为缓存实现。原创 2021-08-26 14:34:29 · 523 阅读 · 0 评论 -
SAP Cloud Application Programming bookshop 例子 Vue页面不能正常显示的原因分析
我在本地用cds run 命令启动 SAP Cloud Application Programming 应用后,访问如下 url:http://localhost:4004/vue/index.html发现 Chrome 开发者工具里有一些错误消息,导致页面无法正常渲染:仔细观察这个vue应用,发现它调用了下列这个endpoint:endpoint返回的结果里,genre和currency字段都是空的:而最后 Vue 页面,需要显示 genre结构的name字段:解决方案将genre对原创 2021-04-09 09:43:11 · 527 阅读 · 1 评论 -
SAP Cloud Application Programming CDS 模型间 association 的设置
本文提到的在线书店的例子,参考 Jerry 的文章:SAP Cloud Application Programming 介绍 - 2021 更新版我定义了两个业务模型,名称分别为 Books 和 Authors, 其中 Books 模型有一个名为 author 的字段,该字段通过 Association, 关联到 Authors 模型。因为这里使用的是 Association to,而非 Association to many,所以语义上表达的是一本书有且仅有一位作者。那么涉及到具体的业务数据,从书籍原创 2021-04-09 22:02:09 · 733 阅读 · 1 评论 -
使用 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 · 961 阅读 · 0 评论 -
一个典型的使用 SAP Cloud Application Programming 模型开发的 Fiori 应用
这个应用的完整代码,在这里可以下载。这个项目的层级结构如下图所示:bookshop 文件夹该文件夹下包含了基于 SAP CAP 编程模型实现的服务和测试数据。进入文件夹,执行命令 cds run:能看到这个自动生成的测试页面,点击 url 可以测试服务,看到调用后产生的输出:一个例子:fiori 文件夹包含了图书管理,浏览和订单三个应用,分别存储在三个文件夹里。每个 Fiori 应用也是基于 Fiori Elements 开发,消费的 OData 服务正是同一项目内基于 CAP原创 2021-08-27 13:42:32 · 670 阅读 · 0 评论 -
使用 Visual Studio Code SQLite 扩展来浏览 SAP Cloud Application Programming 数据库
在 SAP Cloud Application Programming 编程模型里,我们可以使用下面的命令行,使用持久化数据库( persistent database ) 来存储 entity 的数据。cds deploy --to sqlite:my.dbcds deploy --to sqlite:my.dbfilling sap.capire.bookshop.Authors from db\data\sap.capire.bookshop-Authors.csvfilling sap.原创 2021-04-08 22:18:54 · 1022 阅读 · 1 评论 -
SAP Cloud Application Programming bookshop 例子的 Fiori Preview
进入 bookshop 文件夹,命令行 cds watch,以 development mode 启动应用:点击超链接,即可通过 Fiori Elements 预览这些 service:预览的 url 具有如下格式:http://localhost:4004/$fiori-preview/AdminService/Authors#preview-app&/?sap-iapp-state=TASRX3O48Z84SZOSVLFJIN3LXDYTC5OS1ESIVYQNV查询 Author原创 2021-04-09 09:57:19 · 591 阅读 · 0 评论
分享